registrieren und einlogen eines acc nicht weitergeleitet

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • registrieren und einlogen eines acc nicht weitergeleitet

    Hi,
    Immer wenn ich versuch mich zu registrieren und auf senden drücke wird das Formular neu geladen und ich werde nicht registiert. Und bei einem test Account, wenn ich alle Daten richtig reinschreibe, werde ich nicht weitergeleitet und da steht dan konto existiert nicht.
    Ich weiß echt nicht wo der fehler ist.
    Thx im voraus.

    Ps: Ich habe meine Daten hier jetzt mit Absicht durch Striche ersetzt



    <?php session_start(); ob_start();
    mysql_connect("localhost","---","----");
    mysql_select_db("----");
    if(isset($_SESSION["user"])){mysql_query("UPDATE benutzer SET letzte_aktion = '".time()."' WHERE id = '".$_SESSION["user"]."'");}
    if($_GET["action"] == "logout"){
    unset($_SESSION["user"]);
    header("Location:login.php");}
    ?>
    <!D0CTYPE html public>
    <html>
    <head>

    </head>
    <body>
    <?php
    if(!$_GET["action"]){

    if(isset($_SESSION["user"])){
    echo "<h1>Willkommen</h1>
    <a href='?action=logout'>Ausloggen</a>";


    }
    else {
    echo "<h1>Anmelden</h1>";
    if($_POST["submit"]){
    $benutzername = $_POST["benutzername"];
    $passwort = sha1($_POST["passwort"]);
    // Abfrage
    $sql = mysql_query("SELECT * FROM benutzer WHERE benutzername = '*.mysql_real_escape_string($benutzername).*'");
    $menge = mysql_num_rows($sql);
    $row = mysql_fetch_object($sql);
    if($menge == 0){echo "<b>Konto existiert nicht!</b><br>";}
    else if($menge >0){
    if($passwort == $row->passwort){
    if($row->status == 1){
    $_SESSION["user"] = $row->id;
    header("Location:login.php");
    }
    else{echo"<b>Dein Konto wurde gesperrt!</b><br>";}
    }
    else{echo "<b>Das Passwort ist falsch</b><br>";}
    }
    }
    echo "
    <form action='' method='post'>
    <table>
    <tr>
    <td>Benutzername</td>
    <td><input type='text' name='benutzername'></td>
    </tr>
    <tr>
    <td>Passwort</td>
    <td><input type='password' name='passwort'></td>
    </tr>
    <tr>
    <td><input type='submit' name='submit' value='Einloggen'></td>
    </tr>
    </table>
    </form>
    <a href='?action=register'>Registrieren</a>";
    }

    }
    if($_GET["action"] == "register"){
    echo "<h1>Registrieren</h1>";
    if ($_POST["submit"]){
    $benutzername = $_POST["benutzername"];
    $email = $_POST["email"];
    $passwort = $_POST["passwort"];
    if(!empty($benutzername) && !empty($email) && !empty($passwort)){
    $sql = mysql_query("SELECT * FROM benutzer WHERE benutzername = '*.mysql_real_escape_string($benutzername).*'");
    $menge = mysql_num_rows($sql);
    if ($menge = 0){
    mysql_query("INSERT INTO benutzer (benutzername, email, passwort, rang) VALUES ('*.mysql_real_escape_string($benutzername).*', '*.mysql_real_escape_string($email).*', '*.mysql_real_escape_string($passwort).*', 'Benutzer')");
    $row = mysql_fetch_object(mysql_query("SELECT * FROM benutzer WHERE benutzername = '*.mysql_real_escape_string($benutzername).*'"));
    $_SESSION["user"] = $row->id;
    $nachricht = "Hallo $row->benutzername,

    du hast dich am ".date("d.m.Y")." auf MatthRai angemeldet.
    Viel Spaß ^^";
    mail("$row->email", "Deine Anmeldung", "$nachricht", "From: admin@matthrai.com");
    header ("Location:login.php");
    }
    else{echo "<b>Die E-mail existiert bereits!</b><br>";}
    }
    else {echo "<b>Bitte fülle alle Felder aus!</b><br>";}
    }
    echo "
    <form action='' method='post'>
    <table>
    <tr>
    <td>Benutzername</td>
    <td><input type='benutzername'></td>
    </tr>
    <tr>
    <td>E-mail</td>
    <td><input type='email'></td>
    </tr>
    <tr>
    <td>Passwort</td>
    <td><input type='passwort'></td>
    </tr>
    <tr>
    <td></td>
    <td><input type='submit' volue='Registrieren'></td>
    </tr>
    </table>
    </form>";
    }
    ?>

    </body>
    </html>
    <?php ob_end_flush(); ?>

  • #2
    Du hältst das EVA-Prinzip nicht ein. Datenbankabfragen, header(), etc. hab in mitten der HTML-Ausgabe nichts verloren. Vor header() darf keinerlei Ausgabe stattfinden!

    Kommentar


    • #3
      oki. ich mach jetzt einfach noch mal ganz von neu

      Kommentar

      Lädt...
      X