2016-11-12 4 views
0

Ich bin so ziemlich ein Anfänger zu PHP seit ich gewechselt habe. Meine Registrierung funktioniert einwandfrei und Sie melden sich an (prüfen, ob es in der Datenbank ist). Ich bin verwirrt über die Verwendung der Sitzung (Benutzer anzeigen, der angemeldet ist).Profildaten aus der Datenbank anzeigen, wenn ich mich anmelde

Das ist mein login.php: (adaequat)

<?php 
$Regusername = $_POST['username']; 
$Regpassword = $_POST['password']; 

$dbc = @mysql_connect('localhost' , 'root',''); 
@mysql_select_db('market', $dbc); 

$query1 = "SELECT username FROM customer WHERE password='$Regpassword' and username='$Regusername'"; 

$r1 = @mysql_query($query1, $dbc); // user 
$row1 = mysql_fetch_array($r1); // 

if ($row1['username'] == $Regusername && $Regpassword) { 
    session_start(); 
    $_SESSION['username']==$row1['username']; 
    Header("Location: home.php"); 
    } 
else 
    { print '<p> <h1> Ooops, error login, please try again. </h1></p>'; } 
?> 

dann in meinem profile.php. An der Spitze habe habe ich bereits "$ link = mysql_connect ('localhost', 'root', '');"

<?php 
    session_start(); // Start Session Data 
    $username = $_SESSION['username']; 
?> 


<?php 
    echo "Name: ".$_SESSION['username']."" ; //Undefined index: username in this line, the error shows up. 
?> 

t wird nur angezeigt, Name: Hoffnung jemand hilft mir, was Vermisse ich oder sollte ich hier wechseln. Vielen Dank im Voraus.

+0

Sind Sie sicher, dass die Sitzung festgelegt ist? 'if ($ row1 ['Benutzername'] == $ Regusername && $ Regpassword) {' schaut zu mir. – Daniel

+0

Haben Sie die Datenbank überprüft, um sicherzustellen, dass der Benutzername darin gespeichert wird? – wuno

+0

@Daniel - Ich habe es verwendet, um in der Datenbank einzuchecken .. Sollte ich irgendwo hier entfernen oder ändern? – Poofbrayy

Antwort

1

Sie nie die Sitzung festgelegt:

$_SESSION['username']==$row1['username']; // is the same as 1=1 = true 

, die eine logische „Abfrage“ ist, dass die Sitzung bedeutet Zeile = true. Es sollte jedoch eine Anweisung sein, bei der Sie die Sitzung auf die gleiche Zeile setzen. Entferne eines der Gleichheitszeichen.

auch, sieht diese Linie eher verwirrend

if ($row1['username'] == $Regusername && $Regpassword) 
+0

ohmygad es hat funktioniert. Ich habe gerade einen = entfernt. Vielen Dank .. diese Linie funktioniert gut hier .. – Poofbrayy

Verwandte Themen