Javascript mit PHP verbinden
Stefan
- javascript
Hallo, Ich hab mal bitte ne Frage, wieso das nicht funtkioniert?
<script type="text/javascript">
function setLink(theObject, theLink)
{
var id = theObject.options[theObject.selectedIndex].id;
<?=
//Zauber auslesen
$qry5="SELECT * FROM zaubersprueche WHERE level <= '$zaubernfuser' AND ( klasse = '$klasseuser' OR klasse = '*' ) AND ( rasse = '$rasseuser' OR rasse = '*' ) AND mana <= $manauser AND (orden = '$ordenuser' OR orden = '' ) ORDER BY orden, mana";
$zab5=mysql_query($qry5)or die("<b>FEHLER in SQL-Syntax in Linie ".__LINE__.":</b><br>".$qry."<br><b>Fehler</b><br>".mysql_error());
while($za5=mysql_fetch_array($zab5))
{?>
if(id == <?= $za5["id"]; ?>)
{
document.getElementById(theLink).onMouseOver = 'return overlib("<?= getZauberBeschreibung($za5); ?>");';
}
<?= } ?>
</script>
poste doch mal den Code, wie er im Browser ankommt
Code wie er im Browser ankommt:
Parse error: syntax error, unexpected '}' in /var/www/web1/web/docs/zauberdetails.php on line 65
Also ein PHP-Problem und nicht JavaScript!
Und was genau steht in der angegebenen Zeile Nr. 65?
Hallo,
1.) Warum benutzt du <?= statt <?php wie alle anderen auch?
2.) Dein Code ist sowas von schwer zu lesen, weil du php wahllos mit js mischtst.
Mein Vorschlag: Pack die Javascript-Anweisungen in Variablen und gib sie z.B.: mit echo $var aus, dann kann man es auch lesen.
3.) Daher kommt wahrscheinlich auch der Fehler: Der PHP-Interpreter bekommt versehentlich eine Klammer ab, die für JS bestimmt ist.
Gruß, thomas
Du hast nicht nur Fehler im PHP Code, auch dein Javascript ist nicht funktionsfähig.
document.getElementById(theLink).onMouseOver = 'return overlib("<?= getZauberBeschreibung($za5); ?>");';
Was soll hier passieren? Du weist hier einer selbdefinierten Eigenschaft eines Objektes (das hoffentlich an dieser Stelle schon existiert) Namens onMouseOver einen String zu. Sonst passiert nicht.
Du solltest dich mal genauer mit JS Events befassen. Dein aufruf könnte z.b. so aussehen:
var el = document.getElementById(theLink);
if(el) el.onMouseOver = function(e) { return overlib(...); };
Struppi.
var el = document.getElementById(theLink);
if(el) el.onMouseOver = function(e) { return overlib(...); };
Arghhh, zu schnell
~~~javascript
var el = document.getElementById(theLink);
if(el) el.onmouseover = function(e) { return overlib(...); };
Struppi.
Hi,
Hallo, Ich hab mal bitte ne Frage, wieso das nicht funtkioniert?
weil Du versuchst, die Client- und die Serverseite miteinander zu vermischen. Zwei Welten, die ebenso strikt voneinander getrennt sind, wie Frauen im Schuhgeschäft und rationales Denkvermögen: Es gibt immer nur eines von beiden, niemals beide gemeinsam.
Cheatah
Problem gelöst:
#############
1.Javascript kann man mit PHP mischen, man verwendet dazu <?= ?> und nicht <?php ?>
2.Alle Funktionen im Code sind vorhanden, jedoch für dieses Problem nicht von Belang, da diese problemlos funktionieren.
3.Problem gelöst.
Lösung:
Der Code funktioniert einwandfrei.
Hatte ihn nur an der falschen Stellen im Gesamtcode eingefügt sodass zum Beispiel $zaubernfuser etc. leer waren da die userdaten noch nicht ausgelesen waren. Daher die Fehlermeldung
Danke an alle ;)
2.Alle Funktionen im Code sind vorhanden, jedoch für dieses Problem nicht von Belang, da diese problemlos funktionieren.
Das funktioniert sicher nicht:
document.getElementById(theLink).onMouseOver = 'return overlib("<?= getZauberBeschreibung($za5); ?>");';
Struppi.
echo $begrüßung;
1.Javascript kann man mit PHP mischen, man verwendet dazu <?= ?> und nicht <?php ?>
Man kann mit PHP jegliche Art von Ausgae erzeugen, auch Javascript-Code. Soweit richtig. <?= ... ?> und <?php echo ... ?> sind aber gleichwertig und gegeneinander austauschbar (abgesehen vom bekannten Nachteil der short_open_tag=on-Konfiguration).
echo "$verabschiedung $name";