Cookies Not working!

Problems with the Windows version of XAMPP, questions, comments, and anything related.

Cookies Not working!

Postby godsdead » 16. August 2006 16:37

Okie, My cookies just arnt working on my Xampp, they used to, no matter what script i use i cant get my cookies to work..

so i thought id do the most simple cookie check..
Code: Select all
<?
setcookie ("tomsservercookie", "Cookie worked!");
echo $_COOKIE["skin"];
?>


i refreshed the page about 6 times and then it saved it..
but it wouldnt let me update it..
This is gettign really annying as i cant figur out what the hell it is.
my firewall is letting through cookies.
Iv tryed different browser.
Iv cleared my cookies and cache..

Im stuck!
Please helppp!
GodsDead.com
godsdead
 
Posts: 12
Joined: 19. July 2006 09:20
Location: Clacton on sea

Postby Wiedmann » 16. August 2006 16:45

so i thought id do the most simple cookie check..

One simple question:
You have read the PHP manual about cookies, and/or the description from setcookie() and the examples you can see there?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby godsdead » 16. August 2006 21:46

no.. but this should work? to set a basic cookie?
And none of the largly known scripts about the web, cookies work either..
:(
I really need this sorted :(
GodsDead.com
godsdead
 
Posts: 12
Joined: 19. July 2006 09:20
Location: Clacton on sea

Postby Wiedmann » 16. August 2006 22:29

no.. but this should work? to set a basic cookie?

Well, the manual shows me, that your 2 line script can't work.

You should better come back with a working test script, to talk about (you can find a similar one as yours in the manual).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby godsdead » 17. August 2006 08:17

AHA! okie, well i read that bit on the php manual, and got these examples and edited them a bit and found out that when i run my xampp server through a different domain (im useing No-ip, godsdead.sytes.net)
My cookies are stored! yay!
But they dont work for http://localhost
=[ which is stupid as i would prefer to work offline :D

heres the code i used;

Code: Select all
<?php

// Get domain without www and any port (if present)
$domain = getDomain();

// Set expiration (30 days)
$expire = time() + (86400*30);

// Set the cookie
setcookie('cookie[one]', 'adminyes', $expire, '/', $domain);

echo"You Created a cookie, <a href=cookie.php?show=yes>VIEW THEM!</a>";

function getDomain() {
   if ( isset($_SERVER['HTTP_HOST']) ) {
       // Get domain
       $dom = $_SERVER['HTTP_HOST'];
       // Strip www from the domain
       if (strtolower(substr($dom, 0, 4)) == 'www.') { $dom = substr($dom, 4); }
       // Check if a port is used, and if it is, strip that info
       $uses_port = strpos($dom, ':');
       if ($uses_port) { $dom = substr($dom, 0, $uses_port); }
       // Add period to Domain (to work with or without www and on subdomains)
       $dom = '.' . $dom;
   } else {
       $dom = false;
   }
   return $dom;
}

if($show == "yes"){
echo"
<b>Your Cookies for this server are as followed;</b><br>
";

if (isset($_COOKIE['cookie'])) {
   foreach ($_COOKIE['cookie'] as $name => $value) {
       echo "$name : $value <br />\n";
   }
}
}else{}

?>
GodsDead.com
godsdead
 
Posts: 12
Joined: 19. July 2006 09:20
Location: Clacton on sea

Postby WorldDrknss » 17. August 2006 10:29

here a sample cookie script
Code: Select all
<?php
setcookie("muser", $musername, time()+86400, "/", "", "0");
$muser = $_COOKIE['muser'];
echo ($muser);
?>


another example:
Code: Select all
<?php
include('../database.php');
$musername = $_POST['musername'];
$mpassword = $_POST['mpassword'];
$self = $_SERVER['PHP_SELF'];
$referer = $_SERVER['HTTP_REFERER'];

if((!$musername) or (!$mpassword))
{
header("Location:$referer"); exit();
}
$sql = "select * from users where username='$musername' and password=password('$mpassword')";
$rs = @mysql_query($sql, $conn) or die("Could not execute query");
$num = mysql_num_rows($rs);

if($num !=0){
setcookie("muser", $musername, time()+86400, "/", "", "0");
setcookie("msite", "domain.com", time()+86400, "/", "", "0");
setcookie("mauth", "ok", time()+86400, "/", "", "0");
header("Location:/index.php"); exit();
}
else
{
header("Location:$referer");
}
?>


here is the cookie layout:
Code: Select all
setcookie("Name", "Value", "Expiry", "Path", "Domain", "Security");
http://wdguides.org - XAMPP Tutorials & MORE!!!!
User avatar
WorldDrknss
 
Posts: 292
Joined: 17. September 2005 13:40

Postby Wiedmann » 17. August 2006 13:21

godsdead wrote:My cookies are stored! yay!
But they dont work for http://localhost

Right. In your last (correct) sample script you are using the domain parameter in setcookie(). This does not work for "localhost" at the most times.

BTW:
In line 31 you should use $_GET['show'] and not $show.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to XAMPP for Windows

Who is online

Users browsing this forum: No registered users and 51 guests