techker Posted October 10, 2006 Share Posted October 10, 2006 hey guys .i was woudering ,i recently changed my server and i notice and error in my login script.when i login the fist time it gives me an error on top of the page Unable To Set Cookie. You May Need to Enable Cookies Within Your Browser.but when i log out and re login it disapears? Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/ Share on other sites More sharing options...
Daniel0 Posted October 10, 2006 Share Posted October 10, 2006 You need to give us the source of the code settings the cookie. Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107013 Share on other sites More sharing options...
techker Posted October 10, 2006 Author Share Posted October 10, 2006 the only page i see is this(correct me if im wrong)[code]<?include ("config.php");include ("errors.php");include ("common.php");include ("connect.php");while (list($var, $val) = each ($_REQUEST)){IF ($var == "cookieid" AND !isset($_COOKIE[cookieid])){echo ("You can not pass login parameters via GET operations.");exit();}}reset($_REQUEST);IF (isset($_REQUEST[uid]) AND !isset($_COOKIE[cookieid])){$grabuser = "SELECT recID FROM user WHERE username = '$_REQUEST[uid]' AND password = '$_REQUEST[pwd]'";$result = @mysql_query($grabuser);sql_query($result, "$errors[03]");IF (@mysql_num_rows($result) == 0){error ("$errors[04]");include ("login_form.php");exit();}ELSE{$userid = @mysql_result($result,0,"recID");$processing_login = true;$cookie_setter = @setcookie ("cookieid", $userid, time()+$maxlifetime);IF (!$cookie_setter){error ("$errors[05]");}ELSE{?><META HTTP-EQUIV=Refresh CONTENT="2; URL=index.php">Please hold one second while we process your login...<br>If this page does not refresh in 3 seconds, <A HREF="index.php">click here</a>.<?exit();}}}ELSE IF (!isset($_REQUEST[uid]) AND !isset($_COOKIE[cookieid])){include ("login_form.php");exit();}IF ($_REQUEST[action] == "logout"){$cookie_setter = @setcookie ("cookieid", $userid, time()-$maxlifetime);IF (!$cookie_setter){error ("$errors[05]");}ELSE{?><META HTTP-EQUIV=Refresh CONTENT="2; URL=index.php">Please hold one second while we log you out...<br>If this page does not refresh in 3 seconds, <A HREF="index.php">click here</a>.<BR><BR><BR><BR><?exit();}}?>[/code] Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107017 Share on other sites More sharing options...
Daniel0 Posted October 10, 2006 Share Posted October 10, 2006 Try to remove the muting @ in front of the setcookie in order to see if any errors are returned. Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107021 Share on other sites More sharing options...
techker Posted October 10, 2006 Author Share Posted October 10, 2006 same thing but it looks like the letters are smaller.lol Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107027 Share on other sites More sharing options...
Daniel0 Posted October 10, 2006 Share Posted October 10, 2006 Try to put ob_start() at the very top and make sure there are no whitespaces before PHP block. Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107028 Share on other sites More sharing options...
techker Posted October 10, 2006 Author Share Posted October 10, 2006 so it would look like this?[code]<?[u]ob_start()[/u]include ("config.php");include ("errors.php");include ("common.php");include ("connect.php");while (list($var, $val) = each ($_REQUEST)){IF ($var == "cookieid" AND !isset($_COOKIE[cookieid])){echo ("You can not pass login parameters via GET operations.");exit();}}reset($_REQUEST);IF (isset($_REQUEST[uid]) AND !isset($_COOKIE[cookieid])){$grabuser = "SELECT recID FROM user WHERE username = '$_REQUEST[uid]' AND password = '$_REQUEST[pwd]'";$result = @mysql_query($grabuser);sql_query($result, "$errors[03]");IF (@mysql_num_rows($result) == 0){error ("$errors[04]");include ("login_form.php");exit();}ELSE{$userid = @mysql_result($result,0,"recID");$processing_login = true;$cookie_setter = @setcookie ("cookieid", $userid, time()+$maxlifetime);IF (!$cookie_setter){error ("$errors[05]");}ELSE{?><META HTTP-EQUIV=Refresh CONTENT="2; URL=index.php">Please hold one second while we process your login...<br>If this page does not refresh in 3 seconds, <A HREF="index.php">click here</a>.<?exit();}}}ELSE IF (!isset($_REQUEST[uid]) AND !isset($_COOKIE[cookieid])){include ("login_form.php");exit();}IF ($_REQUEST[action] == "logout"){$cookie_setter = @setcookie ("cookieid", $userid, time()-$maxlifetime);IF (!$cookie_setter){error ("$errors[05]");}ELSE{?><META HTTP-EQUIV=Refresh CONTENT="2; URL=index.php">Please hold one second while we log you out...<br>If this page does not refresh in 3 seconds, <A HREF="index.php">click here</a>.<BR><BR><BR><BR><?exit();}}?>[/code]can't see your php block? Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107066 Share on other sites More sharing options...
Daniel0 Posted October 10, 2006 Share Posted October 10, 2006 [quote author=techker link=topic=111105.msg450096#msg450096 date=1160505500]so it would look like this?[/quote]Yes.[quote author=techker link=topic=111105.msg450096#msg450096 date=1160505500]can't see your php block?[/quote]The block of PHP code. Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107069 Share on other sites More sharing options...
techker Posted October 10, 2006 Author Share Posted October 10, 2006 still the same.i think it is my server?cause on scripts that im using on other servers they give me a 500 on this server?here is a glimps if you wanthttp://www.lfnc.ca/user name and pass are test Quote Link to comment https://forums.phpfreaks.com/topic/23573-cookies/#findComment-107083 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.