onemansroad
26-09-2006, 13:26
Moin moin,
ist es möglich in einem onclick() eine PHP-Funktion auszuführen ?
Wenn ja wie ? Wenn nein (was ich annehmen muss da PHP auf m server und JS vom client interpretiert wird) was könnte man alternativ machen ?
Die Funktion soll eine Datenbank abfragen und ein paar Variablen deklarieren ( aber die zu schreiben ist ja nicht das problem ;) )
Hab mich mit JS bisher leider kaum beschäftigt .
Danke vorweg :)
php ist serverseitig und nicht clientseitig
du kannst höchstens eine seite aufrufen mit onclick und auf dieser seite php ausführen
mods plz move
onemansroad
26-09-2006, 13:33
klar is PHP serverseitig.. hab ich ja geschrieben oder !?
Hm, ja hatte ich mir auch schon überlegt... hm.. ich probier das mal so aus.. ich hoffe es gelingt.
Grüsse
du hast es gewollt
datei wo man klickt also klick.php oder auch html
<html>
<head>
<title>waschmittel</title>
<script language="JavaScript">
var xmlHttp;
function show(s)
{ // alert(s);
xmlHttp=getXMLRequest();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="server.php";
url=url+"?q="+s+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//ende von show
function stateChanged()
{
if (xmlHttp.status == 200 )
{
document.getElementById("txt").innerHTML=xmlHttp.responseText;
}
}
function getXMLRequest( )
{
var xmlHttp = false;
try
{
// Internet Explorer
if( window.ActiveXObject )
{
for( var i = 5; i; i-- )
{
try
{
if( i == 2 )
{
xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
}
// try to use the latest msxml dll
else
{
xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
}
break;
}
catch( excNotLoadable )
{
xmlHttp = false;
}
}
}
// Mozilla, Opera und Safari
else if( window.XMLHttpRequest )
{
xmlHttp = new XMLHttpRequest();
}
}
catch( excNotLoadable )
{
xmlHttp = false;
}
return xmlHttp ;
}
</script>
</head>
<body >
<a href="javascript:show('HALO WELT')">
klick mich</a>
<div id="txt" style=" background:#E6F4D0;" width="100%" align="center">
hier muss die code kommen
</div>
</body>
</html>
und das hir ist deine php datei die funktionalität bietet server.php
<?php
if(!isset($_GET['q'])){
echo "hallo ich bin eine phpdatei drücke die Tasten";
}
else{
echo "ich bin ".$_SERVER['PHP_SELF']." <br />";
echo "<h1>".$_GET['q']."</h1>";
}
?>
onemansroad
26-09-2006, 14:54
hm... ehrlich danke für die hilfe.. aber wo ist das die onklick-Prozedur oO.
was ich brauche ist wohl nur hal so lang ;)
Stellt euch einfach nur vor ich habe auf einer seite viele viele bilder und möchte an den server die ID des bildes schicken auf das geklickt wurde (diese ID brauche ich dann in einer PHP-Variablen)
Grüsse
Original geschrieben von onemansroad
hm... ehrlich danke für die hilfe.. aber wo ist das die onklick-Prozedur oO.
was ich brauche ist wohl nur hal so lang ;)
Grüsse
das
<a href="javascript:show('HALO WELT')">
kannst du mit dem onclick vergleichen
--------------------------------------------------
<<Stellt euch einfach nur vor ich habe auf einer seite viele viele bilder und möchte an den server die ID des bildes schicken auf das geklickt wurde (diese ID brauche ich dann in einer PHP-Variablen)>
AJAX schmekt dir nicht? :)
wenn du willst, dass du nach dem cklik direkt zu einem php-script witer gehst, dann machst du einfach deine bilder in einem <a> tag, und hängst an den link deine id an z.b.s href="url?id=".$id.""
wenn du aber der request dynamisch in hintergrund auslösen willst, dann bleibt dir leider auser AJAX(was isch dir in meinem Beispiel gezeigt habe) nur java- Applet oder Flash.
wenn du dich für AJAX entscheidest, dann wird deine javascript code noch ein wenig mehr als in meinem Beispiel wachsen.
onemansroad
26-09-2006, 16:15
joar letzeres hatte ich mir auch überlegt..
würde das auch im header funktionieren ? Quasi wie der unterschied von GET und POST
(oder denke ich gerade wirr *G*)