i Wrote my own login, based on session, usong session_start();
I want the script to save the SessionID in a cookie @ the cients pc...
but it doesnt work! It never set a cookie but it ever add the session id
as a variable to all relating links in the script!
What i want is, to save the sessionID ONLY in a cookie at client. And
abolish the SID in the related links!
- my browser allow cookies
- session.use_trans_sid = on (can only be changed by serverdamin)
- session.use_cookies = on
- session.use_only_cookies = off -> but if you can see in the following
sourcecode i try to set_ini('session.user_only_cookies','1');
But it doesnt work...
Can anybody help me ?
The Host allows only_cookies, i have seen it on several other pages on
the same server.
sourcecode:
<?PHP
ini_set("session.use_only_cookies", 1);
////////////////////////////////////////////////////////Verbindung
�ffnen//////////////////
include('connect.php');
$verbindung = @mysql_connect($IP,$USER,$PWD);
if (!$verbindung){
echo "Keine Verbindung m�glich!\n";
exit;
}else{
/////////////////////////////////LOGIN///////////////////////////////////
////////////
session_start();
$_SESSION['zaehler'] = 1;
$test = session_id();
$db_select = @MYSQL_SELECT_DB($DB);
$result = mysql_query("SELECT username FROM ".$tblprefix."_users WHERE
sessionID = 'session_id()' ");
$sessionsfound = mysql_num_rows($result);
//Session deleten wenn nicht eingeloggt
if ($sessionsfound != 1){
session_unset();
setcookie( session_name() ,"",0,"/");
$_SESSION = array();
session_destroy();
}
$session_id_string = session_id();
//////////////login - TRUE
if (($login == 'true') && ($session_id_string == '')){
$login = '';
$abfrage = "SELECT username, password FROM ".$tblprefix."_users
WHERE username = '$loginname'";
$erg = mysql_db_query($DB,$abfrage,$verbindung);
list ($username,$password) = mysql_fetch_row($erg);
if ($username == ''){
$content = 'errors/login.php?error=loginname';
}else{
$abfrage = "SELECT loginversuche FROM ".$tblprefix."_users
WHERE username = '$username'";
$erg = mysql_db_query($DB,$abfrage,$verbindung);
list ($loginversuche) = mysql_fetch_row($erg);
if($loginversuche < 5){
if($password == md5($loginpassword)){
$abfrage = "SELECT sessionID FROM ".
$tblprefix."_users WHERE username = '$username'";
$erg = mysql_db_query($DB,$abfrage,$verbindung);
list ($sessionID) = mysql_fetch_row($erg);
$abfrageupdate = "UPDATE ".$tblprefix."_users SET
lastsessionID = '$sessionID' WHERE username = '$username'";
$ergupdate = mysql_db_query($DB,$abfrageupdate,
$verbindung);
$abfrageupdate = "UPDATE ".$tblprefix."_users SET
loginversuche = '0' WHERE username = '$username'";
$ergupdate = mysql_db_query($DB,$abfrageupdate,
$verbindung);
if($dauerhafteslogin=='true'){
$dauerhafteslogin='';
setcookie($logincookiename ,session_id
(),0,"/"); //cookie fuer dauerhaftes Login setzen
}
session_start();
$_SESSION['zaehler'] = 1;
$abfrageupdate = "UPDATE ".$tblprefix."_users SET
sessionID = session_id() WHERE username = '$username'";
$ergupdate = mysql_db_query($DB,$abfrageupdate,
$verbindung);
$content = 'login/status.php';
}else{
++$loginversuche;
$abfrageupdate = "UPDATE ".$tblprefix."_users SET
loginversuche = '$loginversuche' WHERE username = '$username'";
$ergupdate = mysql_db_query($DB,$abfrageupdate,
$verbindung);
$content = 'errors/login.php?error=password';
}
}else{
$content = 'errors/login.php?error=accountblocked';
}
}
}
////////////////////ENDE login TRUE///////////////////////
if (session_id() != ''){
echo "u are logged in!<br>";
echo session_id();
}else{
echo"not logged in";
}
//////////////////////////////////ENDE
LOGIN////////////////////////////////////////
}
?>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php