tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
535
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    thevibe thevibe ist offline Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    17
    hi,
    also ich hab ein Problem mit der IF-Bedingung in folgendem Code:

    PHP-Code:
    <?php

    $exitpage 
    "http://galileo.spaceports.com/~thevibe2/htmlseiten/pw-anfrage.html";
    $datei strtolower("$Name$Vorname");

    if (
    is_readable("$datei"))
        {
        
    $daten fopen("$datei""r");
        while (!
    feof($daten))
            {
        
    $zeile fgets($daten,2500);
        
    $data explode("|"$zeile);
            if (
    $Vorname == $data[0] && $Name == $data[1] && $pw == $data[12]);
           
    // var_dump($data);

            
    header("Location: $exitpage");

         }
            }
        else
        {
            echo 
    "login fürn *****";
        }
        


    echo 
    "</form>";
    ?>
    denn aus irgendeinem Grund wird die IF-Bedingung auch ausgeführt, wenn das pw falsch ist. Wenn der Name und/oder der Vorname falsch ist wird sie nicht ausgeführt - aber wenn das pw falsch ist. Das kann nicht wahr sein. Ich find den Fehler einfach nicht. helft mir mal bitte




    --------------
    .: tHeViBe :.
     

  2. #2
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Weil die Syntax etwas verkehrt ist:
    PHP-Code:
    if ($Vorname == $data[0] && $Name == $data[1] && $pw == $data[12]) {
       
    // var_dump($data);

       
    header("Location: $exitpage");

     

  3. #3
    thevibe thevibe ist offline Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    17
    öhm...was issn jetzt anders? *grübel*
     

  4. #4
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Das Semikolon nach der IF-Bedingung und das, was geschehen soll ist ein geschweiften Klammern.
     

  5. #5
    thevibe thevibe ist offline Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    17
    gut stimmt, jetzt wo du es sagst...nur das jetzt die ELSE schleife nichtmehr ausgeführt wird, wenn sie ausgeführt werden sollte ;(
    der code sieht jetzt so aus:
    PHP-Code:
    <?php

    $exitpage 
    "http://galileo.spaceports.com/~thevibe2/htmlseiten/pw-anfrage.html";
    $datei strtolower("$Name$Vorname");

    if (
    is_readable("$datei"))
        {
        
    $daten fopen("$datei""r");
        while (!
    feof($daten))
            {
        
    $zeile fgets($daten,2500);
        
    $data explode("|"$zeile);

        if (
    $Vorname == $data[0] && $Name == $data[1] && $pw == $data[12])
        {
       
    header("Location: $exitpage");
        }

        }
            }
        else
        {
            echo 
    "<B> FEHLER******!</B><br>";
            echo 
    "Name oder Passwort falsch! Bist du denn überhupt schon registriert?";
            echo 
    "Wenn nicht, kannst du das <a href=http://www.anmelden.de>hier</a> tun.";
        }
        


    echo 
    "</form>";
    ?>
     

  6. #6
    vogtländer vogtländer ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    50°20'12''N, 12°13'05''O
    Beiträge
    255
    Die Klammerung stimmt nicht.

    PHP-Code:
    <?php

    $exitpage 
    "http://galileo.spaceports.com/~thevibe2/htmlseiten/pw-anfrage.html";
    $datei strtolower("$Name$Vorname");

    if (
    is_readable("$datei"))
        {
        
    $daten fopen("$datei""r");
        while (!
    feof($daten))
            {
        
    $zeile fgets($daten,2500);
        
    $data explode("|"$zeile);

        if (
    $Vorname == $data[0] && $Name == $data[1] && $pw == $data[12])
        {
       
    header("Location: $exitpage");
        } 
    // if-pw-close

        
    // <- while-close
            
    // <- if-readable-close
        
    else
        {
            echo 
    "<B> FEHLER******!</B><br>";
            echo 
    "Name oder Passwort falsch! Bist du denn überhupt schon registriert?";
            echo 
    "Wenn nicht, kannst du das <a href=http://www.anmelden.de>hier</a> tun.";
        }
        


    echo 
    "</form>";
    ?>
    Und in der Fehlermeldung fehlt ein "a" bei "überhupt".

    Gruß
    Falk
     

  7. #7
    thevibe thevibe ist offline Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    17
    ähm...und wie müsste die Klammerung dann sein? Hab jetzt schon 20 mal rumprobiert, komme aber zu keinem (vernünftigen) Ergebnis.
     

  8. #8
    vogtländer vogtländer ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    50°20'12''N, 12°13'05''O
    Beiträge
    255
    Du solltest das if-Userdaten dahin gehend erweitern, dass eine boolsche Variable aussagt, ob die Daten des Users gefunden wurden. Diese Variable solltest du dann außerhalb der while-Schleife abfragen.

    Idealerweise solltest du außerdem die while-Schleife gleich mit an diese Variable koppeln, sodass die Schleife vor eof beendet wird, falls der User gültig ist.

    PHP-Code:

        $user_exists 
    false;
        while ( !( 
    feof($daten) || $user_exists ) )
        {
            if( <
    Userdaten stimmen> )
            {
                
    $user_exists true;
                .
                .
                .
            }
        }
        if( !
    $user_exists )
        {
            <
    Fehlermeldung>
        } 
    Ungefähr so müsste es funktionieren.

    Gruß
    Falk
    Geändert von vogtländer (24.07.03 um 13:01 Uhr)
     

Ähnliche Themen

  1. jQuery: out-Event wird gefeuert aber nicht ausgeführt
    Von Avorin im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 03.01.10, 22:23
  2. Antworten: 7
    Letzter Beitrag: 22.12.09, 18:45
  3. PhP script wird nicht ausgeführt
    Von killerboost im Forum PHP
    Antworten: 7
    Letzter Beitrag: 14.07.07, 17:13
  4. Script wird nicht richtig ausgeführt
    Von met im Forum Javascript & Ajax
    Antworten: 14
    Letzter Beitrag: 31.07.06, 15:10
  5. Antworten: 4
    Letzter Beitrag: 11.02.05, 09:55