• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem

Status
Für weitere Antworten geschlossen.

andlinga

Neues Mitglied
Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively.



kann mir irgendwer sagen was diese Meldung heißt??

im folgendem Code wird Sie geworfen

PHP:
<?php
session_start();

include("mysql.php");

$username = $_POST['user'];
$pw = $_POST['pass'];

$ergebnis = mysql_query("SELECT * FROM user WHERE username='".$username."'", $dbh);
$row = mysql_fetch_array($ergebnis);

if($row['id'] == "")
{
	//echo "<meta http-equiv=\"refresh\" content=\"0; URL=./loginform2.php?warning=1\">";
}

$pw = md5($pw);
if($row['pw'] != $pw)
{
	//echo "<meta http-equiv=\"refresh\" content=\"0; URL=./loginform2.php?warning=2\">";
}

$_SESSION['uid'] = $row['id'];
$_SESSION['username'] = $row['username'];

//echo "<meta http-equiv=\"refresh\" content=\"0; URL=./u/index.php?uid=".$_SESSION['uid']."\">";
?>
 
du hast eine session-funktion eingebracht, die nur bis zu PHP version 4.2.3 unterstützt wurde.
offenbar hast du eiene neuere, die das nicht mehr kennt, oder ein sicherheitsrisiko draus macht.

Nils aka XraYSoLo
 
Erstell mal eine [phpnet]phpinfo[/phpnet] und schau dir dort den session Bereich an. Desweiteren ist noch interessant, was für eine PHP Version du nutzt.

Die Zuweisungen sehen richtig aus, sollten also theoretisch funktionieren.
 
php.net schrieb:
Es gibt einen Fehler in PHP 4.2.3 und früheren Versionen. Wenn Sie eine neue Session-Variable mittels session_register() registrieren, referenzieren der Eintrag im globalen Bereich und der $_SESSION-Eintrag bis zum nächsten session_start() nicht den selben Wert. D.h. eine Änderung an der neu registrierten globalen Variablen wird nicht vom $_SESSION-Eintrag widergespiegelt. Dies wurde in PHP 4.3.0 korrigiert.
mindestlänge :-!
oder:

[QUOTE="Christian Boltz] [full error message:
"Your script possibly relies on a session side-effect which existed
until PHP 4.2.3. Please be advised that the session extension does
not consider global variables as a source of data, unless
register_globals is enabled. You can disable this functionality and
this warning by setting session.bug_compat_42 or
session.bug_compat_warn to off, respectively."
]

The following short script causes the bug_compat_42 warning to appear.

<?php
session_start();
$_SESSION['var'] = NULL;
$var = "foo";
?>

It took me an hour to find out this :-( - so I post it here to avoid
that more people need such a long time.

Conclusion and test results:

You'll get this warning if $_SESSION['var'] contains NULL and you assign
anything (except NULL) to the global variable $var.

The warning will _not_ appear:
- if $_SESSION['var'] contains anything else - or -
- if you don't use a global variable named $var[/QUOTE]


Ich hoffe, wir müssen dir das net auch noch übersetzten..
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben