php sessie op andere server werkt niet

Pagina: 1
Acties:

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
ik heb een login script (login.php en logged.php) op een andere server draaien dan de index.htm ..
de reden hiervan is dat deze login.php en logged.php gebruik maken van de database die op dezelfde server (waar de php bestanden op staan) staat.

nu kan ik wel inloggen, als ik direct de login.php aanroep op de desbetreffende server, maar niet als ik login.php op een andere server aanroep (via de index.htm op de andere server) ..

als ik de login.php aanroep middels de index(frames) dan accepteerd hij niet de 2 variabelen $pagina en $loginValid ..

wat doe ik hier fout ?

hieronder mijn 2 pagina 's

login.php zoekt het aantal rijen waar de naam & wachtwoord gelijk is aan de input op de website, en als dit klopt, dan wordt de variabele loginValid op true gelogged als sessie-variabele en de variabele print ook ..


login.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
32
33
34
35
36
37
38
39
40
41
42
 
<?php 
session_start(); 
$naam=$naam; 
$wachtwoord=$wachtwoord; 
if ($Submit==True) 
{ 
mysql_connect("localhost", "x", "x") 
     or die("Kan niet verbinden"); 
mysql_select_db("deboeinijverdal") 
     or die("Kan geen database selecteren"); 
//$naam=$naam; 
//$wachtwoord=$wachtwoord; 
//$query = "select naam,achternaam from jeugduser where naam='$naam' and wachtwoord='$wachtwoord'"; 
$query="select * from jeugduser where naam='$naam' AND wachtwoord='$wachtwoord'"; 
$run = mysql_query($query); 
if (mysql_num_rows($run) == 1) 
{ 

$pagina= true; 
$loginValid = true; 
session_register("loginValid"); 
session_register("pagina"); 
header("Location: logged.php"); 
//header("HTTP/1.0 200 OK"); 


//if (mysql_num_rows($run) == 1) 
//{ 
//  $_SESSION['loginValid'] = true; 
  //echo $_SESSION['loginValid']?"TRUE":"FALSE"; 
  
// header("Location: logged.php"); 
} 
else 
{ 
$rows=0; 
  $_SESSION['loginValid'] = false; 
} 
} 
?> 
enz.. 



logged.php:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php 
session_start(); 
// session_start(); 
//echo $_SESSION['loginValid']?"TRUE":"FALSE"; 
//  if (!isset($_SESSION['loginValid'])) 
//$row=1; 
if (!isset($loginValid) || !isset($pagina)) 
{ 

  header("Location: login.php"); 
  } 
    else 

    { 
include("connection.inc"); 
?> 
enz.. 



wat ik dus niet snap, is als je dus het php script login.php aanroept in de browser zonder frames, dit wel werkt, maar als hij deel uitmaakt van een frameset op een andere server , dan doen de 2 variabelen het niet ..

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Kijk eerst eens in je /tmp map of er wel wat in de session_cookies staat.

Kijk daarna of je --trans_sid meegecompiled hebt. Oftewel, maak je een nieuwe sessie aan in logged.php of gebruik je de oude.

Zet je code op GoT tussen [ php] [ /php] tags.

Ik blijf er iig vrij nuchter onder....


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
ik test het niet lokaal .. dus kan ik het niet zien

Verwijderd

"als ik de login.php aanroep middels de index(frames) dan accepteerd hij niet de 2 variabelen $pagina en $loginValid ."

Hoe bedoel je dit? Hoe merk je dat hij de variabelen 'niet accepteert'? Hebben ze geen waarde? Geen ie een foutmelding?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Waneer de pagina in een frame van een andere site staat kan het heel goed voorkomen dat het koekje niet word geaccepteerd. Kijk desnoods ff in het privacy report van IE om te kijken of ie mischien een koekje negeerd.

Daarnaast lijkt het me ook niet handig om allerlei verschillende notaties door elkaar te gebruiken. Gebruik of de superglobals ($_SESSION) of de register methoden, maar niet beiden door elkaar.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
okay..
1. ik gebruik geen kookje, maar sessie (of mis ik nu iets ?)
2. $_SESSION wordt nog niet geaccepteerd, omdat de server met een oude php-versie werkt ..
je hebt gelijk, moet ze niet door elkaar gebruiken, maar als de login false is, heb je er toch nix an ..

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
quote: "als ik de login.php aanroep middels de index(frames) dan accepteerd hij niet de 2 variabelen $pagina en $loginValid ."

Hoe bedoel je dit? Hoe merk je dat hij de variabelen 'niet accepteert'? Hebben ze geen waarde? Geen ie een foutmelding?
hij geeft geen waarde mee .. dus hij verstuurt niet de sessie-waarde... dan neem ik dus aan dat de sessie misschien niet goed gelogged wordt ..

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
PHP:
1
print phpinfo();


zo kan je wel zien of je trans-sid meegecomiled is

Versie 4.2 heeft het standaard volgens mij

Ik blijf er iig vrij nuchter onder....


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

whitehouse schreef op 04 november 2002 @ 12:15:
1. ik gebruik geen kookje, maar sessie (of mis ik nu iets ?)

Een sessie kan gebruik maken van een cookie of van een extra lange URL (staat er &SID=langeblaatstringuniektewezen achter je url)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1