php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.12.2005, 13:02  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard login script macht pobs

hi,
ich hab mir vor 3-4 wochen schonma ein login script gebastelt, das ging auch,aber jetzt nit mehr.
an dem script selber hab ich nichts verändert, nur noch was anderes an der main site

hia das login script(function):
PHP-Code:
function check_user($name$pw)
{
$sql=mysql_query("SELECT * FROM ".pre."user WHERE nick='$name'");
while(
$row=mysql_fetch_assoc($sql))
{
 if(
$row['nick']==$name && $row['password']==$pw)
 {
                        echo 
"Sie sind nun eingeloggt!";
                        
$_SESSION['loged_in']=$name;
                        echo 
'<meta http-equiv="refresh" content="1; url=index.php?site=news&id='.md5($_SESSION['user']).'" />';
 }
 else                   {
     echo 
'Passwort oder Benutzernamen falsch angegeben!
[url="javascript:history.back();"]Zurück[/url]'
;
     unset(
$_SESSION['loged_in']);
}
}
return 
$name;
}

function 
check_admin($name)
{
$res=mysql_query("SELECT * FROM ".pre."user WHERE nick='$name'");
while(
$row=mysql_fetch_assoc($res))
{
if(
$row['admin']=="yes")
                        
$_SESSION['admin']=true;
else
                        
$_SESSION['admin']=false;
}
return 
$name;

findet ihr dort fehler??
fadass ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.12.2005, 13:05  
Erfahrener Benutzer
 
Benutzerbild von zwerg
 
Registriert seit: 12.08.2005
Beiträge: 437
zwerg
Standard

Was gehjt denn nich?Also ich, und ich glaube andere User auch, kann/kööönen nich hellsehen!
//EDIT:
AUasserdem würd ich das nich mot einer while-schleife machen!!
zwerg ist offline  
Alt 03.12.2005, 14:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wenn du schon editierst zwerg, mach doch die Rechtschreibfehler raus ...

@fadass: Dein Script ist sehr schlecht gemacht.

- <meta>-Tags gehören in den <head>, offenbar befindest du dich aber nicht im head, sondern im <body>, oder warum gibst du gleichzeitig auch noch Text aus?
- Zur Weiterleitung kannst du den Befehl header("Location: ziel.php"); verwenden
- Außerdem, hast du "pre" als Konstante deklariert? Oder woher kommt "pre"? Konstanten schreibt man GROSS.
- Wozu gibt deine Funktion $name zurück, egal was passiert, das auch noch obwohl du $name ja als Argument übergibst und es nicht geändert wird.
- "loged_in" schreibt sich mit doppel-g.
- Warum benutzt du eine while-Schleife in der 2. Funktion, wenn du nur eine Ergebnis-Zeile erwartest, SQL kennt den LIMIT-Befehl.
- Die nächste Frage wäre, warum benutzt du überhaupt 2 Funktionen? Du könntest locker alles in eine packen, die dir dann meinetwegen als return-Wert zurückgibt, ob der User ein Admin ist.
Zergling-new ist offline  
Alt 03.12.2005, 15:05  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard

@zwerg: der scheitert scheinbar beim einloggen, bzw beim überprüfen von name/pw und Session setzen

hmm......

jo danke schonma, aber es ging ja vorher ohne probleme, warum jetzt net mehr?

das mit den while schleifen ist nur weil ich mit den anderen spökes noch net so beschäfftigt hab.
dann ma überlegen, wodran kann es liegen..........
fadass ist offline  
Alt 03.12.2005, 15:09  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Lass dir überall per echo relevante Variablen ausgeben und überprüf ob sie den erwarteten Wert haben.
Zergling-new ist offline  
Alt 03.12.2005, 15:34  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard

sauba sind schonma ein schritt weiter......
Sessions werden scheinbar net gesetzt......
fadass ist offline  
Alt 03.12.2005, 15:41  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von fadass
Sessions werden scheinbar net gesetzt......
Session gestartet?
__________________
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
[...]
Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..
andy ist offline  
Alt 03.12.2005, 15:58  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard

jo
fadass ist offline  
Alt 04.12.2005, 00:00  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard

habs hinbekommen.....
hab es dies mal net in eine function sondern so direkt in die page geschrieben
PHP-Code:
<?php
 $sql
=mysql_query("SELECT nick, password, admin FROM ".pre."user WHERE nick='$login_name'");
                while(
$row=mysql_fetch_assoc($sql))
                {
                if(
$row['nick']==$login_name)
                {
                if(
$row['password']==$login_pw)
                {
                
$_SESSION['logged_in']=$login_name;
                if(
$row['admin']==1)
                
$_SESSION['admin']=true;
                echo 
"Sie sind nun eingeloggt!";
                echo 
'<meta http-equiv="refresh" content="2; url=index.php?site=news" />';
                }
                else
                {
                unset(
$_SESSION['logged_in']);
                unset(
$_SESSION['admin']);
                echo 
"Passwort oder Benutzernamen falsch eingegeben!";
                }
                }
                }
?>
fadass ist offline  
Alt 04.12.2005, 10:53  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Warum benutzt du daf�r eine while-Schleife? Mit der MySQL-FUnktion COUNT() k�nntest du wesentlich schneller und unkomplizierter ans Ziel kommen:
PHP-Code:
<?php
    $sql 
sprintf("SELECT
                                COUNT(*),
                                IF(admin = 1, 1, 0)
                            FROM
                                `%suser`
                            WHERE
                                nick          = '%s' AND
                                password = '%s'
                            GROUP BY
                                nick"
,
                    
mysql_real_escape_string($login_name),
                    
mysql_real_escape_string($login_pw));
    
$result mysql_query($sql);
    
$row mysql_fetch_row($result);

    if(
$row[0] == 1) {
        
$_SESSION['logged_in'] = $login_name;
        if(
$row[1] == 1) {
            
$_SESSION['admin'] = true;
        }
    } else {
        unset(
$_SESSION['logged_in'], $_SESSION['admin']);
    }
?>
xabbuh ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Login Script (ohne Werbung) Aoz Scriptbörse 9 30.12.2007 19:41
frage zu login script schorsch PHP Tipps 2006 9 10.10.2006 10:16
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
Suche Login Script PHP Tipps 2006 6 02.03.2006 11:09
Login Script PHP Tipps 2006 4 21.02.2006 23:01
PHP / MySQL | Login Script Problem PHP Tipps 2006 15 17.02.2006 12:26
Sicheres Login Script mit automatischer Rückanmeldung Pain-maker PHP Tipps 2006 6 15.02.2006 16:13
Login Script : Addon??? Chrisber PHP Tipps 2005-2 0 27.09.2005 16:11
Login Script... Beitragsarchiv 1 16.08.2005 02:21
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
Suche spezielles Login script !!!! dringend Beitragsarchiv 5 09.07.2005 14:42
Login Script PHP Tipps 2005-2 7 02.07.2005 04:53
Problem mit Script auf verschiedenen Servern PHP Tipps 2005 40 22.03.2005 17:26
Login Script: sicher oder nicht sicher? PHP Tipps 2005 26 23.02.2005 12:18
login script spuckt PHP Tipps 2005 13 28.01.2005 16:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
pobs php, sie sind nun eingeloggt als $name, php pobs

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.