Hiho mitnand,
ich habe folgendes Login script geschrieben und nun taucht ein sehr seltsamer Fehler auf.
Hier erst mal der Code, dann die Erläuterung:
Das Formular:
Code
<form action="login.php" method="get">
<input name="name" type="text" />
<input name="pw" type="password" />
<input value="login" style="background-color: #057391; border: 0px; color: #CCCCCC;" name="" type="submit" />
</form>
login.php:
PHP
<?php
session_start();
require( 'config.php' );
require( 'functions/sql/_sql_connect.php' );
if( ($_GET['name'] == '' || !$_GET['name']) || ($_GET['pw'] == '' || !$_GET['pw']) ) {
header("Location: " . HOST );
}
$handle = _sql_connect( SQL_HOST, SQL_USR, SQL_PW, SQL_DB);
if( !$result = mysql_query("SELECT `name`, `id`, `pw` FROM `" . SQL_PREFIX . "usr` WHERE `name` = '" . $_GET['name'] . "'", $handle) ) {
header("Location: " . HOST );
} elseif( mysql_affected_rows() == 0 ) {
header("Location: " . HOST );
} else {
$usr = mysql_fetch_assoc($result);
if( md5($_GET['pw']) == $usr['pw'] ) {
$_SESSION[ $usr['id'] ] = TRUE ;
header("Location: " . HOST . "/game_environment/index.php?uid=" . $usr['id'] . "&page=start" );
} else {
header("Location: " . HOST );
}
}
?>
Alles anzeigen
und die Index.php der neuen site in /game-environment/ :
PHP
<?php
session_start();
require( '../config.php' );
require( '../functions/_stardate.php' );
require( '../functions/_linkcreate.php' );
if( $_SESSION[ $_GET['uid'] ] != TRUE ) {
header("Location: " . HOST );
}
if( !isset($_GET['page']) || $_GET['page'] == '' ) {
header("Location: " . HOST . "index.php?page=hacking" );
}
require( '_header.php' );
require( '_info.php' );
require( '_nav.php' );
require( $_GET['page'] . '.php' );
require( '_footer.php' );
?>
Alles anzeigen
Nach ein paar Versuchen konnte ich den Fehler darauf eingrnzen, dass die $_SESSION[uid] zwar mit dem korrekten Index auf TRUE gesetzt wird, sobald ich aber auf die neue Index.php weiterleite ist dieser Wert "weg" und man wird wieder auf die alte Index.php weitergeleitet.
Ich habe auch schon versucht die 'uid' per $_REQUEST[] statt $_GET[] aufzurufen aber der Fehler bleibt der selbe.