• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Problem mit Programmieren, PHP-Benutzereingabe?

Pänat

Newbie
Hallo das sind meine drei Sites:

eins:

<form action="daten2.php">
Eingabe:
<input type="text" name="test">
<input type=submit name="daten2.php" value="Ordner anzeigen">
<?php $test=$test; ?>
</form>
<br>
<form action="index.php">
<input type=submit name="index.php" value="Startseite">
</form>
</body>
</html>

zwei:

<?php echo $test; ?>
<br><br><br><br>
<form action="berechnung.php">
<input type="text" name="teste">
<input type=submit name="berechnung.php" value="Datei anzeigen">
<?php
echo $test;
$test=$test;
$teste=$teste; ?>
</form>
<?php $test=$test;
$teste=$teste; ?>
</body>
</html>

drei:

Datei wurde bereitgestellt!
<br>
Bitte auf "weiter" klicken!
<br>
<form action="/windows/C/ordner/<?php echo $test ?>/<?php echo $test2 ?>">
<input type=submit name="/windows/C/ordner/<?php echo $test ?>/<?php echo $test2 ?>" value="weiter">
</form>

Man geht von der ersten zur zweiten und dann zur dritten Seite.
So nun das Problem:
Er akzeptiert die Werte:
$test und
$teste
nur auf der nächsten Seite aber nicht weiter. Ich weis nicht woran das liegt. Sitz schon ein paar Std davor und hab mir von selfhtml über selfphp nach www.php.net alles angeguckt, aber nichts hat mir geholfen. Ich hoff ihr könnt mir helfen.
 

wumpfreak

Newbie
eins:
...
<?php $test=$test; ?>
....

Hmm das $test=$test ist an dieser Stelle vollkommen unnütz (genau wie die anderen Zuweisungen der restlichen Seiten.
Ich denke mal, Du hast folgende wichtige Sache noch nicht ganz verstanden: Die Variable $test existiert erst auf der 2.Seite!!! (PHP Läuft nur auf dem Server. Es kann gar nicht wissen, was der Benutzer im Browser eingibt. Erst nach dem Senden des Formulars gibt es $test in der aufgerufenen Seite

Also:
- Auf Seite 1 gibt es keine Variablen (es sei denn du erzeugst eine UND weist ihr einen Wert zu)
- Auf Seite 2 hat $test den Wert, der auf Seite 1 eingegeben wurde, testen ist hier noch leer (und auf dieser Seite nutzlos)
- Auf Seite 3 existiert nur $teste, da $test kein Formularinhalt von Seite 2 war.

Ich empfehle Dir DRINGEND ein PHP-Buch. Mir hat am Anfang das PHP4-Einsteigerseminar aus dem BHV-Verlag sehr geholfen. Kostet nur 9,90 Euro und ist für Newbies sehr empfehlenswert!

Viele Grüße
Stephan
 
OP
P

Pänat

Newbie
Ich hab die Sachen (Punkt 1+2) da nur für mich hingeschrieben, zur Überprüfung. Hätte sie wohl zur Verständnis auch rausnehmen müssen. Aber der dritte Punkt ist das Problem. Ich wußte das mit dem Formular nicht. Wie kann ich es jetzt schaffen das $test mit übernommen wird?
 

moenk

Administrator
Teammitglied
Das kannst Du mit einem versteckten Eingabefeld übergeben. Aber wirklich, probier erst mal mit einem Buch dich mehr in PHP einzuarbeiten, selfphp ist zwar als Referenz ganz schön, als Kurs aber nicht der erste Wahl.
 

wenf

Hacker
eins:

<form action="daten2.php">
Eingabe:
<input type="text" name="test">
<input type=submit name="daten2.php" value="Ordner anzeigen">

</form>
</body>
</html>

zwei:

<?php echo $test; ?>
<br><br><br><br>
<form action="berechnung.php">
<input type="text" name="teste">
<input type="hidden" name="test" value="<?php echo $test; ?>">
<input type=submit name="berechnung.php" value="Datei anzeigen">
<?php
echo $test; ?>
</form>
</body>
</html>

drei
<?php
echo $test;
echo $teste;
?>
 
Oben