If Abfrage Problem

mein_name

Erfahrenes Mitglied
PHP:
<font size="2"><b>
<link rel="stylesheet" type="text/css" href="format.css"/>
<body bgcolor="#000000">
<font color="#f34f08">
<form action="kontakt.php?unten=oben" method="post">
Name:<br/>	
<input type="text" name="name" size="30"><br/>
<br/>
Email-Adresse:<br/>
<input type="text" name="email" size="30"><br/>
<br/>
Ihre Eingabe:<br/>
<textarea name="eingabe" cols="23" rows="6"> </textarea><br/> <input type="submit" value=" absenden "> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value=" löschen ">
</form>
</font>

<?php

$unten = $_POST["unten"];
if ($unten == "oben")
{
mail("meine@emailadresse.at","Nachricht von: ".$name,$eingabe);
echo "is eh gangen";
}
else
{
echo "Fehlermeldung!";
}
?>
</body>
</font></b>

Er hüpft mir zwar in die If-Abfrage, jedoch bekomme ich immer "Fehlermeldung" zurück, da die Variable $unten nicht "oben" ist.*g*
Fragt man als erstes im PHP-Teil die $unten ab, gibt sie "oben" zurück. Prüft man dass jedoch im zweiten Teil der if, nachdem schon "Fehlermeldung" ausgegeben wurde, bekommt man nichts zurück, komisch oder?

Vielleicht kann mir wer, trotz der verwirrenden Variablennamen, helfen!

danke
ciao
 
Zuletzt bearbeitet:
PHP:
$unten = $_POST["unten"];
würde ich so schreiben:
PHP:
$unten = $_POST['unten'];
Also nur einfache '
Keine Ahnung ob das daran liegen kann, aber ich hab trotzdem so das Gefühl, dass man keine Anführungszeichen für Arraykeys nehmen sollte. Oder aber, beim Formular ist einfach was schief gegangen und es steht tatsächlich kein "oben" in der Variable ...

Edit: Gumbo hat natürlich Recht ... Da hätte ich halt auch mal gucken sollen :p
 
Zeichenkettenauszeichnungen werden in PHP überall gleich behandelt, nämlich nach den im PHP-Handbuch beschriebenen Regeln. Es ist also in diesem Fall egal, ob einfache oder doppelte Anführungszeichen benutzt werden. Beide sind in diesem Fall semantisch äquivalent.
 
Weil du "unten" via URL übergibst:
HTML:
<form action="kontakt.php?unten=oben" method="post">

Wenn du via $_POST darauf zugreifen willst, müsstest du den Wert ("oben") in ein (hidden) Inputfeld schreiben ;)

cAm3eel.
 
Du hast ja
PHP:
<form action="kontakt.php?unten=oben" method="post">
also nach kontakt.php im Attribut action="" hast du ein Parameter Namens "unten" mit dem Wert "oben" stehen und Parameter aus URL´s werden wie von Gumbo erklärt mit $_GET[''] geholt.

Hättest du in einem input Tag
PHP:
<input type="text" name="unten" value="oben" size="30">

ein name Attribut mit Titel "unten" und ein value Attribut mit Inhalt "oben" dann würdest du richtig liegen mit $_POST[''].

Du kannst aber auch $_REQUEST[''] nehmen, das funktioniert glaub ich bei beiden Varianten.

edit: oh mist jetzt war der cAm3eel schneller als ich :-)
 
Zurück