Probleem met ophalen informatie uit database
Het script ziet er als volgt uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
$host = "localhost";
$gebruiker = "*****";
$wachtwoord = "*****";
$database = "*****";
$verbinding = mysql_connect($host, $gebruiker, $wachtwoord);
if($HTTP_COOKIE_VARS['session']) {
$session=$HTTP_COOKIE_VARS['session'];
$opdracht = "SELECT * FROM pa_users WHERE session_id = $session";
$resultaat = mysql_db_query ($database, $opdracht, $verbinding);
while ($rij = mysql_fetch_array ($resultaat)){
$nick = "$rij[nick]";
echo "<p class='tekst'>Welcome $nick. We're still testing so please be patient. Click <a href='loguit.php'>here</a> to log off.</p>";
}
}
else {
header("Location: login.php");
}
?>
$host = "localhost";
$gebruiker = "*****";
$wachtwoord = "*****";
$database = "*****";
$verbinding = mysql_connect($host, $gebruiker, $wachtwoord);
if($HTTP_COOKIE_VARS['session']) {
$session=$HTTP_COOKIE_VARS['session'];
$opdracht = "SELECT * FROM pa_users WHERE session_id = $session";
$resultaat = mysql_db_query ($database, $opdracht, $verbinding);
while ($rij = mysql_fetch_array ($resultaat)){
$nick = "$rij[nick]";
echo "<p class='tekst'>Welcome $nick. We're still testing so please be patient. Click <a href='loguit.php'>here</a> to log off.</p>";
}
}
else {
header("Location: login.php");
}
?>
Zodra ik van SELECT * FROM pa_users WHERE session_id = $session
SELECT * FROM pa_users maak dan werkt het script wel, maar dan selecteert ie natuurlijk meteen alle gebruikersnamen en dat is niet de bedoeling.
Ik snap niet waarom het script niet wil werken want als ik inlog en in de db kijk is de session_id wel aangepast.
Mijn inlogscript ziet er als volgt uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
session_start();
include("connect.php");
if($action=="send"){
$sql="SELECT * FROM pa_users WHERE nick='$nick' AND wachtwoord='$password'";
$query=mysql_query($sql);
$result=mysql_num_rows($query);
if($result=="1"){
$now = date("d-m-Y");
$session = session_id();
$session = md5(microtime($session));
$update="UPDATE pa_users SET session_id='$session', laatste_login='$now', status='$status' WHERE nick='$nick' AND wachtwoord='$password'";
mysql_query($update);
setcookie("session",$session,time()+9999999);
header ("Location: test.php");
exit();
}
else{
echo"<p class='tekst'>Nickname or password incorrect.</p>";
}
}
?>
session_start();
include("connect.php");
if($action=="send"){
$sql="SELECT * FROM pa_users WHERE nick='$nick' AND wachtwoord='$password'";
$query=mysql_query($sql);
$result=mysql_num_rows($query);
if($result=="1"){
$now = date("d-m-Y");
$session = session_id();
$session = md5(microtime($session));
$update="UPDATE pa_users SET session_id='$session', laatste_login='$now', status='$status' WHERE nick='$nick' AND wachtwoord='$password'";
mysql_query($update);
setcookie("session",$session,time()+9999999);
header ("Location: test.php");
exit();
}
else{
echo"<p class='tekst'>Nickname or password incorrect.</p>";
}
}
?>
Zit hier misschien iets fout waardoor het niet wil werken?
Heb je $session al laten echoën? Of hij wel een waarde heeft?
Ja. Ik heb bij de echo er even Welcome $rij[session_id] van gemaakt en dan geeft hij gewoon de waarde die in de database staat.
Ik snap er dus niks van dat ie niet werkt als ik dan WHERE session_id = $session in de sql zet :S
Quote:
$rij[nick];
Heb je een rij die nick heet?
Denk niet dat het daaraan kan liggen, maar valt me even op...
WHERE session_id = $session moest zijn
WHERE session_id = '$session'