<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hurlster.com/wiki/index.php?action=history&amp;feed=atom&amp;title=PHP_Authentication</id>
	<title>PHP Authentication - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hurlster.com/wiki/index.php?action=history&amp;feed=atom&amp;title=PHP_Authentication"/>
	<link rel="alternate" type="text/html" href="https://hurlster.com/wiki/index.php?title=PHP_Authentication&amp;action=history"/>
	<updated>2026-05-27T20:35:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://hurlster.com/wiki/index.php?title=PHP_Authentication&amp;diff=2479&amp;oldid=prev</id>
		<title>Gqwill69: Created page with &quot;I wanted to have a placeholder for a PHP based login script. This uses MySQL backend for user info storage.&lt;br&gt; * SQL Statements  CREATE TABLE IF NOT EXISTS `users` (    `user_id...&quot;</title>
		<link rel="alternate" type="text/html" href="https://hurlster.com/wiki/index.php?title=PHP_Authentication&amp;diff=2479&amp;oldid=prev"/>
		<updated>2012-07-03T15:14:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;I wanted to have a placeholder for a PHP based login script. This uses MySQL backend for user info storage.&amp;lt;br&amp;gt; * SQL Statements  CREATE TABLE IF NOT EXISTS `users` (    `user_id...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;I wanted to have a placeholder for a PHP based login script. This uses MySQL backend for user info storage.&amp;lt;br&amp;gt;&lt;br /&gt;
* SQL Statements&lt;br /&gt;
 CREATE TABLE IF NOT EXISTS `users` (&lt;br /&gt;
   `user_id` int(11) NOT NULL auto_increment,&lt;br /&gt;
   `username` varchar(225) NOT NULL default &amp;#039;&amp;#039;,&lt;br /&gt;
   `password` varchar(225) NOT NULL default &amp;#039;&amp;#039;,&lt;br /&gt;
   `email` varchar(225) NOT NULL default &amp;#039;&amp;#039;,&lt;br /&gt;
   UNIQUE (`username`),&lt;br /&gt;
   PRIMARY KEY  (`user_id`)&lt;br /&gt;
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;&lt;br /&gt;
&lt;br /&gt;
* conf.inc.php&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$db_user = &amp;quot;user&amp;quot;; // Username&lt;br /&gt;
$db_pass = &amp;quot;pass&amp;quot;; // Password&lt;br /&gt;
$db_database = &amp;quot;dbname&amp;quot;; // Database Name&lt;br /&gt;
$db_host = &amp;quot;localhost&amp;quot;; // Server Hostname&lt;br /&gt;
$db_connect = mysql_connect ($db_host, $db_user, $db_pass); // Connects to the database.&lt;br /&gt;
$db_select = mysql_select_db ($db_database); // Selects the database.&lt;br /&gt;
 &lt;br /&gt;
function form($data) { // Prevents SQL Injection&lt;br /&gt;
   global $db_connect;&lt;br /&gt;
   $data = ereg_replace(&amp;quot;[\&amp;#039;\&amp;quot;)(;|`,&amp;lt;&amp;gt;]&amp;quot;, &amp;quot;&amp;quot;, $data);&lt;br /&gt;
   $data = mysql_real_escape_string(trim($data), $db_connect);&lt;br /&gt;
   return stripslashes($data);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* register.php&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
include(&amp;quot;conf.inc.php&amp;quot;); // Includes the db and form info.&lt;br /&gt;
if (!isset($_POST[&amp;#039;submit&amp;#039;])) { // If the form has not been submitted.&lt;br /&gt;
    echo &amp;quot;&amp;lt;form action=\&amp;quot;register.php\&amp;quot; method=\&amp;quot;POST\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;table&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;td colspan=\&amp;quot;2\&amp;quot;&amp;gt;Register:&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;Username:&amp;lt;/td&amp;gt;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;&amp;lt;input name=\&amp;quot;username\&amp;quot; size=\&amp;quot;18\&amp;quot; type=\&amp;quot;text\&amp;quot; /&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;Password:&amp;lt;/td&amp;gt;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;&amp;lt;input name=\&amp;quot;password\&amp;quot; size=\&amp;quot;18\&amp;quot; type=\&amp;quot;text\&amp;quot; /&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;Email:&amp;lt;/td&amp;gt;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;&amp;lt;input name=\&amp;quot;email\&amp;quot; size=\&amp;quot;18\&amp;quot; type=\&amp;quot;text\&amp;quot; /&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;td colspan=\&amp;quot;2\&amp;quot;&amp;gt;&amp;lt;input type=\&amp;quot;submit\&amp;quot; name=\&amp;quot;submit\&amp;quot; value=\&amp;quot;submit\&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;login.php&amp;#039;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/form&amp;gt;&amp;quot;;&lt;br /&gt;
} else { // The form has been submitted.&lt;br /&gt;
    $username = form($_POST[&amp;#039;username&amp;#039;]);&lt;br /&gt;
    $password = md5($_POST[&amp;#039;password&amp;#039;]); // Encrypts the password.&lt;br /&gt;
    $email = form($_POST[&amp;#039;email&amp;#039;]);&lt;br /&gt;
 &lt;br /&gt;
    if (($username == &amp;quot;&amp;quot;) || ($password == &amp;quot;&amp;quot;) || ($email == &amp;quot;&amp;quot;)) { // Checks for blanks.&lt;br /&gt;
        exit(&amp;quot;There was a field missing, please correct the form. &amp;lt;a href=&amp;#039;register.php&amp;#039;&amp;gt;Back&amp;lt;/a&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    $q = mysql_query(&amp;quot;SELECT * FROM `users` WHERE username = &amp;#039;$username&amp;#039; OR email = &amp;#039;$email&amp;#039;&amp;quot;) or die (mysql_error()); // mySQL Query&lt;br /&gt;
    $r = mysql_num_rows($q); // Checks to see if anything is in the db.&lt;br /&gt;
 &lt;br /&gt;
    if ($r &amp;gt; 0) { // If there are users with the same username/email.&lt;br /&gt;
        exit(&amp;quot;That username/email is already registered!&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
        mysql_query(&amp;quot;INSERT INTO `users` (username,password,email) VALUES (&amp;#039;$username&amp;#039;,&amp;#039;$password&amp;#039;,&amp;#039;$email&amp;#039;)&amp;quot;) or die (mysql_error()); // Inserts the user.&lt;br /&gt;
        header(&amp;quot;Location: login.php&amp;quot;); // Back to login.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
mysql_close($db_connect); // Closes the connection.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* login.php&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
include(&amp;quot;conf.inc.php&amp;quot;); // Includes the db and form info.&lt;br /&gt;
session_start(); // Starts the session.&lt;br /&gt;
if ($_SESSION[&amp;#039;logged&amp;#039;] == 1) { // User is already logged in.&lt;br /&gt;
    header(&amp;quot;Location: index.php&amp;quot;); // Goes to main page.&lt;br /&gt;
    exit(); // Stops the rest of the script.&lt;br /&gt;
} else {&lt;br /&gt;
    if (!isset($_POST[&amp;#039;submit&amp;#039;])) { // The form has not been submitted.&lt;br /&gt;
        echo &amp;quot;&amp;lt;form action=\&amp;quot;login.php\&amp;quot; method=\&amp;quot;POST\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;table&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;td colspan=\&amp;quot;2\&amp;quot;&amp;gt;Login:&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;Username:&amp;lt;/td&amp;gt;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;&amp;lt;input name=\&amp;quot;username\&amp;quot; size=\&amp;quot;18\&amp;quot; type=\&amp;quot;text\&amp;quot; /&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;Password:&amp;lt;/td&amp;gt;&amp;lt;td width=\&amp;quot;50%\&amp;quot;&amp;gt;&amp;lt;input name=\&amp;quot;password\&amp;quot; size=\&amp;quot;18\&amp;quot; type=\&amp;quot;text\&amp;quot; /&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;td colspan=\&amp;quot;2\&amp;quot;&amp;gt;&amp;lt;input type=\&amp;quot;submit\&amp;quot; name=\&amp;quot;submit\&amp;quot; value=\&amp;quot;submit\&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
        echo &amp;quot;&amp;lt;/form&amp;gt;&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
        $username = form($_POST[&amp;#039;username&amp;#039;]);&lt;br /&gt;
        $password = md5($_POST[&amp;#039;password&amp;#039;]); // Encrypts the password.&lt;br /&gt;
 &lt;br /&gt;
        $q = mysql_query(&amp;quot;SELECT * FROM `users` WHERE username = &amp;#039;$username&amp;#039; AND password = &amp;#039;$password&amp;#039;&amp;quot;) or die (mysql_error()); // mySQL query&lt;br /&gt;
        $r = mysql_num_rows($q); // Checks to see if anything is in the db. &lt;br /&gt;
 &lt;br /&gt;
        if ($r == 1) { // There is something in the db. The username/password match up.&lt;br /&gt;
            $_SESSION[&amp;#039;logged&amp;#039;] = 1; // Sets the session.&lt;br /&gt;
            header(&amp;quot;Location: index.php&amp;quot;); // Goes to main page.&lt;br /&gt;
            exit(); // Stops the rest of the script.&lt;br /&gt;
        } else { // Invalid username/password.&lt;br /&gt;
            exit(&amp;quot;Incorrect username/password!&amp;lt;br&amp;gt;Please &amp;lt;a href=&amp;#039;register.php&amp;#039;&amp;gt;Register&amp;lt;/a&amp;gt;&amp;quot;); // Stops the script with an error message.&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
mysql_close($db_connect); // Closes the connection.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* index.php&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
include(&amp;quot;conf.inc.php&amp;quot;); // Includes the db and form info.&lt;br /&gt;
session_start(); // Starts the session.&lt;br /&gt;
if ($_SESSION[&amp;#039;logged&amp;#039;] != 1) { // There was no session found!&lt;br /&gt;
    header(&amp;quot;Location: login.php&amp;quot;); // Goes to login page.&lt;br /&gt;
    exit(); // Stops the rest of the script.&lt;br /&gt;
}&lt;br /&gt;
echo &amp;quot;This is the main page!&amp;quot;;&lt;br /&gt;
echo &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
echo &amp;quot;&amp;lt;a href=\&amp;quot;logout.php\&amp;quot;&amp;gt;Logout?&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* logout.php&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
session_start();&lt;br /&gt;
$_SESSION = array();&lt;br /&gt;
if (ini_get(&amp;quot;session.use_cookies&amp;quot;)) {&lt;br /&gt;
    $params = session_get_cookie_params();&lt;br /&gt;
    setcookie(session_name(), &amp;#039;&amp;#039;, 1 /* 1s after start of epoch */,&lt;br /&gt;
        $params[&amp;quot;path&amp;quot;], $params[&amp;quot;domain&amp;quot;],&lt;br /&gt;
        $params[&amp;quot;secure&amp;quot;], $params[&amp;quot;httponly&amp;quot;]&lt;br /&gt;
    );&lt;br /&gt;
}&lt;br /&gt;
session_destroy();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You gave been logged out.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Redirecting to &amp;lt;a href=&amp;quot;login.php&amp;quot;&amp;gt;Login Page&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Gqwill69</name></author>
	</entry>
</feed>