Weekend_Warrior Geschrieben 9. August 2004 Geschrieben 9. August 2004 Hi, ich will in meinen PHP Teil mit Javascript ein neues Fenster öffnen und Userdaten anzeigen lassen. Es wird eine Schleife durchlaufen, die alle User auflistet, der Nick soll ein Link sein, über den man das neue Fester öffnen kann, jetzt habe ich aber das proglem, dass ich in den Javascipt Teil kein PHP nutzen kann, mach ich was falsch? for($i= 0; $i < $counter; $i++) { $ausgabe.='<a href="#" onMouseOver="window.status=\''$nick[$i].''\;return true" onMouseOut="window.status=\'\';return true" onClick="window.open(\'../profil/info.php?UID=\',\'Bild\',\'width=400,height=400,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no,left=0,top=0,screenx=0,screeny=0\');return false">'.$nick[$i].'</a> '.$gebdate[$i].' '.$full[$i].'<br>'; }[/PHP] Zitieren
robotto7831a Geschrieben 9. August 2004 Geschrieben 9. August 2004 Wieso soll das nicht gehen? Du mußt nur an der entsprechenden Stelle im Link die PHP Sachen ausgeben lassen. Frank Zitieren
geloescht_JesterDay Geschrieben 9. August 2004 Geschrieben 9. August 2004 jetzt habe ich aber das proglem, dass ich in den Javascipt Teil kein PHP nutzen kann, mach ich was falsch? onClick="window.open(\'../profil/info.php?UID=\',\'Bild\', [/PHP] Du kannst in PHP kein Javascript verwenden (oder umgekehrt), das is klar. Erstmal zur Klarstellung: PHP läuft auf dem Server, Javascript auf dem Client! Also mit PHP kannst du die Seite, die der Webserver an den Client (Browser i.A.) schickt vor der Ausgabe beeinflussen. Eine statische HTML-Seite wird so wie sie auf dem Server liegt an den Client gesendet und dieser interpretiert das erhaltene dann und stellt es so dar, wie du es auf dem Schirm siehst. Eine PHP-Seite läuft vor dem Senden an den client erstmal durch den PHP Interpreter. Dieser führt alle PHP Befehle usw. aus und der Webserver liefert an den client die Ausgabe des PHP Interpreters. Alles was im Dokument nicht zwischen <?PHP und ?> steht wird vom Interpreter einfach so wieder ausgegeben. Das was dazwischen steht wird von ihm verarbeitet und nicht ausgegeben, nur Befehle wie [b]Print[/b] oder [b]Echo[/b] (o.ä.) veranlassen den Interpreter zu einer Ausgabe. Am ende des Interpreterprozesses hast du also eine ganz normale Textdatei, die eben in 99,99999% der Fälle als HTML-Datei aufgebaut ist. Diese Datei ist keine Datei wie man das im allgemeinen versteht, sondern liegt nur im Speicher des Webservers vor. Der Webserver sendet diese Datei dann an den Client und er zeigt sie an wie er es bei einer statischen HTML Datei getan hätte. Er merkt also nicht wo die Datei herkommt oder ob es eine PHP Datei ist o.ä. (Benenn mal eine ganz normale HTML Seite als NormaleHTMLSeite.php und nciht NormaleHTMLSeite.html. Wenn du dir die Seite ankuckst wirst du keinen unterschied feststellen, weil es nämlich keinen gibt, ausser das sie den umweg durch den PHP-Interpreter gemacht hat, der aber nichts getan hat ausser sie wieder auszugeben.) Was sagt uns das alles? Dein Javascript benutzt du ganz genauso, wie du es ohne PHP machen würdest. Nur muss es, da es ja innerhalb des PHP-Codes vorkommt so geregelt sein, das das alles in einer Echo (o.ä.) Funktion steht. auf den ersten Blick ist dein Code korrekt, aber es fehlt ein Parameter, nämlich der Parameter UID (bzw. der ist leer). Da ich die Seite info.php nicht kenne weiss ich nicht was da passiert, wenn UID leer ist. Aber vielleicht ist das ja das Problem? Zitieren
Weekend_Warrior Geschrieben 12. August 2004 Autor Geschrieben 12. August 2004 hatte nen kleinen fehler im script, so geht es!!! <a href="#" onMouseOver="window.status=\'Profil von '.$inhalt[U_Nick].'\' ;return true" onMouseOut="window.status=\'\';return true" onClick="window.open(\'../profil/info.php?uid='.$inhalt[U_ID].'\',\'Bild\',\'width=400,height=400,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no,left=0,top=0,screenx=0,screeny=0\');return false">'.$inhalt[U_Nick].'</a> Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.