Hilfe!

kesnw

Erfahrenes Mitglied
Folgende Anfrage funktioniert nicht, warum?

Hab bis jetzt noch kein einziges mal eine funktionierende if-Anweisung implementieren können. Woran kann das liegen? Ich möchte dass die if-Anweisung nach drücken des Submit-Buttons ausgeführt wird.

<html>
<form action="<? echo $PHP_SELF; ?>" method="POST">
<input type="text" name="textfeld1">
<input type="submit" name="submit" value="Go!">
</form>
<?
if(!isset($_POST["submit"])){
echo $textfeld1;
}
?>
</html>

DANKE
 
1) Gewöhn dir an aussagekräftige Betreffs zu schreiben und nicht so ein HILFE Kram. Hattest du bisher in jedem deiner Threads. Wozu ? Das jemand der eine Frage postet Hilfe braucht, sollte hinlänglig bekannt sein (Siehe dazu auch Netiquette §11)

2) Wir haben hier auf dem Forum Tags wie [ php ] [ /php ] und [ code ] [ /code ]. Bitte nutze einen von beiden, wenn du Quellcode postest.

3) Zu deinem Problem.
a) $PHP_SELF bitte ersetzen durch $_SERVER['PHP_SELF']

b) if(!isset($_POST["submit"])){ trifft nur dann zu, wenn $_POST["submit" nicht gesetzt ist (dem ! sei Dank), das willst du aber nicht. Also müsstest du prüfen if(isset($_POST['submit'])) { man beachte die Singlequotes ' an Stelle der Doublequotes " in der Elementklammer

c) Für dein Problem viel sinnvoller wäre ein Check, der im allgemeinen so aussieht if($_POST['buttonname'] == "buttonvalue") { ... und in deinem speziellen Fall if($_POST['submit'] == "Go!") {


In diesem Sinne fröhliches Schaffen und bitte in Zukunft an die Netiquette halten.
 
Zuletzt bearbeitet:
Geht leider immernoch nicht

Vielen Dank,

leider tut das immernoch nicht. Wenn ich was ins Textfeld eintrage und "Go!" drücke, wird das Textfeld wieder gelöscht und ich befinde mich im Ausganszustand. Ich bin echt langsam em Verzweifeln...

Hier der aktuelle Code:

Code:
<html>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="text" name="textfeld1">
<input type="submit" name="submit" value="Go!">
</form>
<?
if($_POST['submit'] == "Go!") {
echo $textfeld1;
}
?>
</html>
 
Sorry mein Fehler, hatte ich nicht gesehen. Setz dich mal mit der Problematik rund um die Begriffe register_globals und superglobale Arrays (resp. $_POST , $_GET, $_SERVER) auseinander
PHP:
<html>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="text" name="textfeld1">
<input type="submit" name="submit" value="Go!">
</form>
<?
if($_POST['submit'] == "Go!") {
echo $_POST['textfeld1'];
}
?>
</html>
So wirds sicherlich gehen.
 
ich würds so machen:

PHP:
<?
if(!empty($_POST['textfeld1'])) {
echo $textfeld1;
}
?>

damit überprüfst du, ob das textfeld leer war oder nich, wenn nich, wird der inhalt ausgegeben...
 
ES FUNKTIONIERT!

Vielen Dank, jetzt funktioniert es!

Ich habe aber demnächst bestimmt noch mehr Fragen ;)

Grüße,
KAI
 
Zurück