PHP Session werkt niet (ik ben slecht in session D:)

Status
Niet open voor verdere reacties.

timboiscool

Gebruiker
Lid geworden
27 nov 2008
Berichten
205
Hallo

hier ben ik (weer).

zoals ik in een vorige post heb gezegd ben ik met een site bezig en inloggen maar nu kom ik het volgende probleem tegen:

Het inloggen is gelukt ik snap ook wat ik verkeerd had gedaan.

maar als ik nu inlog en ik 'refresh' de pagina dan ben ik meteen weer uitgelogd waarom?

want ik heb een sessie gemaakt wanneer ik inlog.
en dan set ik een variable die dus mijn username opgeeft en daarmee heb ik een if statement op gezet die kijkt op die variable niet 'null' is als hij dan null is laat hij het inlog scherm zien als het dus niet null is moet hij mijn naam laten zien!

Dit doet hij dus niet D:
Als iemand enig idee heeft en dat zou willen posten dan zou ik dat heel aardig vinden XD

code:

PHP:
<html>

<head>
<link href="styles/homecss.css" rel="stylesheet" type="text/css">

<title>FriendsLink</title>
</head>

<body>

<div id="container">

<div id="user">
<?php
error_reporting(0);
require('connectmysql.php');
session_start();

$subm = $_POST['subm'];
$usern = $_POST['username'];
$pass = $_POST['pass'];
$logout = $_POST['logout'];

if($logout){
Session_destroy() or die("could not logout!");

echo "You Logged out!";
}


if($subm){

$query = sprintf("SELECT * FROM members WHERE usernames = '%s' AND passwords = '%s'", mysql_real_escape_string($usern), mysql_real_escape_string($pass));
$extract = mysql_query($query) or die(MYSQL_ERROR());
$numrows = mysql_num_rows($extract);
$row = mysql_fetch_assoc($extract);
$gusern = $row['usernames'];
$guserp = $row['passwords'];


if($usern == $gusern && $pass == $guserp && $usern != null && $pass != null){

session_start();
$susern = $_SESSION['usern'] = $usern;
$_SESSION['logdin'] == "true";

echo "<h2>Succesfully logged in!</h2>";

}else{

echo "Username or password is incorrect! <br> Please try again!";

}
}

if($susern == null){


echo "
<form name='Login' method='POST' action='index.php'>

<br>
<br>
<br>
<h3>Username:</h3>
<input type='text' name='username' />
<br>
<h3>Password:</h3>
<input type='password' name='pass'/>
<br>
<br>
<input type='submit' name='subm' value='Login'/>
<br>
<br>
<a href='register.php'>Don't have a account?<br>Register!</a>
<br>
</form>
";

}else{

echo "
<br>
<img src='images/$susern.png' alt='$susern' width='150' height='200' /> 
<h3>Welcome<br>$susern</h3>
<br>
<br>

<form name='logoutform' action='index.php'>

<input type='submit' value='Logout' />

</form>



";


}



?>


</div>

<div id="information">information</div>

<div id="footer">footer</div>

</div>

</body>

</html>

Groetjes, Tim.
 
Het punt waar jij session_start() neerzet, is te laat. Dan is er al output verstuurd en kunnen geen headers meer verstuurd worden. Dit soort dingen zou je zien als je er geen error_reporting(0) neer had gezet. Dat zou je er eventueel neer kunnen zetten wanneer je site live gaat, maar tot die tijd zijn errors een heel erg nuttig hulpmiddel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan