Mahlzeit udo,
In diesem Fall kommt aus der Datenbank eine Volleyball - Mannschaft, die ich in eine Variable $gegner lege.
Wow - so eine Datenbank hätte ich auch gern! ;-)
Mein Ziel ist aber diese neue Seite so zu filtern, dass nur die Daten der Mannschaft angezeigt werden, die ich angeklickt habe.
echo "<td><a href='javascript:r1221136387();' href='javascript:Form_name.submit();' target='_self'> $gegner </a></td>";
Erstens ist es ungünstig bis ungültig, einem Link zwei "href"-Attribute zu geben. Zweitens gibt es kein Protokoll namens "javascript:".
Ich würde Dir deswegen raten, Deinen Code wie folgt umzustricken:
~~~html
<script type="text/javascript">
[code lang=javascript]function r1221136387(url) {
var myleft = 20;
var mytop = 20;
var settings = 'width=640,height=480,top=' + mytop + ',left=' + myleft + ',scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,dependent=no';
win = window.open(url, 'mypopup', settings);
win.focus();
}
</script>
[...]
<td><a href="http://www..../om_cup/PopupMannschaften.php?gegner=<?php echo [link:http://de2.php.net/manual/en/function.htmlspecialchars.php@title=htmlspecialchars]([link:http://de2.php.net/manual/en/function.urlencode.php@title=urlencode]("php $gegner"));
?>" onclick="Form_name.submit(); r1221136387(this.href); return false;" target="_self"><?php echo htmlspecialchars($gegner);
?></a></td>
[/code]
Warum? Erstens hast Du dann einen echten Link, der auch funktioniert, wenn Deine Besucher kein Javascript (aktiviert) haben. Wenn sie es haben, sollte das Formular abgeschickt sowie das Popup geöffnet und danach der Link nicht angesprungen werden.
Zweitens werden die Sonderzeichen, die ggf. im Mannschaftsnamen enthalten sind, dem Kontext gemäß maskiert.
Drittens kannst Du so die Javascript-Funktion für mehrere Links verwenden, indem Du ihr das Linkziel als Aufrufparameter übergibst.
Ich war davon ausgegangen das die Variable $gegner "unten" im php script "befüllt" wird und danach in die Funktion im head Bereich gesprungen wird.
PHP wird auf dem Server ausgeführt. Sämtliche Variablen stehen nur dort zur Verfügung und auch nur, bis das Skript abgearbeitet ist. Danach hat es (im Normalfall) HTML-Code (ggf. mit eingebettetem Javascript) erzeugt und an den Browser geschickt. Dieser weiß nichts von irgendwelchen PHP-Variablen.
Das bedeutet insbesondere, dass im Javascript-Code nicht auf PHP-Variablen zugegriffen werden kann - außer, Du erzeugst mittels PHP, Javascript-Code, mit dem Du den Wert von PHP-Variablen explizit an Javascript-Variablen übergibst, z.B.
$foo = 'bar';
echo "<script type=""text/javascript"">\n
var baz = '$foo';\n
</script>";
ergibt
<script type="text/javascript">
[code lang=javascript]var baz = 'bar';
</script>[/code]
Ich hoffe das es einen netten Fachmann gibt, der mir trotz meinem gefährlichen Halbwissens weiter helfen kann.
Das trifft's wohl ziemlich genau *eg* ... aber keine Sorge, mit ein wenig Grundverständnis und Dokumentation lesen wird das schon. :-)
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|