note 71693 added to function.setcookie

From: Date: Tue, 12 Dec 2006 05:04:45 +0000
Subject: note 71693 added to function.setcookie
Groups: php.notes 
Request: Send a blank email to php-notes+get-120529@lists.php.net to get a copy of this message
It's cumbersome to always keep entering your username and password during login. More it reduces the hit rate as well. Using the "Remember me on this computer" option during login may help many users, even thought it's a security risk. Example code of the Login Form <?php echo "<form name='frmlogin' method='post' action='./login.php'>"; echo "User ID: <input type='inputbox' name='txtuser'>"; echo "Password : <input type='inputbox' name='txtpasswd'>"; echo "<input type='checkbox' name='chkrem_me' value='TRUE'> Remember me"; echo "<input type='submit' name='Submit' value='Login'>"; ?> Example code of the login.php file <?php // Get values form the frmlogin // htmlspecialchars() used to strip malicious code $userid = htmlspecialchars($_REQUEST['txtuser'], ENT_QUOTES); $pass = md5(htmlspecialchars($_REQUEST['txtpasswd'], ENT_QUOTES)); $remme = $_REQUEST['chkrem_me']; // redirect urls for login ok and login fail $loginok_url = "./mamber.php"; $loginfail_url = "./loginfail.php"; // SQL query string for authentication with database $sqlstr = "SELECT COUNT(*) FROM tbl_user WHERE userid = '$userid' AND password = '$pass';"; // Connect to database $mysqldb = mysql_connect("localhost","user_name","password") or die("Unable to connect to database server"); // Select database $selected = mysql_select_db("datbase_name",$mysqldb) or die ("Unable to select database"); // Execute query $valid = mysql_query($sqlstr,$mysqldb); // If user exists with valid password if ($valid > 0) { // if remember me ticked if($remme) { // cookie login valid for 30 days, accessible to entire directory structure and valid for all subdomains of example.com setcookie('login',TRUE,time()+3600*24*30,'/','.example.com',0); } // if remember me NOT ticked // cookie is set until the Browser close // time can be set to both "NULL" and "false" // If you want to specify a time e.g like 1 hour then "time() + 3600" else { setcookie('login',TRUE,NULL,'/','.example.com',0); } // Redirect to Member page header("Location: " . $loginok_url); } // if invalid user name or password else { header("Location: " . $loginfail_url); } // close database mysql_close($mysqldb); ?> ---- Server IP: 66.163.161.117 Probable Submitter: 192.248.16.90 (proxied: 10.16.48.40) ---- Manual Page -- http://www.php.net/manual/en/function.setcookie.php Edit -- https://master.php.net/note/edit/71693 Del: integrated -- https://master.php.net/note/delete/71693/integrated Del: useless -- https://master.php.net/note/delete/71693/useless Del: bad code -- https://master.php.net/note/delete/71693/bad+code Del: spam -- https://master.php.net/note/delete/71693/spam Del: non-english -- https://master.php.net/note/delete/71693/non-english Del: in docs -- https://master.php.net/note/delete/71693/in+docs Del: other reasons-- https://master.php.net/note/delete/71693 Reject -- https://master.php.net/note/reject/71693 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#120529) next »