Ergebnis 1 bis 7 von 7

Thema: Fallentscheidung funktioniert nicht

  1. #1
    Wishmaster
    Gast

    Standard Fallentscheidung funktioniert nicht

    Hallo ich habe einen Script programmiert, doch dabei wird nicht die richtige Fallentscheidung ausgeführt sondern genau die falsche. Hier ersmal der code:
    [php:1:4ed8843f8c]<?
    include ("config.php");
    $passwort = $HTTP_POST_VARS['passwort'];
    $username = $HTTP_POST_VARS['username'];

    $id_pruefen = htmlentities($_COOKIE['user_id']);
    $string_pruefen = htmlentities($_COOKIE['cookiewert']);
    if($string_pruefen != "")
    {
    $verbindung = mysql_connect("$host","$user","$pw") or die ("Keine Verbindung moeglich");
    mysql_select_db("$datenbank") or die ("Die Datenbank existiert nicht");
    $query = "SELECT * ". " FROM `$tblog` " . " WHERE `cookiewert` = '.mysql_real_escape_string($string_pruefen).'";
    $erg = mysql_query($query) or die("MySQL-Fehler: " . mysql_error () );

    while ($list = mysql_fetch_array($erg, MYSQL_ASSOC))
    {
    $id = $list['id'];
    $user = $list['user'];
    }
    mysql_close($verbindung);
    }
    if($id == $id_pruefen and $id != "")
    {
    $login = "yes";
    }
    elseif($id != $id_pruefen or $id == "")
    {
    $login = "no";
    }
    if($login == "no" and ($passwort == "" and $username == ""))
    {
    echo "<form method=\"POST\" action=\"adminindex.php\">


    User<input type=\"text\" name=\"username\" size=\"12\"> Passwort<input type=\"password\" name=\"passwort\" size=\"12\"> <input type=\"submit\" value=\"Einloggen\" name=\"B1\"></p>
    </form>";
    }
    elseif($login == "no" and ($passwort != "" and $username != ""))
    {


    $id_pruefen = htmlentities($_COOKIE['user_id']);
    $string_pruefen = htmlentities($_COOKIE['cookiewert']);
    $verbindung = mysql_connect("$host","$user","$pw") or die ("Keine Verbindung moeglich");
    mysql_select_db("$datenbank") or die ("Die Datenbank existiert nicht");
    $query1 = "SELECT * FROM `$tblog` WHERE `user` ='$username'";
    $result1 = mysql_query($query1) or die("MySQL-Fehler: " . mysql_error () );
    if(mysql_num_rows($result1)>0) {
    $row=mysql_fetch_array($result1);
    $dbpw = $row['passwort'];
    $user_id = $row['id'];
    }
    error_reporting(E_ALL);
    mysql_close($verbindung);
    $userpw = md5($passwort);

    if($dbpw == $userpw)
    {
    $jetzt = time();
    $der_neue_cookie_wert = md5($jetzt.$user_id);
    setcookie ('user_id',$user_id, time()+60*60*2); # 2 Sunden Gültigkeit
    setcookie ('cookiewert',$der_neue_cookie_wert, time()+60*60*2); # 2 Sunden Gültigkeit
    $verbindung = mysql_connect("$host","$user","$pw") or die ("Keine Verbindung moeglich");
    mysql_select_db("$datenbank") or die ("Die Datenbank existiert nicht");

    $aendern = "UPDATE $tblog Set cookiewert = '$der_neue_cookie_wert', timestamp = '$jetzt' WHERE id = '$user_id'";
    $update = mysql_query($aendern);
    mysql_close($verbindung);
    $login = "yes";
    echo "Wilkommen $username! <a href=\"adminindex.php\">Administation</a> :: <a href=\"logout.php\">Logout</a>";

    }
    elseif($dbpw != $userpw)
    {
    echo "Fehler:Falsches Passwort $username $dbpw $userpw! <form method=\"POST\" action=\"adminindex.php\">


    User<input type=\"text\" name=\"username\" size=\"12\"> Passwort
    <input type=\"password\" name=\"passwort\" size=\"12\"> <input type=\"submit\" value=\"Einloggen\" name=\"B1\"></p>
    </form>";
    $login = "no";
    }

    }
    elseif($login == "no" and ($passwort != "" or $username != ""))
    {
    echo "Fehler:Beide Felder ausfüllen! <form method=\"POST\" action=\"adminindex.php\">


    User<input type=\"text\" name=\"username\" size=\"12\"> Passwort<input type=\"password\" name=\"passwort\" size=\"12\"> <input type=\"submit\" value=\"Einloggen\" name=\"B1\"></p>
    </form>";
    }
    elseif($login == "yes")
    {
    echo "eingeloggt als $name! <a href=\"adminindex.php\">Administation</a> :: <a href=\"logout.php\">Logout</a>";
    }

    ?>[/php:1:4ed8843f8c]

    So wenn jetzt if($dbpw == $userpw) ausgeführt werden sollte wird trotzdem elseif($dbpw != $userpw) ausgeführt. Ich habe mir beide passwörter ausgeben lassen. Die stimmen 100% überein! Trotzdem wird elseif($dbpw != $userpw) ausgeführt.
    Ich hoffe mir kann jemand helfen. [/code]
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    verwende erstmal du CODe oder PHP tags, sonst liest sich das keiner durch.

  3. #3
    Gast

    Standard

    Ich hab tags gesetzt die funtzen aber irgendwie nicht...Und editieren kann ichs ja netmehr....

  4. #4
    Wishmaster
    Gast

    Standard

    Also hier mal ein neuer Versuch die Problembeschreibung
    ist oben in meinem ersten Post über und unter dem Script, ich hoffe mir kann jemand helfen:
    [php:1:ed6b208960]<?php
    include ("config.php");
    $passwort = $HTTP_POST_VARS['passwort'];
    $username = $HTTP_POST_VARS['username'];

    $id_pruefen = htmlentities($_COOKIE['user_id']);
    $string_pruefen = htmlentities($_COOKIE['cookiewert']);
    if($string_pruefen != "")
    {
    $verbindung = mysql_connect("$host","$user","$pw") or die ("Keine Verbindung moeglich");
    mysql_select_db("$datenbank") or die ("Die Datenbank existiert nicht");
    $query = "SELECT * ". " FROM `$tblog` " . " WHERE `cookiewert` = '.mysql_real_escape_string($string_pruefen).'";
    $erg = mysql_query($query) or die("MySQL-Fehler: " . mysql_error () );

    while ($list = mysql_fetch_array($erg, MYSQL_ASSOC))
    {
    $id = $list['id'];
    $user = $list['user'];
    }
    mysql_close($verbindung);
    }
    if($id == $id_pruefen and $id != "")
    {
    $login = "yes";
    }
    elseif($id != $id_pruefen or $id == "")
    {
    $login = "no";
    }
    if($login == "no" and ($passwort == "" and $username == ""))
    {
    echo "<form method=\"POST\" action=\"adminindex.php\">


    User<input type=\"text\" name=\"username\" size=\"12\"> Passwort<input type=\"password\" name=\"passwort\" size=\"12\"> <input type=\"submit\" value=\"Einloggen\" name=\"B1\"></p>
    </form>";
    }
    elseif($login == "no" and ($passwort != "" and $username != ""))
    {


    $id_pruefen = htmlentities($_COOKIE['user_id']);
    $string_pruefen = htmlentities($_COOKIE['cookiewert']);
    $verbindung = mysql_connect("$host","$user","$pw") or die ("Keine Verbindung moeglich");
    mysql_select_db("$datenbank") or die ("Die Datenbank existiert nicht");
    $query1 = "SELECT * FROM `$tblog` WHERE `user` ='$username'";
    $result1 = mysql_query($query1) or die("MySQL-Fehler: " . mysql_error () );
    if(mysql_num_rows($result1)>0) {
    $row=mysql_fetch_array($result1);
    $dbpw = $row['passwort'];
    $user_id = $row['id'];
    }
    error_reporting(E_ALL);
    mysql_close($verbindung);
    $userpw = md5($passwort);

    if($dbpw == $userpw)
    {
    $jetzt = time();
    $der_neue_cookie_wert = md5($jetzt.$user_id);
    setcookie ('user_id',$user_id, time()+60*60*2); # 2 Sunden Gültigkeit
    setcookie ('cookiewert',$der_neue_cookie_wert, time()+60*60*2); # 2 Sunden Gültigkeit
    $verbindung = mysql_connect("$host","$user","$pw") or die ("Keine Verbindung moeglich");
    mysql_select_db("$datenbank") or die ("Die Datenbank existiert nicht");

    $aendern = "UPDATE $tblog Set cookiewert = '$der_neue_cookie_wert', timestamp = '$jetzt' WHERE id = '$user_id'";
    $update = mysql_query($aendern);
    mysql_close($verbindung);
    $login = "yes";
    echo "Wilkommen $username! <a href=\"adminindex.php\">Administation</a> :: <a href=\"logout.php\">Logout</a>";

    }
    elseif($dbpw != $userpw)
    {
    echo "Fehler:Falsches Passwort $username $dbpw $userpw! <form method=\"POST\" action=\"adminindex.php\">


    User<input type=\"text\" name=\"username\" size=\"12\"> Passwort
    <input type=\"password\" name=\"passwort\" size=\"12\"> <input type=\"submit\" value=\"Einloggen\" name=\"B1\"></p>
    </form>";
    $login = "no";
    }

    }
    elseif($login == "no" and ($passwort != "" or $username != ""))
    {
    echo "Fehler:Beide Felder ausfüllen! <form method=\"POST\" action=\"adminindex.php\">


    User<input type=\"text\" name=\"username\" size=\"12\"> Passwort<input type=\"password\" name=\"passwort\" size=\"12\"> <input type=\"submit\" value=\"Einloggen\" name=\"B1\"></p>
    </form>";
    }
    elseif($login == "yes")
    {
    echo "eingeloggt als $name! <a href=\"adminindex.php\">Administation</a> :: <a href=\"logout.php\">Logout</a>";
    }
    ?>[/php:1:ed6b208960]

  5. #5
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    schreibe es so:
    } elseif($dbpw != $userpw) {

    und dazu reiche ein normales else volkommen aus, da es wenn es nicht == nun mal != sein muß!!

    $HTTP_POST_VARS ist vewraltet, nutze $_POST

    nutze bei den vergleichsoperatoren vorher trim, bavor du es durch md5 jagst.

    Oder lasse gleich die DB vergleichen.
    Ps dein code könnte man auf mehr als die hälte kürtzen.

  6. #6
    Gast

    Standard

    Öhm naja schonmal danke.
    Danke!!
    Aber das Problem lag eigentlichdarin: in der Datenbank war ein Leerzeichen mitgespeichert ^^. Habe das jetzt rausgelöscht jetzt klappt das.
    Nunja am wichtigsten ist mir eigentlich das es funktioniert ^^....
    Aber des mit $post werd ich in zukunft machen ist zudem ja auch etwas kürzer und leichter

    Nur ein weiteres Problem ist jetzt das ich nicht eingeloggt bleibe...wenn ich mal auf ne andere seite gehe und dann wieder komme erkennt der irgendwie die cooies oder sowas ncihtmehr.... ;(

  7. #7
    Gast

    Standard

    Sorry wegen Doppelpost! Aber kann ja meine Sachen nicht bearbeiten.
    Das ganze hat sich erledigt. Jetzt funktioniert alles wunderbar.

    Dankeschön!!!

Ähnliche Themen

  1. DNS funktioniert nicht!
    Von incendium im Forum Webhoster - Provider - (free) Webspace - Server - Domain
    Antworten: 4
    Letzter Beitrag: 29.03.2008, 11:02
  2. Mic-In funktioniert nicht
    Von Knüps im Forum Computer - Internet Forum
    Antworten: 1
    Letzter Beitrag: 06.02.2008, 19:19
  3. GIF funktioniert in IE nicht
    Von arnim im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 28.06.2007, 19:57
  4. dtd und css in php funktioniert im IE nicht!!!
    Von im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 09.06.2007, 15:33
  5. Funktioniert nicht…
    Von SlimShady im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 25.12.2005, 22:43

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •