php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-12-2008, 22:58
michaelb
 Newbie
Links : Onlinestatus : michaelb ist offline
Registriert seit: Sep 2008
Beiträge: 12
michaelb ist zur Zeit noch ein unbeschriebenes Blatt
Standard Anmeldeprozedur

Hallo, ich habe folgendes Script im Einsatz, um das Login aus einer Maske heraus zu prüfen. Teilweise funktioniert es, aber ich habe das Gefühl als wenn er das Kennwort nicht mit überprüft.

PHP-Code:
 if (!empty($_POST['user']) and !empty($_POST['vor_user'])) 
          {          
          
$query "select id, name, vorname, kennwort, login from laeufer where name='".$_POST['user']."' and vorname='".$_POST['vor_user']."' and kennwort ='".$_POST['kennwort']."'"
          }  
                else
          {
          
$query "select id, name, vorname, kennwort, login from laeufer where login='".$_POST['login']."' and kennwort ='".$_POST['kennwort']."'";
          }
            
$ergebnis mysql_query($query,$verbindung);          
                if(!
$ergebnis)
                  echo 
mysql_error();             

         while(
$zeile=mysql_fetch_array($ergebnis,MYSQL_BOTH))                   
                {
               
$uid=$zeile["id"];               
                
$uname=$zeile["name"];               
                
$uvorname=$zeile["vorname"];               
                
$ulogin=$zeile["login"];               
                
$kennwort=$zeile["kennwort"];
                }      
             
mysql_free_result($ergebnis); 
             
session_start(); 
                
$_SESSION['id']=$uid
                
$_SESSION['vorname']=$uvorname;
                
$_SESSION['name']=$uname;

        if ((
$uname=$_POST['user'] and $uvorname =$_POST['vor_user']and $kennwort=$_POST['kennwort']) or ($ulogin=$_POST['login'] and $kennwort=$_POST['kennwort']))                                 
            {
        
//öffnen der Seite start.php    
          
header('Location: ./start.php');  
            }                                 
                else        
            {                         
        
//die Index.php wird mit dem Hinweis, das das Login nicht stimmt neu aufgerufen                                 
           
header('Location: ./index.php?abgewiesen=true'); 
            } 
Mir fehlt im Moment jede Idee woran es liegt.

Geändert von michaelb (03-12-2008 um 06:35 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 02-12-2008, 23:42
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OK, fangen wir mal an:

1. Konkretisiere "Teilweise funktioniert es".
2. dass du ein "Gefühl" hast, hilft uns nicht weiter. Hast du einen konkreten Verdacht? Wenn ja: Was (konkret) verursacht deinen Verdacht?
3. bitte brich deinen Code gemäß unseren Regel um
4. und rück ihn dabei gleich ordentlich ein, denn in seinem jetztigen Zustand fällt es sehr schwer, die Struktur auf einen Blick zu erfassen und verursacht einfach unnötige Mühe beim Lesen -> viele werden sich erst gar nicht die Mühe machen
5. dann werden Sie geholfen


Grüße

Geändert von Griecherus (02-12-2008 um 23:48 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 03-12-2008, 06:43
michaelb
 Newbie
Links : Onlinestatus : michaelb ist offline
Registriert seit: Sep 2008
Beiträge: 12
michaelb ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So, ich habe den Text nochmal neu formatiert, ist aber gar nicht so einfach, denn der Editor zeigt ein total schiefes Bild, man muss also echt raten, in welche Richtung man welche Zeile verrücken muss, so das es anständig formatiert ist.

So nun will ich mal das Problem genauer beschreiben:

normalerweise sollte ich wenn das Login(Login oder Name/Vorname) und das Kennwort nicht übereinstimmen eine Seite mit der erneuten Eingabeaufforderung erhalten.
Ich erhalte aber teilweise meine Anwendung, mit nicht gesetzter Sessionvariable. Soweit ich das bis jetzt ausgetestet habe, verhält sich das so gebe ich login und kennwort verkehrt an, so erhalte ich die Seite mit der leeren Sessionvariable, gebe ich nur Login an, so erhalte ich die Anmeldeseite mit der Aufforderung mich erneut anzumelden.

Gruß

Michael
Mit Zitat antworten
  #4 (permalink)  
Alt 03-12-2008, 08:18
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also Dein code fängt schon etwas unlogisch an da Du davon ausgehst dass variablen gesetzt sind, wenn andere es nicht sind, ok, aber schau mal hier:
Code:
  if (($uname=$_POST['user'] and $uvorname =$_POST['vor_user']and $kennwort=$_POST['kennwort']) 
or ($ulogin=$_POST['login'] and $kennwort=$_POST['kennwort']))
imho wird diese Bedingung immer wahr sein, sofern alle vars gesetzt sind daher kommt eine Weiterleitung nach start.php
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #5 (permalink)  
Alt 03-12-2008, 08:21
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

und damit Du weisst warum die session leer ist:
Code:
 while($zeile=mysql_fetch_array($ergebnis,MYSQL_BOTH))                   
                {
               $uid=$zeile["id"];               
                $uname=$zeile["name"];               
                $uvorname=$zeile["vorname"];               
                $ulogin=$zeile["login"];               
                $kennwort=$zeile["kennwort"];
                }      
             mysql_free_result($ergebnis); 
             session_start(); 
                $_SESSION['id']=$uid; 
                $_SESSION['vorname']=$uvorname;
                $_SESSION['name']=$uname;
Du füllst immer Deine Session, egal ob dein $zeile=mysql_fetch_array($ergebnis,MYSQL_BOTH) ein Ergebnis hat oder nicht. Besser wäre direkt am Anfang wenn der login falsch ist, eine Abweisung zu erzeugen.


und dann ganz wichtig, beschäftige Dich mal mit sql injections, Dein geschriebener Code schreit förmlich danach
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:20 Uhr.