register_globals=off / $_SESSION

logisch erscheint mir das wenn ich die sessid im browser modifiziere das er dann maybe ne neue anlegt weil ja keine vorhanden das die dann 0 byte hätte is mir auch klar

was mit nicht in die birne geht wie kann er bei 1.php auch eine 0 byte anlegen wenn ich mir auf der 1.php sogar noch das $_SESSION['1'] ausgeben lass und ein ergebnis kommt ?
 
Vielleicht musst Du in Script 2 erstmal die SessionID mittels session_id($id) setzen bevor Du die Daten auslesen kannst. Ist jetzt mal so 'ne Idee.
 
funktioniert auch nicht ! hab sogar eben mal register globals an gemacht !

php hab ich compiliert mit


./configure --with-apache=../apache_1.3.33 --with-mysql=/usr/include/mysql --with-config-file-path=/etc/new --enable-sockets --disable-all --with-pcre-regex --enable-session
 
Wenn ich PHP kompilier enable ich ein paar Sachen, aber disable nichts.
Aber ich glaub nicht, dass es damit zusammenhaengt.

Probier das hier:
PHP:
session_id($id);
session_start();
mal andersrum. Also erst session_start und dann session_id.
 
nope geht auch nicht ! beide konstellationen !

du enablest sicher auch nur kram den du brauchst deswegen hab ich disable all und nur mysql und sessions mehr brauch ich net ;)
 
DjGorilla hat gesagt.:
nope geht auch nicht ! beide konstellationen !

du enablest sicher auch nur kram den du brauchst deswegen hab ich disable all und nur mysql und sessions mehr brauch ich net ;)
Richtig, zusaetzlich hab ich z.B. noch die gdlib drin zur Bildverarbeitung.

Im Moment weiss ich auch nicht weiter bei Deinem Problem. Werde vielleicht mal was rumprobieren wenn ich Zeit hab.
 
Ich hab vorhin mal was rumprobiert, da Dein Problem mich halt zum Nachdenken angeregt hat was ich denn mit Usern mache die meine Seite nutzen wollen aber keine Cookies aktiviert haben.
Ich hab mir jetzt folgendes einfallen lassen:
In meiner Datenbank gibt es jetzt eine neue Tabelle namens sessions, diese enthaelt die SessionID, ggf. die UserID und ob Cookies aktiviert sind oder nicht.
Folgenden Code hab ich dann umgesetzt um das Website-maessig umzusetzen:
index.php
PHP:
<?
ob_start();
$db=mysql_connect("host","user","password");
mysql_select_db("testdb",$db);
?>
<html>
<body>
<?
$sessionid=$_GET["sessionid"];
if ($sessionid)
 {
  session_id($sessionid);
 }
session_start();
$sessionid=session_id();
$sessions=mysql_query("select * from sessions where sessionid='$sessionid'",$db);
$session=mysql_fetch_array($sessions);
if (!$session)
 {
  header("Location:check.php?sessionid=".$sessionid);
 }
if ($session[2]=="1")
 {
  printf("Cookies active");
 }
if ($session[2]=="0")
 {
  printf("Cookies inactive");
 }
?>
</body>
</html>
<?
$db=mysql_close($db);
ob_end_flush();
?>

check.php
PHP:
<?
if ($_GET["sessionid"])
 {
  $sessionid=$_GET["sessionid"];
  session_id($sessionid);
  session_start(); 
  if (!$_GET["check"]) 
   { 
    setcookie("test","test",time()+3600); 
    header("Location:check.php?sessionid=".$sessionid."&check=1"); 
   } 
  else 
   {
    if ($_COOKIE["test"]=="test") 
     {
      $cookies="1"; 
     } 
    else 
     { 
      $cookies="0"; 
     }
    $db=mysql_connect("host","user","password");
    mysql_select_db("testdb",$db); 
    mysql_query("insert into sessions (sessionid,cookies) values ('$sessionid','$cookies')",$db);
    $db=mysql_close($db); 
    setcookie("test","test",time()-3600);
    if ($cookies=="1")
     {
      header("Location:index.php");
     }
    else
     {
      header("Location:index.php?sessionid=".$sessionid);
     } 
   }
 } 
?>
 
Zurück