Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Dateien in Variabel speichern

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

  • Marcel Singer
    hat ein Thema erstellt MySQL Dateien in Variabel speichern.

    MySQL Dateien in Variabel speichern

    Hallo,
    ich habe versucht mir ein Login selber zu erstellen.
    Wie man die Dateien per "echo"-Befehl ausgibt weis ich aber
    wie man sie in einer Variabel speichert nunmal nicht.
    PHP-Code:
    <?
    include("dbconnect.php");
    $abfrage = "SELECT Kennwort FROM benutzerdaten WHERE Benutzername LIKE '$b'"; //eingegebener Benutzername
    $kennwort = mysql_query($abfrage);
    So weit bin ich gekommen.
    kann mir jemand helfen oder mir en Link geben?
    Danke schon mal im Vorraus.

  • Drache
    antwortet
    Hi,

    schau dir mal ein's von den tut's an:
    #php/QuakeNet Tutorial - Eigenes Loginsystem
    PHP-Einfach.de - Tutorial - Loginscript mit MySQL und Sessions

    vielleicht hift's dir ja

    Einen Kommentar schreiben:


  • Lern_HEIKO
    antwortet
    einfach über eine session machen...

    erst muss der user seinen loginname und sein pw in formularfelder eintragen...

    dann wenn er auf login drückt wird geschaut ob der name mit dem passwort vorliegt in der table mit den usern...wenn ja speicherst du seinen namen in eine session variable...und machst noch eine session variabel die SESSION['login'] heißt und tust dort den wert 1 speichern...dann kannst du auf jeder seite die session fortführen und kannst überall nachprüfen ob er eingeloggt ist in dem du die session variable login prüfst ob der wert 1 enthalten ist...un schon is das problem gelöst...du kannst auch beim einloggen noch viele andere sachen in session variablen speichern wie ein benutzerlevel un sonstiges...


    so mach ich das und das funzt einwandfrei...

    Einen Kommentar schreiben:


  • David
    antwortet
    Zitat von Molt Beitrag anzeigen
    Kleiner Tipp - Mein Login funtzt so:
    Das glaube ich nicht. Da sind eine Menge Fehler drin.

    Nur ein Beispiel
    Zitat von Molt Beitrag anzeigen
    $abc = @mysql_query("SELECT passwort FROM users WHERE username LIKE ".$ab);
    Nehmen wir mal an $ab='Heinz'. Dann sieht die Abfrage so aus: SELECT passwort FROM users WHERE username LIKE Heinz
    Mysql sucht also alle Datensätze raus, wo der Inhalt des Feldes username dem Inhalt des Felds Heinz entspricht. Das Feld Heinz wird es wohl nicht geben, also spuckt Mysql einen Fehler aus.

    Sorry, aber im Grunde passt da nichts von den beiden Skripten.

    Einen Kommentar schreiben:


  • Molt
    antwortet
    Kleiner Tipp - Mein Login funtzt so:
    PHP-Code:
    include("config.php");
    $ab $_POST["username"];
    $ac $_POST["pw"];
    $abc = @mysql_query("SELECT passwort FROM users WHERE username LIKE ".$ab);
    $abcd = @mysql_fetch_assoc($abc);
    $aab = @mysql_query("SELECT aktiv FROM users WHERE username LIKE ".$ab);
    $aabc = @mysql_fetch_assoc($aab);
    if(
    $abcd == $ac AND $aabc == "ja" AND !isset($_COOKIE["loginname"]))
     {
     
    setcookie("loginname"$abtime()+31557600000);
     
    setcookie("loginpw"$actime()+31557600000);
     } 
    Und die Datei, die prüft, ob du eingeloggt bist:
    PHP-Code:
    if(isset($_COOKIE["loginname"]))
     {
     
    $c mysql_query("SELECT passwort FROM users WHERE username LIKE ".$_COOKIE["loginname"]);
     if(isset(
    $_COOKIE["loginpw"]))
      {
      
    $c mysql_fetch_assoc($c);
      if(
    $c == $_COOKIE["loginpw"])
       {
       
    $log "ja";
       }
      else
       {
       
    $log "no";
       }
      }
     else
      {
      
    $log "no";
      }
     }
    else
     {
     
    $log "no";
     }
    if(
    $log == "ja")
     {
     
    $logn $_COOKIE["loginname"];
     
    $dd mysql_query("SELECT position FROM users WHERE username LIKE ".$_COOKIE["loginname"]);
     
    $dd mysql_fetch_assoc($dd);
     if(
    $dd == "admin")
      {
      
    $rang "admin";
      }
     elseif(
    $dd == "smod")
      {
      
    $rang "smod";
      }
     elseif(
    $dd == "mod")
      {
      
    $rang "mod";
      }
     else
      {
      
    $rang "user";
      }
     } 
    Somit hast Du geprüft, ob der User eingeloggt ist und welchen Benutzer-Rang er hat.

    Einen Kommentar schreiben:


  • Montellese
    antwortet
    Sorry, dass ich jetzt fast vom Stuhl gefallen bin vor lachen!
    Du weisst genau, wie du an das Passwort rankommst, weisst aber nicht, wie du es speichern kannst? Du benutzt ja auch
    PHP-Code:
    $abfrage "SELECT ..."
    . Was sollte da bei
    PHP-Code:
    $row->Kennwort 
    anders sein?
    Desweiteren würde ich vor dem Auslesen des Kennwortes mit mysql_num_rows() überprüfen, ob es überhaupt einen Treffer gab. Wenn nicht, war der Benutzername falsch. Wenn du mehr als einen Treffer erhälst, ist sonst was schief gelaufen, dann haben nämlich zwei Benutzer den selben Benutzernamen und sind nicht unterscheidbar. Und wenn alles ok ist und du einen Treffer erhälst, ist das while() überflüssig. Ich verstehe aber nicht ganz, wie dein Login funktionieren soll... Muss man da nur einen Benutzernamen eingeben um sich einzuloggen und du liest dann das Passwort automatisch aus? *verwirrt*

    Einen Kommentar schreiben:


  • Marcel Singer
    antwortet
    Also...

    ...die Daten würde ich so mit dem "echo"-Befehl ausgeben:
    PHP-Code:
    <?
    include("dbconnect.php");
    $abfrage = "SELECT Kennwort FROM benutzerdaten WHERE Benutzername LIKE 
    '$ba'"; //Benutzername der im Formular eingegeben wurde.
    $kennwort = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
        {
        echo $row->Kennwort;
        }

    Einen Kommentar schreiben:


  • Montellese
    antwortet
    1. sind das keine Dateien sondern Daten. Dateien sind die Dinger, die du auf deiner Festplatte speicherst

    2. Der SQL-Query ist nicht sehr geschickt. LIKE ist bei einem Benutzernamen nicht geeignet als Überprüfung!
    Benutze =.

    3. Wie hast du es denn geschafft, die Daten aus der Datenbank per echo auszugeben? mysql_query() liefert nur eine Recource zurück, die du zum Auslesen der Daten weiterverarbeiten musst.

    4. Schau dir mal folgende Funktionen an, die dir weiterhelfen werden: PHP: mysql_fetch_array - Manual oder PHP: mysql_fetch_assoc - Manual.

    Einen Kommentar schreiben:

Lädt...
X