PHP-Funktion in JavaScript ausführen
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:
Das Code-Tag wird schon wieder nicht angezeigt!
Gruß
Andy
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:
<?php
function test()
{
echo "Test";
}
echo '<script type="text/javascript">
if(window.confirm("Wollen Sie das wirklich tun?") == true)
{
//Funktion -Test- ausführen
}
</script>';
?>
Das Code-Tag wird schon wieder nicht angezeigt!
Gruß
Andy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205107
Url: https://administrator.de/contentid/205107
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
7 Kommentare
Neuester Kommentar
Hi Andy,
genauso wie du im PHP-Code JS ausgibst, . . .
. . . gibst du im JS-Code PHP aus.
Gruß
Günni
genauso wie du im PHP-Code JS ausgibst, . . .
echo '<script type="text/javascript">
if(window.confirm("Wollen Sie das wirklich tun?") == true)
{
//Funktion -Test- ausführen
}
</script>';
. . . gibst du im JS-Code PHP aus.
<?php
function test(){
echo "Ich bins, PHP";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<script type="text/javascript">
<!--
if(window.confirm("Wollen Sie das wirklich tun?") == true)
{
document.write("<?php test();?>"); //Den PHP-Code ins Dokument schreiben.
}
// -->
</script>
</body>
</html>
Gruß
Günni
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:
<?php
function test(){
$conn = mysql_connect("localhost","user","passwort");
mysql_select_db("test");
$query = "select * from tabelle2";
$result = mysql_query($query, $conn);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
echo implode(' | ',$row).'<br>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
function test(){
document.write("<?php test();?>");
document.write('<a href="javascript:window.history.back()">Zurück</a>');
}
// -->
</script>
</head>
<body>
<a href="javascript:test()">Test</a>
</body>
</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:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
function test(){
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 |
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 |
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 |
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 |
lager | 2010<br>21 | Martina | Schimanski | 987654 | Buxtehude | lager | 2011<br>23 | Hans | Schmidt | 8854844 | Viersen | lager | 2011<br>");
document.write('<a href="javascript:window.history.back()">Zurück</a>');
}
// -->
</script>
</head>
<body>
<a href="javascript:test()">Test</a>
</body>
</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