Prozess Datei Registrierungsprozess die zweite



  • Ich habe folgendes.
    Das ist die Login Prozess Datei.

    <?php 
    session_start (); 
    $connectionid = mysql_connect ("localhost", "root", ""); 
    if (!mysql_select_db ("loginsystem", $connectionid)) 
    { 
      die ("Keine Verbindung zur Datenbank"); 
    } 
    
    $sql = "SELECT ". 
        "id, Nickname, Nachname, Vorname ". 
      "FROM ". 
        "benutzerdaten ". 
      "WHERE ". 
        "(Nickname like '".$_REQUEST["name"]."') AND ". //Das tut er nicht glaub ich. 
        "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"; 
     //Warum sucht er nicht die Stelle wo Username und Kennwort =sind? 
    
    $result = mysql_query ($sql); 
    
    if (mysql_num_rows ($result) > 0) 
    { 
      $data = mysql_fetch_array ($result); 
      $_SESSION["user_id"] = $data["id"]; 
      $_SESSION["user_nickname"] = $data["Nickname"]; 
      $_SESSION["user_nachname"] = $data["Nachname"]; 
      $_SESSION["user_vorname"] = $data["Vorname"]; 
    
      header ("Location: index.php"); 
    } 
    else 
    { 
      header ("Location: login.php?fehler=1"); 
    } 
    ?>
    

    Datenbank Satz:

    ID Nickname  Kennwort              Nachname Vorname
          1  asdsad     c99a11a53a3748269e3f asdasd   dfsdf 
          2  asdsad     c99a11a53a3748269e3f asdasd   dfsdf 
          3  asdsad     c99a11a53a3748269e3f asdasd   dfsdf
    

    Nur mir wird die ganze Zeit der Fehler ausgegeben.
    Nochmal zur Erklärung und für den Durchblick.
    Diese Datei hier kriegt Werte aus einem Login Formular.
    Also Variablen aus einem Login Formular.

    Für die Vorgänger Datei bitte hier klicken
    http://www.c-plusplus.net/forum/viewtopic.php?t=86380

    Ich wäre euch super dankbar für konstruktive Hilfe.

    m.f.g.



  • Hi,

    HarlekinAlpha[:] schrieb:

    Nur mir wird die ganze Zeit der Fehler ausgegeben.

    Füg' doch einfach ma eine Fehlerausgabe hinzu, sodass du weißt, um was für einen Fehler es sich überhaupt handelt:

    if (mysql_num_rows ($result) > 0)
    {
      ...
    }
    else die ("<br><br>".mysql_error());
    

    Noch ne Anmerkung: Das "WHERE Nickname LIKE '...'" iss in deinem Fall unnötig, da du weder %-Zeichen noch Unterstriche angegeben hast, sodass ein simples "WHERE Nickname = '...'" völlig ausreicht.

    mfg
    Arskane

    [edit]
    Achja, du kannst noch ein "LIMIT 1" anhängen, dann iss die Abfrage u.U. schneller, da er, nachdem er eine Übereinstimmung gefunden hat, keine weiteren mehr sucht.
    [/edit]



  • Also die Fehlerausgabe habe ich eingesetzt aber für MYSQL besteht kein Fehler denn ich kriege eine weiße Seite mit den durchgeführten <br>*2 aber da steht nichts.



  • Hi,

    dann lass dir doch ma die Variablen "\_REQUEST['name']" und "md5(_REQUEST['pwd'])" ausgeben und vergleich sie dann mit denen, die in der Datenbank stehen.

    mfg
    Arskane



  • Also ich glaube ich spinne.
    Die Variablen sind nichts.
    Da wird nichts ausgegeben.
    Aber die Datenbank Anbindungsdaten sind richtig.
    Ich hab ne Datenbank erstellt mit dem Namen loginsystem und die tabelle benutzerdaten
    mit eben den Werten.



  • Hi,

    wenn die Variablen leer sind, dann hat das erstma nix mit mySQL zu tun, sondern damit, dass deine Variablen beim senden des Formulars nicht übergeben werden.

    Poste doch ma den Code von dem Anmeldeformular.

    mfg
    Arskane



  • Vielleicht hilft das.

    //registrierungs formular
    <form action="registrierung....php" method="post"> 
                  <p align="left" class="blue"> 
                    <input type="text" name="eins">
                    e-mail Adresse (*)</p>
                  <p align="left"> 
                    <input type="text" name="zwei">
                    <span class="blue">Passwort (*)</span></p>
                  <p align="left"> <span class="blue"> 
                    <input type="text" name="drei">
                    Nachname (*)</span></p>
                  <p align="left"> <span class="blue"> 
                    <input type="text" name="vier">
                    Vorname (*)</span></p>
                  <p align="left"><font color="#333333">(*) erforderliche Daten</font></p>
                  <p align="left"> 
                    <input type="submit" name="Send" value="Registrieren">
                  </p>
                </form>
    
    //Registrierungs Prozess
    <?
    //Verbindet zu Datenbank 
    $connectionid  = mysql_connect ("localhost", "root", ""); 
    if (!mysql_select_db ("loginsystem", $connectionid)) 
    { 
      die ("Keine Verbindung zur Datenbank"); 
    } 
    $benutzer[$i] ["Nickname"] = "$eins"; 
    $benutzer[$i] ["Kennwort"] = "$zwei"; 
    $benutzer[$i] ["Nachname"] = "$drei"; 
    $benutzer[$i] ["Vorname"] = "$vier"; 
    
    foreach($benutzer as $key =>$value) 
    { 
      $sql = "INSERT INTO ". 
        "benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ". 
      "VALUES ('".$value["Nickname"]."', '". 
                           md5 ($value["Kennwort"])."', '". 
                           $value["Nachname"]."', '". 
                           $value["Vorname"]."')"; 
      mysql_query ($sql); 
    
      if (mysql_affected_rows ($connectionid) > 0) 
      { 
        echo "Benutzer erfolgreich angelegt.<br>\n"; 
      } 
      else 
      { 
       echo "Fehler beim Anlegen der Benutzer.<br>\n"; 
      } 
    } 
    ?>
    
    //Login Formular
    <form action="....php" method="post">
            <span class="blue">e-mail:</span> 
            <input type="text" name="name" size="8">
            <span class="blue"> Kennwort:</span> 
            <input type="password" name="pwd" size="8">
            <input type="submit" value="Login"> 
    </form>
    
    //Prozess Datei für Login
    <?php 
    session_start (); 
    $connectionid = mysql_connect ("localhost", "root", ""); 
    if (!mysql_select_db ("loginsystem", $connectionid)) 
    { 
      die ("Keine Verbindung zur Datenbank"); 
    } 
    $sql = "SELECT ". 
        "id, Nickname, Nachname, Vorname ". 
      "FROM ". 
        "benutzerdaten ". 
      "WHERE ". 
        "(Nickname = '".$_REQUEST["$name"]."') AND ". 
        "(Kennwort = '".md5 ($_REQUEST["$pwd"])."')"; 
    $result = mysql_query ($sql); 
    if (mysql_num_rows ($result) > 0) 
    { 
      $data = mysql_fetch_array ($result); 
      $_SESSION["user_id"] = $data["id"]; 
      $_SESSION["user_nickname"] = $data["Nickname"]; 
      $_SESSION["user_nachname"] = $data["Nachname"]; 
      $_SESSION["user_vorname"] = $data["Vorname"]; 
    
    header ("Location: index.php"); 
    } 
    else 
    { 
      header ("Location: login.php?fehler=1"); 
    } 
    ?>
    
    //Einbindung dieses Codes in jede Seite
    <?php session_start (); ?> 
    <?php 
    include ("online.php"); 
    ?>
    
    //online.php
    <?php 
    session_start (); 
    if (!isset ($_SESSION["user_id"])) 
    { 
      header ("Location: login.php"); 
    } 
    ?>
    

    m.f.g.

    Ich danke schonmal im vorraus allen Helfern.



  • Hi,

    uhm, da hab ich ma wieder zu schnell gelesen vorhin ,)
    Du must bei \_REQUEST['name'] des $-Zeichen rausnehmen also in: $_REQUEST['name'] ändern, beim passwort genau dasselbe, dann müsste es klappen.

    mfg
    Arskane



  • Ne das ist es wahrscheinlich nicht weil ohne hab ich es auch schon laufen gehabt.

    m.f.g.



  • Hi,
    wenn die Vars immer noch nicht übergegen werden, gib mal phpinfo(); ein und schau wo deine Vars abgeblieben sind...

    MfG

    Alexander Sulfrian



  • Hi,

    hm, dann fällt mir grad nix mehr ein, sry, kannst ja mal spasseshalber das $_REQUEST durch $_POST ersetzen, wobei das IMHO auch nichts ändern dürfte. Aber es liegt auf jeden Fall daran, dass entweder keine Variablen übergeben werden, oder diese falsch ausgelesen werden.

    mfg
    Arskane



  • Am besten schicke ich dir morgen mal das ganze Paket oder poste hier nen Link.
    Wäre schönn wenn du dir das ganze nochmal selber anschauen könntest.

    m.f.g.



  • du sollst es doch auch rausnehmen 😕



  • @flender

    Ich habs doch schon rausgenommen.
    Was meinst du?



  • Arskane schrieb:

    Du must bei \_REQUEST['name'] des $-Zeichen rausnehmen also in: $_REQUEST['name'] ändern, beim passwort genau dasselbe, dann müsste es klappen.

    HarlekinAlpha[:] schrieb:

    Ne das ist es wahrscheinlich nicht weil ohne hab ich es auch schon laufen gehabt.



  • So ich hab das ganze mal zum Paket gemacht.
    Download hier.

    Download!

    Und mein xampp Paket ist von:
    http://www.apachefriends.org
    m.f.g.

    P.S. Please help 🙂



  • Kurz zu Erklärung der Dateien:

    login.php Die Login Datei
    login-prozess.php Wichtig! Datei für den Login Prozess wird von Login.php angesprochen.

    registrieren.php Die Datenbank eintragungs Datei (funzt)
    intern.php unwichtig wird nach erfolgreichem login aufgerufen
    logout.php Der logout ist erstmal unwichtig
    registrierung-succes.php Prozess Datei
    checkuser.php Die Checkuser wird für die anzeige von Intern genutzt.

    Schritte:

    Erstelle Datenbank mit 5 Werten.
    1=id(auto_inr),2=Nickname,3=Kennwort,4=Nachname,5=Vorname
    Zahlen beziehen sich auf Felder Reihenfolge.

    registrieren.php ausführen (alle Dateien müssen in gleichen Verzeichnis sein.)
    Meldung abwarten /(Benutzer erfolgreich angelegt.)

    3.Login.php starten und versuchen des Login und hier kommt der Fehler.

    Bin gerade auf der Arbeit und suche aber ich finde keinen größereen Fehler.

    m.f.g.



  • wenn ich über den link gehe, sehe ich eine exe?

    lerne, daß man keine exen zum download anbietet.. außer, du bist langjähriges forenmitglied, und hast einen guten ruf!
    zum zweiten: was um gottes willen sollen linux user mit einer exe? *g*
    lerne debuggen, das bedeutet zum bleistift: kommentiere alles unnötige aus und arbeite dich langsam zum fehler vor.
    stelle dann -wenn du den fehler immernoch nicht in den griff bekommst- den entsprechenden abgespeckten codeschnipsel dem forum vor.
    dann wird ein schuh draus.

    so long.



  • Also bis jetzt bist du einer der User die mir am wenigsten geholfen haben und einer derjenigen die am meisten Nebensächliches geschrieben haben.

    Aber ich zippe das ganze nochmal.



  • userin, und ich will dir nur beibringen, wie man sich in einem forum bewegt.

    so long.



  • Ich hoffe ihr habt alle die Möglichkeit eine ZIP Datei zu öffnen denn rar hab ich gerade nicht installiert.

    Zip Datei downlaod

    m.f.g.


Anmelden zum Antworten