13

I face some problem on my script that I use PHP and jquery to create login system.

First I have PHP page contain form for login. when user click submit I use jquery to send data to server

$.post('server_login.php', {username:username.val(), password:password.val()}, function(data){ alert(data); }); 

in server_login.php I have function to doing login user.

if($_POST['username']=='username' && $_POST['password']=='1234'){ $expire = time() + 60*60*24*30; //1 month expired. setcookie("user_id", $_POST['username'], $expire); echo true; } 

and jquery alert "1" on my login page.

the problem is when i refresh my website and retieve cookie, it not show me.

print_r($_COOKIE); 

anything wrong?

1

2 Answers 2

20

If the script you are calling is located in another folder on the server (or via url rewrite it appears as if it is under another path), make sure to set the path parameter of the cookie.

By default, setcookie() sets the cookie only for the current path.

If your page is www.domain.com and you make ajax call to www.domain.com/auth/login.php the cookie will be set to /auth and will not be available outside /auth.

So try changing to this:

setcookie("user_id", $_POST['username'], $expire, '/'); 
Sign up to request clarification or add additional context in comments.

Comments

0

I try below code in my script. Please once try this code if you get cookie value than something wrong with your code but if this code also not work than check your browser cookie option enabled or not. if cookie disabled by browser than also you can't get any cookie value.

For enabling browser cookie follow below link http://www.blogpatrol.com/enable-cookies.php.

Test Code 1:

$expire = time() + 60*60*24*30; //1 month expired. setcookie("TestCookie", "shashank patel here", $expire); print_r($_COOKIE); 

Test code 2:

Also check this code with your script this code told you your browser cookie enabled or not.

error_reporting (E_ALL ^ E_WARNING ^ E_NOTICE); // Check if cookie has been set or not if ($_GET['set'] != 'yes') { // Set cookie setcookie ('test', 'test', time() + 60); // Reload page header ("Location: test.php?set=yes"); } else { // Check if cookie exists if (!empty($_COOKIE['test'])) { echo "Cookies are enabled on your browser"; } else { echo "Cookies are NOT enabled on your browser"; } } 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.