Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 18:34

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Login Formular klappt nicht wirklich

Discussion on Login Formular klappt nicht wirklich within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1


 
DasPrinzip.'s Avatar
 
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
Login Formular klappt nicht wirklich

Hey Hey,

PHP Code:
if(isset($_POST['submit'])){
    
$dbHost "**";        
    
$dbUser "**";            
    
$dbPass "**";           
    
$dbDatabase "**";    
    
    
$db mysql_connect($dbHost,$dbUser,$dbPass)or die("Error connecting to database.");

    
mysql_select_db($dbDatabase$db)or die("Couldn't select the database.");

    
    
$usr mysql_real_escape_string($_POST['user']);
    
$pas mysql_real_escape_string($_POST['pass']);
    
$sql mysql_query("SELECT * FROM *Tabelle*
        WHERE username='
$usr' AND
        pass='
$pas'
        LIMIT 1"
);
    if(
mysql_num_rows($sql) == 1){
        
$row mysql_fetch_array($sql);
        
session_start();
        
$_SESSION['username'] = $row['username'];
        
$_SESSION['logged'] = TRUE;
        
header("Location: index.php");
        
    }else{
        echo 
'<font color="red">Login Fehlgeschlagen!</font>';
        
    }

HTML Code:
<form action="login.php" method="POST">
                        <ul class="forms">
                        	<li class="txt bold">Username<span class="req">*</span></li>
                            <li class="inputfield"><input type="text" name="user" class="bar" /></li>
                        </ul>
                        <ul class="forms">
                        	<li class="txt bold">Passwort <span class="req">*</span></li>
                            <li class="inputfield"><input type="password" name="pass" class="bar" /></li>
                        </ul>
                        <ul class="forms">
                        	<li class="txt">&nbsp;</li>
                            <li><input type="submit" name="submit" value="Login" class="simplebtn"> <a href="#" class="forgot">Forgot Your Password?</a></li>
                        </ul>
						</form>
Session wird aber nicht gespeichert?
Und auf die Index.php werde ich auch nicht weitergeleitet, wie es eigentlich passieren sollte?

Liebe Grüße
DasPrinzip. is offline  
Old 09/03/2013, 16:28   #2

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
Die Session wird gespeichert. Aber du speicherst niemals in nem Cookie, wie sie heißt - oder lädst den Session Namen aus dem Cookie. Wie soll die Session also funktionieren?
Zudem vergisst du, die MySQL Verbindung zu schließen (ich würde btw. eher MySQLi - oder noch besser PDO - empfehlen)
マルコ is offline  
Old 09/04/2013, 07:04   #3
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
PHP Code:
session_start(); 
Das gehört eig. ganz nach oben. Dann wird die Session gespeichert.

Natürlich musst du für jede weiter Seite in der du die Sessions brauchst, auch wieder die mit session_start(); die Session weiterlaufen lassen.

Zur Weiterleitung:
Wenn du vorher schon HTML Code vor der header()-Funktion hattest, dann werden die Header-Nachrichten nicht mehr übermittelt und die Weiterleitung wird nicht angesprochen.
Mikesch01 is offline  
Old 09/05/2013, 04:28   #4

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
Quote:
Originally Posted by Mikesch01 View Post
PHP Code:
session_start(); 
Das gehört eig. ganz nach oben. Dann wird die Session gespeichert.

Natürlich musst du für jede weiter Seite in der du die Sessions brauchst, auch wieder die mit session_start(); die Session weiterlaufen lassen.
Das ist so nicht richtig. Wo die Session anfängt, ist egal, so lange er davor nicht drauf zugreift. Was ihm fehlt ist einfach nur
マルコ is offline  
Old 09/05/2013, 06:38   #5
 
paddelx3's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 202
Received Thanks: 133
PHP Code:
if(isset($_POST['submit'])){
    
$dbHost "**";        
    
$dbUser "**";            
    
$dbPass "**";           
    
$dbDatabase "**";    
    
    
$db mysql_connect($dbHost,$dbUser,$dbPass)or die("Error connecting to database.");

    
mysql_select_db($dbDatabase$db)or die("Couldn't select the database.");

    
    
$usr mysql_real_escape_string($_POST['user']);
    
$pas mysql_real_escape_string($_POST['pass']);
    
//Bis hierhin ist alles richtig, und ab da machst schon den ersten Fehler, du hast die Variable $user falsch escaped (username='".$user."' AND pass="'.$pas.'") ;)
    
$sql mysql_query("SELECT * FROM *Tabelle*
        WHERE username='
$usr' AND
        pass='
$pas'
        LIMIT 1"
);
    if(
mysql_num_rows($sql) == 1){
        
$row mysql_fetch_array($sql);
        
//session start würde ich grundlegend am Anfang einer jenen Datei setzen, der vorbeugung und übersichtlichkeit halber.
        
session_start();
        
// die Session "logged" ist nicht relevant, prüfe einfach ob $_SESSION['username'] gesetzt ist (isset())
        
$_SESSION['username'] = $row['username'];
        
$_SESSION['logged'] = TRUE;
        
header("Location: index.php");
        
    }else{
        echo 
'<font color="red">Login Fehlgeschlagen!</font>';
        
    }



lg
paddelx3 is offline  
Old 09/05/2013, 08:23   #6

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Quote:
Die Session wird gespeichert. Aber du speicherst niemals in nem Cookie, wie sie heißt - oder lädst den Session Namen aus dem Cookie. Wie soll die Session also funktionieren?
Quote:
Originally Posted by マルコ View Post
Das ist so nicht richtig. Wo die Session anfängt, ist egal, so lange er davor nicht drauf zugreift. Was ihm fehlt ist einfach nur
Muss er nicht. Mit session_start() kann er neue und sowohl auch vorhandene SESSIONS neu laden. Ich weiß nicht warum du meinst dass er die ID gezwungener Maßen in nem Cookie speichern muss, denn auch dies ist egal, da sobald session_start aufgerufen wird direkt ein Cookie namens PHPSESSID gesetzt wird. Es ist auch egal ob man vorher darauf zugreift, durch session_start() wird der ganze Prozess initialisiert.
Synatex is offline  
Old 09/05/2013, 17:40   #7

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
afaik ist dies nicht immer der Fall. Deshalb würde ich darauf tippen.
マルコ is offline  
Old 09/05/2013, 22:05   #8

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Quote:
afaik ist dies nicht immer der Fall. Deshalb würde ich darauf tippen.
Die Session ID wird nur nicht abgespeichert wenn Cookies deaktiviert sind - dann wird das ganze bekanntermaßen per URL übergeben. Andernfalls wird die ID immer mitgesetzt (jedenfalls momentan, wer weiß wie das mit den "neuen" EU Cookie Regeln die seit ein paar Jahren umgesetzt werden sollen aussieht)

By the way pack das session_start() an den Anfang des Dokuments bzw dahin wo du noch keinen Content ausgegeben hast (in der Datei der Fall). Wenn die Header bereits gesendet wurden hast du keine Möglichkeit mehr Cookies o.Ä. zu setzen (man weiß ja nicht, ob du die Datei includest oder nicht)
Synatex is offline  
Old 09/06/2013, 12:35   #9


 
DasPrinzip.'s Avatar
 
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
Quote:
Originally Posted by Synatex View Post
Die Session ID wird nur nicht abgespeichert wenn Cookies deaktiviert sind - dann wird das ganze bekanntermaßen per URL übergeben. Andernfalls wird die ID immer mitgesetzt (jedenfalls momentan, wer weiß wie das mit den "neuen" EU Cookie Regeln die seit ein paar Jahren umgesetzt werden sollen aussieht)

By the way pack das session_start() an den Anfang des Dokuments bzw dahin wo du noch keinen Content ausgegeben hast (in der Datei der Fall). Wenn die Header bereits gesendet wurden hast du keine Möglichkeit mehr Cookies o.Ä. zu setzen (man weiß ja nicht, ob du die Datei includest oder nicht)
Deswegen werden meine Cookies nicht gesetzt :P
die Nav- Datei wird von jeder Datei included.
D.h. ich habe jetzt mal bei jeder Seite das session_start(); an den anfang gesetzt .. Danach kommt eine Abfrage ob die Session gesetzt wurde und gibt jeweils die Navigation aus.

PHP Code:
                <?    
                    $session 
$_SESSION['username'];
                
                        if(!isset(
$session)){
                            echo 
'
                                <li class="last"><a href="./login.php">Login</a></li>
                                <li class="last"><a href="./reg.php">Registrieren</a></li>
                            '
;
                        }else{
                        echo 
'&nbsp;&nbsp;Willkommen, '.$session;
                        echo 
'&nbsp;&nbsp;
                                <li class="last"><a href="./myacc.php">Mein Account</a></li>
                                <li class="last"><a href="./fav.php">Favouriten</a></li>
                                <li class="last"><a href="./logout.php">Logout</a></li>
                        '
;
                        }
                
?>
^ist die includierte Datei

Wenn ich jedoch von der Login Seite auf die Startseite gehe, erscheint das Erste, was heißt die Session ist nicht mehr aktiv.

Und die Session beginnt auf der Startseite vor dem Header
DasPrinzip. is offline  
Old 09/06/2013, 14:58   #10

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Es wäre einfach mal gut die kompletten Dateien zu sehen, die die du als Basis nutzt sowie die, wo du dein Problem findest. Ohne Übersicht können wir dir leider auch nicht helfen sondern nur raten.
Synatex is offline  
Reply


Similar Threads Similar Threads
FREE G1 CREDITS klappt wirklich
04/29/2011 - WarRock - 1 Replies
hi leute wenn ihr 1200 bis 2000 g1 credits wollt müsst ihr einfach unter diesem link gehen und registrieren und dann die credit anzahl wählen dann jedem dieses link schicken. link:http://gifts.********************/?f=138407
[VB]Explorer schließen, klappt nicht wirklich
09/26/2010 - .NET Languages - 2 Replies
Hey Leute Ich arebite im Moment an einem Programm, das mein Pc schützen soll, wenn ich mal afk bin. Es soll per Knopfdruck den Prozess explorer.exe beenden und dann soll ein Passwortfeld erscheinen, wo man sein Passwort eingibt, damit explorer.exe wieder gesatrtet wird. Schön und gut. Ich benutze folgenden Code um explorer.exe zu beenden: For Each Explorer In Process.GetProcessesByName("explorer") Explorer.Kill()
Es klappt wirklich !!! Der itemuppbluff:)
04/29/2010 - 4Story Hacks, Bots, Cheats & Exploits - 50 Replies
Hey leute ich habe den upphack von suckz asuprobiert.. damit ihr es nicht ausprobieren müsst habe ich für euch ein video gemacht.. YouTube - Upphack 4story!!! P.s Bitte nicht so viel bemängeln is mein erstes Topic hier:) Lg



All times are GMT +2. The time now is 18:34.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.