Jump to content

cookie error moving form PHP4 to PHP5


cmburbul

Recommended Posts

Hi,

 

I am moving a site (from a server running PHP4 to a server running PHP5) with a simple PHP login system that sets a cookie and sends an email that someone has logged in.

 

It is returning an error and not setting the cookie. Here is the error:

 

PHP Warning: setcookie() expects parameter 3 to be long, string given in /home/taylor/public_html/login/login.php

 

Here is the PHP code (the contents of the login.php page that the form calls):

 

<?php

 

 

ob_start();

 

include("config.php");

 

 

// connect to the mysql server

$link = mysql_connect($server, $db_user, $db_pass)

or die ("Could not connect to mysql because ".mysql_error());

 

 

 

// select the database

mysql_select_db($database)

or die ("Could not select database because ".mysql_error());

$match = "select id from $table where username = '".$_POST['username']."'

and password = '".$_POST['password']."';";

$qry = mysql_query($match)

or die ("Could not match data because ".mysql_error());

$num_rows = mysql_num_rows($qry);

 

 

if ($num_rows <= 0) {

echo "<html><head><link href=\"../stylelogin.css\" rel=\"stylesheet\" type=\"text/css\"></head><body class=\"login\">Sorry, there is no username $username with the specified password <a href=logorsign.html>Try again</a></body></html>";

exit;

} else {

setcookie('loggedin', true, false, '/', false, 0);

setcookie('mysite_username', '$username', '/', false, 0);

 

mail( "XXXX@XXXXXX.com", "Member login: $username",

"XXXXXX.com member $username has logged in", "From: XXXXXX.com" );

 

echo "<html><head><link href=\"../stylelogin.css\" rel=\"stylesheet\" type=\"text/css\"></head><body class=\"login\">You are now logged in, $username</body></html>";

}

ob_end_flush();

 

?>

 

 

I thought it might be that the form that feeds this was not passing the $username and &password variables so i tried adding the following to the top of the script:

 

$username = $_REQUEST['username'];

$password = $_REQUEST['password'];

 

This had no effect.

 

 

I am stumped. Any help/advice/direction is most appreciated.

 

 

Thanks!

 

 

Chris

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.