Nico: passwort

hallo, seit kurzem versuche ich php zu lernen. ein paar sahcen habe ich schon drauf. leider komme ich beim folgenende quelltext nicht weiter:

<?php
$username = $_POST['schwarzwald'];
$password = $_POST['elche'];

if($username=='schwarzwald' AND $password=='elche') {
echo '<html><body><img src="http://ssvf.de/wasserball/images/elch.jpg"></body></html>';
}
else {
echo 'sie haben sich vertippt';
}

?>

dies ist mein text aus der zweiten datei. index.php, in der das formular steht, ist alles richtig. hier muss irgendwo der fehler tecken. und zwar kann ich eingeben was ich will, immer kommt... sie habens ich vertippt....

kann mir einer helfen ???

vielen dank
nico

  1. Hello,

    hallo, seit kurzem versuche ich php zu lernen. ein paar sahcen habe ich schon drauf. leider komme ich beim folgenende quelltext nicht weiter:

    <?php
    $username = $_POST['schwarzwald'];
    $password = $_POST['elche'];

    Heißen denn die input-Elemente im Formular auch tatsächlich 'schwarzwald' und 'elche'?

    dies ist mein text aus der zweiten datei. index.php, in der das formular steht, ist alles richtig. hier muss irgendwo der fehler tecken. und zwar kann ich eingeben was ich will, immer kommt... sie habens ich vertippt....

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  2. Hallo Nico,

    <?php
    $username = $_POST['schwarzwald'];
    $password = $_POST['elche'];

    if($username=='schwarzwald' AND $password=='elche') {

    dies ist mein text aus der zweiten datei. index.php, in der das formular steht, ist alles richtig. hier muss irgendwo der fehler tecken. und zwar kann ich eingeben was ich will, immer kommt... sie habens ich vertippt....

    kann mir einer helfen ???

    Ist es gewollt, dass das Formularelement genauso heißen soll, wie das richtige Passwort? Ich vermute, du baust in den ersten beiden zeilen inkorrekterweise das passwort ein, anstatt auf den Namen der Formularelemente (bzw. die tatsächlich übergeben POST-Parameter) zuzugreifen.

    Normalerweise macht man ja eher sowas:

    <?php  
    $username = $_POST['uname'];  
    $password = $_POST['upass'];  
      
    if($username=='schwarzwald' AND $password=='elche') {  
    
    

    verbunden mit

    <input type="text" name="uname">
    und
    <input type="text" name="upass">

    Jonathan

  3. $username = $_POST['schwarzwald'];
    $password = $_POST['elche'];

    if($username=='schwarzwald' AND $password=='elche') {

    Zweieinhalb Tipps am Rande:

    Du musst nicht unbedingt die Daten aus der $_POST-Variable erst in eine andere Variable umlagern, nur um sie anschließend in einem Vergleich zu nutzen. Weiterhin hilft es der Übersicht bisweilen ungemein, Klammern und Leerzeichen zu setzen. Also:

    if (($_POST["schwarzwald"] == 'schwarzwald') AND ($_POST["elche"] == 'elche')) {

    dies ist mein text aus der zweiten datei. index.php, in der das formular steht, ist alles richtig.

    Du bist also sicher, dass im Formular zwei <input>-Elemente in dieser Art stecken:

    <input type="text" name="schwarzwald">
    <input type="text" name="elche">

    Ich frage nur, weil mir die Konstellation Elementname = erwarteter Elementinhalt etwas merkwürdig vorkommt. Üblicherweise macht man das ja eher so:

    <input type="text" name="benutzername">
    <input type="text" name="passwort">

    kann ich eingeben was ich will, immer kommt... sie habens ich vertippt....

    Wenn bei Vergleichen nicht das passiert, was man erwartet, ist es immer hilfreich, sich die beteiligten Variablen anzuschauen. Setze vor Deinen if-Block die Zeile

    var_dump($_POST);

    oder, in diesem speziellen Fall, in dem von PHP zur Verfügung gestellte Variablen in Gebrauch sind,

    phpinfo(INFO_VARIABLES);

    und schau nach, was in $_POST steht.

    1. echo $begrüßung;

      Zweieinhalb Tipps am Rande:

      Und noch ein halber Tipp: Beim PHP-Entwickeln immer das error_reporting auf E_ALL (und displsy_errors auf on) stellen, dann werden die Hinweismeldungen beim Zugriff auf nicht vorhandene Variablen nicht mehr unterdrückt.

      echo "$verabschiedung $name";

  4. (Hallo|Hi(ho)|Tag) Nico,

    hallo, seit kurzem versuche ich php zu lernen. ein paar sahcen habe ich schon drauf. leider komme ich beim folgenende quelltext nicht weiter:

    <?php
    $username = $_POST['schwarzwald'];
    $password = $_POST['elche'];

    if($username=='schwarzwald' AND $password=='elche') {
    echo '<html><body><img src="http://ssvf.de/wasserball/images/elch.jpg"></body></html>';
    }
    else {
    echo 'sie haben sich vertippt';
    }

    ?>

    kann mir einer helfen ???

    var_dump($_POST);

    Das zeigt dir alle Variablen im ARRAY $_POST an.

    MffG
    EisFuX

    1. (Hallo|Hi(ho)|Tag) EisFuX,

      kann mir einer helfen ???
      var_dump($_POST);

      Das zeigt dir alle Variablen im ARRAY $_POST an.

      Hmm, und das hier gehört noch dazu, ist aber irgendwie beim Copy-N-Paste verlorengegangen:

      var_dump($_GET);

      Das zeigt dir alle Variablen im ARRAY $_GET an.
      Neben den vielen anderen Fallstricken, die dir schon erläutert wurden,
      kann es nämlich durchaus sein, dass du versuchst hast, Benutzername und Passwort
      per URL zu übergeben. Dann landen beide aber nicht im $_POST-Array.

      Falls die Ausgabe von var_dump() nicht lesbar formatiert erscheint, versuchst du es mit:

      printf('<pre>%s</pre>', print_r($_POST, 1));

      MffG
      EisFuX