Toon posts:

[php]cookie ???

Pagina: 1
Acties:

Verwijderd

Topicstarter
hi. ik heb een raar cookie probleem bij mijn login script.
ik 2 file's hier onder. account en check.php

de laatste check password met pass db. dan wordt er geredirect naar account.php

maar dan komt het probleem. ik krijg die cookie niet uit gelezen. rara waarom niet?

wie ziet de oplossing.

bedankt.
--------------------------------
file's..


check.php
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
26
27
28
29
30
31
<?
include("db_connect.php");
include("config.php");

// id, password are selected out of the db.
$sql = "SELECT id, pass FROM users WHERE user='$user'";
$sql_result = mysql_query($sql) or die ("MySql wasn't able to execute this Query");

$row = mysql_fetch_array($sql_result);

$id = $row[id];
$pass_db = $row[pass];

// password check.

if (strlen($user) == 0 OR strlen($pass) == 0) {$pass = wrong; } 

if ($pass == $pass_db) {

setcookie("id", $id, 0);
setcookie("secret", $secret_word, 0);

// redirect to account.php
header("Location: ../account.php?action=main");      

} else { ?>

error

<? } 
?>

account.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
 

// include the databse connect information and config file
include("includes/db_connect.php");
include("includes/config.php");

if ($HTTP_COOKIE_VARS["secret"] == $secret_word) {

$sql = "SELECT user from users where id = $id";
$sql_result = mysql_query($sql) or die ("MySql wasn't able to execute this Query");

$row = mysql_fetch_array($sql_result);
$user = $row[user];

echo "<BR> Welcome to your Account $user <BR><BR>";

} else {

echo "error";

}
?>

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Zet je cookie gedoe van je browser es op "ask me before allowing cookie" of kijk es wat voor cookies er geset zijn bij je page.

Daarnaast kan een "print_r($HTTP_COOKIE_VARS)" nog helpen om wat meer info te tonen.

  • TheMrH
  • Registratie: April 2000
  • Laatst online: 01-09 22:45
Heb ik ook wel eens gehad. Bij mij was de oplossing ipv die head redirect eentje via javascript te doen....

Tevens waren er wat probleempjes met IE 5.0 en dit soort dingen

The box said 'requires Windows 95 or better', so I installed Linux...


  • viper
  • Registratie: Augustus 1999
  • Laatst online: 16-09 20:02
kweenie zeker hoor, want tis echt superlang geleden voor me. maar moest je cookies niet bovenaan ergens pleuren, voordat je iets anders gaat doen?

Verwijderd

Topicstarter
iemand nog een andere oplossing?

ik heb ff een test geval gemaakt.

cookie.php
PHP:
1
2
3
4
5
6
7
8
<?
$bla = 'koekje testen';

setcookie('test', "$bla",0);

// redirect to cookie2.php
   header("Location: cookie2.php");   
?>

cookie2.php
PHP:
1
2
3
4
5
6
7
8
9
<?
// echo "$test <BR><BR>";

$ug = $HTTP_COOKIE_VARS['test'];

echo "$ug <BR><BR>";

print_r($HTTP_COOKIE_VARS);
?>

en hier gaat het probleem loos. komt het omdat er tekst voor staat? maar ik moet eerst kijken of de passes wel kloppen voordat ik de cookie's wil zetten..

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-09 18:58
Het komt inderdaad doordat er voor het setten van de cookie text wordt weggeschreven, misschien zit er iets van een echo() of print() in die include()s die je aanroept?

  • TheMrH
  • Registratie: April 2000
  • Laatst online: 01-09 22:45
Heb je al geprobeerd met een JavaScript redirect ipv die header? Wedden dat het dan wel werkt?


Dus:
header("Location: cookie2.php")
PHP:
1
2
3
<?
echo 'window.location.href = "cookie2.php";';
?>

Verder wordt er in die test bestanden geen text verstuurd voor die setcookie, want dan zou je, mits in standaard config, een Warning krijgen....

The box said 'requires Windows 95 or better', so I installed Linux...

Pagina: 1