Hallo,
jau...ich bins schon wieder...
Hab diesmal wieder ein Problem, dessen Lösung mir als altem BASIC- und Assembler- Programmierer zwar logisch erscheint - aber real leider nicht unter HTML bzw. PHP funktioniert.
Hier mein jetziges Problem:(als Beispiel wieder die Fussballspieler)
Es gibt derzeit zwei Seiten: 1. spieler.html und 2. spielerdaten.php .
Von der hauptseite.html erreicht man die spieler.html mittels "<a href....".
Der Aufbau der spieler.html ist wie folgt: ganz oben = LABEL, ca. in der Mitte befindet sich links ein Eingabefeld, scrollbar, mit vorgegebenen Suchwörtern. Rechts daneben das Ausgabefeld (Tabellenform) für die anzuzeigenden Suchergebnisse.
Die gesamte untere Hälfte des Bildschirmes besteht aus einer scrollbaren Tabelle mit den einzelnen Spielern und deren Eigenschaften.
Mittels "<select name='suchwort'>", "<option>...", und "<input..." wird über "<form action = 'spielerdaten.php'>" gleichnamige Datei aufgerufen, was auch prima funktioniert.
Die Aufgabe der spielerdaten.php ist nun, anhand des vorgegebenen Suchwortes die Namen der passenden Spieler rauszusuchen und in ein Array zu übertragen. So weit bin ich aber noch nicht. Wie dies zu programmieren ist, hab ich aber vor Augen.
Der augenblickliche Stand für einen Testlauf ist der:
<?php
$name = $_POST[suchwort];
echo $name
?>
Wenn ich dies laufen lasse, erscheint also der Inhalt der Variablen $name auf weissem Hintergrund. Heisst, der Testlauf endet hier und funktioniert.
Nun möchte ich aber, dass der Inhalt von $name in dem vorgegebenen Ausgabefeld auf der spieler.html erscheint! Was mache ich also - weils mir logisch erscheint - ich springe mit "header ('location: spieler.html');" wieder zurück zu besagter Datei (was übrigens auch klappt; die Variable $name dürfte sich eigentlich nicht verändern, oder?) und an der Ausgabeposition füge ich ein:
<?php
echo $name;
echo "test";
?>
Angezeigt wird nichts! Ich habe schon mit vielen Umstellungen experimentiert, z.B.
<?php
echo "
<td> ... usw
?>
Nix!
Allerdings erhalte ich auch keine Fehlermeldung (parse error etc.)
Ich würde mich auch nicht scheuen, die Datei spieler.html in spieler.php umzubenennen und komplett in PHP zu schreiben. Trotzdem würde eine andere Datei aufgerufen, was mir nicht gefällt.
Gibt es eine Möglichkeit, mit "<form action = 'spielerdaten.php'>" statt einer Datei eine Funktion aufzurufen? Etwa so: "<form action = 'funktion'>"? Oder funktioniert $_POST auch rückwärts?
Beispiele zur Lösung meines Problems habe ich leider nicht gefunden. Ich hoffe, hier ist jemand, der mir helfen kann.
Hier vielleicht nochmal der wichtigste Code:
spieler.html:
...
<form action="spielerdaten.php" method="POST">
<select name="suchwort"><option>Wählen Sie ein Suchwort</option>
<option>Linksfuss</option><option>Rechtsfuss></option>...usw
...
</select>
<input type="submit" name="Name" value="Suchen"></input>
</form>
<td valign="top"; style="font-size:12; color:white;">Folgende Spieler entsprechen Ihrer Suche:<br>
<font face="arial" size="2" color="yellow">
//Beginn des problematischen Teils
<?php
echo $name;
echo "test";
?>
</font>
</td>
...