Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP-Funktion in JavaScript ausführen

Frage Entwicklung PHP

Mitglied: AndyAh

AndyAh (Level 2) - Jetzt verbinden

17.04.2013, aktualisiert 07:24 Uhr, 27107 Aufrufe, 7 Kommentare

Hi NG,

wie führe ich eine PHP-Funktion mir JavaScript aus? Sowohl die PHP-Funktion als auch das JavaScript stehen in der selben PHP-Datei.

Code:

01.
 
02.
<?php 
03.
 
04.
function test() 
05.
06.
   echo "Test"; 
07.
08.
 
09.
echo '<script type="text/javascript"> 
10.
      if(window.confirm("Wollen Sie das wirklich tun?") == true) 
11.
      {  
12.
        //Funktion -Test- ausführen 
13.
14.
      </script>';   
15.
?> 
16.
 
Das Code-Tag wird schon wieder nicht angezeigt!

Gruß
Andy
Mitglied: Hitman4021
17.04.2013 um 07:56 Uhr
Hallo,

sowas macht man normalerweise über einen Ajax Request.
Soweit ich weiß gibt es auch keine Möglichkeit diese Funktion so auszuführen.

Gruß
Bitte warten ..
Mitglied: AndyAh
17.04.2013 um 08:16 Uhr
Hi,

gibst du mir evtl. ein paar deutschsprachige Links zu diesem Thema? Ich habe mich damit noch nicht auseinandergesetzt.

Gruß
Andy
Bitte warten ..
Mitglied: michi1983
17.04.2013 um 09:52 Uhr
Hallo,

ist das denn überhaupt möglich?
PHP ist ja serverseitig und Javascript is clientseitig.
Oder irre ich, dass das nicht funktionieren kann weil das Javascript ja erst geladen wird wenn die Seite komplett geladen ist?

MfG
Michi
Bitte warten ..
Mitglied: dog
17.04.2013 um 10:17 Uhr
ist das denn überhaupt möglich?

Jein.
PHP kann nicht mit Javascript interagieren (außer über AJAX).
Man kann aber in PHP einen JS-Funktionsaufruf ausgeben, der nach dem Laden der Seite ausgeführt wird.
Bitte warten ..
Mitglied: Guenni
17.04.2013 um 11:47 Uhr
Hi Andy,

genauso wie du im PHP-Code JS ausgibst, . . .

01.
echo '<script type="text/javascript"> 
02.
      if(window.confirm("Wollen Sie das wirklich tun?") == true) 
03.
      {  
04.
        //Funktion -Test- ausführen 
05.
06.
      </script>';  
. . . gibst du im JS-Code PHP aus.

01.
<?php 
02.
function test(){ 
03.
 echo "Ich bins, PHP"; 
04.
05.
?> 
06.
 
07.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
08.
<html> 
09.
<head> 
10.
<title>Untitled</title> 
11.
</head> 
12.
<body> 
13.
<script type="text/javascript"> 
14.
<!-- 
15.
if(window.confirm("Wollen Sie das wirklich tun?") == true) 
16.
      {  
17.
        document.write("<?php test();?>"); //Den PHP-Code ins Dokument schreiben. 
18.
19.
 
20.
// --> 
21.
</script> 
22.
</body> 
23.
</html>
Gruß
Günni
Bitte warten ..
Mitglied: AndyAh
17.04.2013 um 12:44 Uhr
Hi Günni,

danke für den Tip. Es funktioniert.

Gruß
Andy
Bitte warten ..
Mitglied: Guenni
18.04.2013 um 01:16 Uhr
Zitat von AndyAh:
Hi Günni,

danke für den Tip. Es funktioniert.

Gruß
Andy

Hi Andy,

naja, funktionieren . . . Es kommt vielleicht drauf an, was man mit so einem Konstrukt machen will.

Ich hab' hier mal was anderes probiert. Den PHP-Funktionsaufruf lasse ich von einer JS-Funktion ausführen.

Im body-Bereich wird ein Link auf die JS-Funktion gesetzt.

Script:

01.
<?php 
02.
function test(){ 
03.
 $conn = mysql_connect("localhost","user","passwort"); 
04.
	mysql_select_db("test"); 
05.
	$query = "select * from tabelle2"; 
06.
	$result = mysql_query($query, $conn); 
07.
	while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
08.
	 echo implode(' | ',$row).'<br>'; 
09.
10.
11.
?> 
12.
 
13.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
14.
<html> 
15.
<head> 
16.
<title>Untitled</title> 
17.
<script type="text/javascript"> 
18.
<!-- 
19.
function test(){ 
20.
 document.write("<?php test();?>"); 
21.
 document.write('<a href="javascript:window.history.back()">Zurück</a>'); 
22.
23.
// --> 
24.
</script> 
25.
</head> 
26.
<body> 
27.
<a href="javascript:test()">Test</a>  
28.
</body> 
29.
</html>
Klicke ich den Link an, so wird die JS-Funktion aufgerufen, die wiederum ruft die PHP-Funktion auf und "voila": Das Ergebnis der Tabellenabfrage erscheint.

Dass die JS-Funktion die PHP-Funktion "wirklich" aufruft, ist aber (m.M. nach) nur scheinbar. Denn wenn du dir den Quelltext vom Script anzeigen läßt, steht da:

01.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
02.
<html> 
03.
<head> 
04.
<title>Untitled</title> 
05.
<script type="text/javascript"> 
06.
<!-- 
07.
function test(){ 
08.
 document.write("5 | Paul | Dürheim | 68746468 | Krefeld | verkauf | 2001<br>6 | Hans-Dieter-Heinz | Gerhards | 231384354 | Hamburg | verkauf | 2001<br>7 | Paul | Nowottny | 3446168484 |  
09.
 
10.
Osnabrück | einkauf | 2003<br>8 | Günter | Pappon | 01735370126 | Viersen | einkauf | 2004<br>9 | Paul | Kamps | 9154864 | Köln | einkauf | 2006<br>11 | Franz | Xaver | 0987654321 |  
11.
 
12.
Düsseldorf | personal | 2006<br>13 | Horst-Eugen | Flug | 31690 | Viersen | personal | 2006<br>14 | Monika | Junker | 091857365 | Karlsruhe | versand | 2007<br>17 | Monika | Schmidt | 8854844 |  
13.
 
14.
Karlsruhe | versand | 2007<br>18 | Paul | Schmitt-Müller | 8854844 | Trier | lager | 2007<br>19 | Heike | Schmitz | 8854844 | Dortmund | lager | 2010<br>20 | Horst | Schmied | 8854844 | Krefeld |  
15.
 
16.
lager | 2010<br>21 | Martina | Schimanski | 987654 | Buxtehude | lager | 2011<br>23 | Hans | Schmidt | 8854844 | Viersen | lager | 2011<br>"); 
17.
	document.write('<a href="javascript:window.history.back()">Zurück</a>'); 
18.
19.
// --> 
20.
</script> 
21.
</head> 
22.
<body> 
23.
<a href="javascript:test()">Test</a>  
24.
</body> 
25.
</html>
Heißt: Die PHP-Funktion wurde bereits beim Laden der Seite ausgeführt, und die JS-Funktion gibt nur noch das Ergebnis wieder.

Gruß
Günni
Bitte warten ..
Ähnliche Inhalte
JavaScript
gelöst Funktion ausführen nach Refresch von DIV Container (2)

Frage von wiesi200 zum Thema JavaScript ...

JavaScript
Javascript wird nicht komplett angezeigt (2)

Frage von tobmes zum Thema JavaScript ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (23)

Frage von jensgebken zum Thema Windows Server ...

Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (17)

Frage von ahstax zum Thema Visual Studio ...