ForumübersichtPHP & MySQL

Kleines Problem bei Login script - Seite 1

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
Geschlossen
AutorText


chrisboy
Super-Moderator



Punkte: 4906
243MySQL Problem
Ich habe da ein Script gefunden was auch richtig gut funktioniert. Leider können da nur Admins die Mitglieder hinzufügen und ich möchte den Besuchern die Möglichkeit geben, das sie sich selber anmelden könnten. Ich habe jetzt den Code hier von ntmb genommen und mit der Datenbank verbunden. Leider ist hier das Problem das der Order hier auf ntmb für das script "User" heißt und das vom Script "Users" : Jetzt bin ich ja auch nicht so blöd und habe einfach "User" und "Users" geändert. Wenn ich nun auf die Seite zum anmelden gehe, steht da zwar, das ich mich angemeldet habe aber ich kann mich nicht einloggen da der Account nicht bei MySQL vorhanden ist. Leider finde ich den Fehler jetzt nicht. Weiß einer weiter? Ich habe hier mal ein Screen vom MYSQL Server wegen den Ordnern und hier der Code zum anmelden.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<? 
include "session.php"
include 
"config2.php"
if(
$_SESSION[id]==""){ 
    if(
$_POST[username]!=""){ 
    
$abfrage=mysql_query("SELECT username FROM users WHERE username='$_POST[username]' limit 1"); 
    
$eintrag=mysql_num_rows($abfrage); 
        if(
$_POST[password]==""){ $info="<br><br><b>Du hast kein Passwort angeben</b>"; } 
        elseif(
$eintrag>0){ $info="<br><br><b>Der Nick ist schon vergeben!</b>";  } 
        else { 
         
mysql_query("INSERT INTO users(username,password,time) VALUES ('".addslashes($_POST[username])."','".addslashes($_POST[password])."','$datum');"); 
        
$ok="1"
        } 
    } 

    if(
$ok==""){ 
    
?> 
Hier kannst du dir ein neuen Account erstellen<br> 
<form method="post" action="" style="margin:0;"> 
Username <input type="text" name="username" value="<? echo $_POST[username]; ?>"><br> 
Passwort <input type="password" name="password"><br> 
<input type="submit" value="Account anlegen"><? echo $info?> 
</form> 
    <? 
    

    else{ 
?> 
    Dein Account wurde erstellt, du kann dich nun 
    <a href="user_login.php">hier</a> einloggen. 
    <? 
    


else{ 
?> 
Error, du kannst dich nicht anmelden, da du schon angemeldet bist. 
<? }?>



zerfleischer
Super-Moderator



Punkte: 7970
Versteh dein Problem leide rnicht so richtig.
Du willst irgendein Script mit dem Login von hier verbinden?!?

Du hast bei Eugen seinem Script Users stehen und in deinem anderem in der DB hast du User stehen oder andersrum.
Schreibt er nur den Namen in die Datenbank oder garnichts?

So wie ich das auf dem Screen sehe nur der Name aber so wei ich dich versteh steht da garnichts.

Sollte es nur am PW liegen kann man den Fehler eingrenzen. Ansonsten hast du Probleme beim verbinden mit deiner DB.


Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben


chrisboy
Super-Moderator



Punkte: 4906
Das Problem liegt darin, das er gar nichts in die DB einträgt. Also wenn ich den Code von Eugen nehme, ihn umschreibe von User auf Users kommt nichts davon in die Datenbank.



zerfleischer
Super-Moderator



Punkte: 7970
Schreib das mal hinzu

echo mysql_error();

So kannst du die Fehler auslesen lassen und so komm wa auch etwas weiter. Seh gerade an dem Code keinen fehler.


Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben


chrisboy
Super-Moderator



Punkte: 4906
Kann es sein das ich doof bin oder so ? Also ich habe das gerade noch einmal getestet und nun geht alles. Trotz dem Danke für deine Hilfe.



zerfleischer
Super-Moderator



Punkte: 7970
Laut Eugen seinem Script brauchst du noch die datumsspalte.

Schreibt einfach unter deinen include befehl das

$datum = time();

rein und dann hast du auch die Zeitangabe und kannst später danach auch ausgeben lassen wenn du eine Übersicht machen willst wer wann bzw. als erstes da war.


Freu mich das es doch geht ^^


LG
Vom Hübi


Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben


chrisboy
Super-Moderator



Punkte: 4906
Ein kleiner Fehler ist doch noch drin. Uns zwar werden die Passwörter normal gespeichert. Beim anderen Script verschlüsselt. Leider kann man sich nicht mit den normalen Passwörtern nicht einloggen. Wo kann man das ändern ?



zerfleischer
Super-Moderator



Punkte: 7970
1
2
3
mysql_query("INSERT INTO users(username,password,time) VALUES ('".addslashes($_POST[username])."','".addslashes($_POST[md5(password)])."','$datum');"); 
        $ok="1"; 
        }


wenn es MD5 ist. Solltest du da was anderes haben dann must du da nochmal nachfragen.

Weiß nicht ob es geht da ich mich nicht so viel damit beschäftige aber wenn es nicht geht dann must du vorher deine Passowerd Variable in MD5 umwandeln und danach in die Zeile eintragen als Variable.


Wenn noch was sein sollte. Bin mal eben duschen und schau dann nochmal nach.

Lg
Der Hübi


Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben


chrisboy
Super-Moderator



Punkte: 4906
Alles klar. Danke sehr. War ein bisschen anders aufgebaut.


Erledigt und damit -close-

Geschlossen