Login

09/01/2015 22:42 Andi#1
Heyho,ich habe ein kleines Problem und zwar leitet mich mein Login Script nach dem Login leider nicht weiter.


Mein Script:
PHP Code:
<?php 
session_start
(); 
?> 


<?php include 'config.php'?>


<?php 
$verbindung 
mysql_connect($host$user $pass
or die(
"Verbindung zur Datenbank konnte nicht hergestellt werden"); 
mysql_select_db($db) or die ("Datenbank konnte nicht ausgewählt werden"); 


$username $_POST["username"]; 
$passwort md5($_POST["passwort"]); 


$abfrage "SELECT username, passwort FROM login WHERE username LIKE '$username' LIMIT 1"
$ergebnis mysql_query($abfrage); 
$row mysql_fetch_object($ergebnis); 


if(
$row->passwort == $passwort
    { 
    
$_SESSION["username"] = $username
    
header('Location: home.php');
    } 
else 
    { 
    
header('Location: index.php');
    } 


?>
09/01/2015 23:34 Daifoku#2
[Only registered and activated users can see links. Click Here To Register...]

Quote:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.
Dazu kommt, dass du nach dem Aufruf von header die Ausführung mit exit; beenden solltest
09/01/2015 23:53 Andi#3
Quote:
Originally Posted by Daifoku View Post
[Only registered and activated users can see links. Click Here To Register...]



Dazu kommt, dass du nach dem Aufruf von header die Ausführung mit exit; beenden solltest
klappt i.wie immer noch nicht habe ich was übersehen?
PHP Code:
if($row->passwort == $passwort
    { 
    
$_SESSION["username"] = $username
    
header("Location: http://beta.xevernet.biz/cms/"); /* Redirect browser */
    
    
exit;
    } 
else 
    { 
    
header("Location: http://beta.xevernet.biz"); /* Redirect browser */
    
    
exit;
    } 
09/02/2015 00:01 Daifoku#4
wahrscheinlich hast du irgendwo eine leere Zeile
Was siehst du denn nach dem einloggen ? Sollte eine komplett weiße/leere Seite sein. Du beendet schließlich mit exit; jegliche Weiterverarbeitung.

Mach zusätzlich mal Error Reporting an
error_reporting(E_ALL);
header() muss eine Fehlermeldung liefern. (header already sent)
09/02/2015 00:03 Andi#5
Quote:
Originally Posted by Daifoku View Post
wahrscheinlich hast du irgendwo eine leere Zeile
Was siehst du denn nach dem einloggen ? Sollte eine komplett weiße/leere Seite sein. Du beendet schließlich mit exit; jegliche Weiterverarbeitung.

Mach zusätzlich mal Error Reporting an
error_reporting(E_ALL);
header() muss eine Fehlermeldung liefern. (header already sent)
Als Fehler kommt folgendes dann:
Code:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/8/d581865695/htdocs/xevernet/beta/login.php:2) in /homepages/8/d581865695/htdocs/xevernet/beta/login.php on line 24
09/02/2015 00:05 ComputerBaer#6
PHP Code:
<?php 
session_start
(); 
?> 


<?php include 'config.php'?>


<?php 
$verbindung 
mysql_connect($host$user $pass
or die(
"Verbindung zur Datenbank konnte nicht hergestellt werden");
Da gibst du vier leere Zeilen aus, PHP hat also schon längst eigene Header generiert und an den Client geschickt bevor du überhaupt die Logindaten überprüfst. Das Problem solltest du einfach lösen können

PHP Code:
<?php 
session_start
(); 

include 
'config.php';

$verbindung mysql_connect($host$user $pass
or die(
"Verbindung zur Datenbank konnte nicht hergestellt werden");
Edit:
Du solltest die Passwörter nicht als einfachen md5-Hash speichern.
[Only registered and activated users can see links. Click Here To Register...] / [Only registered and activated users can see links. Click Here To Register...]
09/02/2015 00:07 Daifoku#7
Entferne die Ausgabe an den Stellen und es sollte gehen.
Vor header darf absolut gar nichts ausgegeben werden. Keine Fehlermeldung, keine Echos/prints, einfach gar nichts. Leerzeichen am Anfang der Datei werden auch als Ausgabe betrachtet
09/02/2015 00:21 Andi#8
Habe es jetzt gelöst, danke :awesome:
09/02/2015 02:10 manniL#9
Nebenbei: Nutze anstatt der deprecated mysql-Schnittstelle lieber mysqli oder PDO :)
09/02/2015 20:25 coladose#10
[Only registered and activated users can see links. Click Here To Register...]
^pass auf was du mit deiner query machst!

=>[Only registered and activated users can see links. Click Here To Register...]