Post by johnny on Apr 15, 2010 11:52:32 GMT 12
This is just a basic Login/Register Script, the CSS coding would need to be done by you.
login.php
<?php
$error = false;
if(isset($_POST['login'])){
$username = preg_replace('/[^A-Za-z]/', '', $_POST['username']);
$password = md5($_POST['password']);
if(file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $username . '.xml')){
$xml = new SimpleXMLElement('users/' . $username . '.xml', 0, true);
if($password == $xml->password){
session_start();
$_SESSION['username'] = $username;
header('Location: index.php');
die;
}
}
$error = true;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form method="post" action="">
<p>Username <input type="text" name="username" size="20" /></p>
<p>Password <input type="password" name="password" size="20" /></p>
<?php
if($error){
echo '<p>Invalid username and/or password</p>';
}
?>
<p><input type="submit" value="Login" name="login" /></p>
</form>
<a href="register.php">Register</a>
</body>
</html>
changepassword.php
<?phpsession_start();
if(!file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $_SESSION['username'] . '.xml')){
header('Location: login.php');
die;
}
$error = false;
if(isset($_POST['change'])){
$old = md5($_POST['o_password']);
$new = md5($_POST['n_password']);
$c_new = md5($_POST['c_n_password']);
$xml = new SimpleXMLElement('users/' . $_SESSION['username'] . '.xml', 0, true);
if($old == $xml->password){
if($new == $c_new){
$xml->password = $new;
$xml->asXML('users/' . $_SESSION['username'] . '.xml');
header('Location: logout.php');
die;
}
}
$error = true;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>User Page</title>
</head>
<body>
<h1>Change Password</h1>
<form method="post" action="">
<?php
if($error){
echo '<p>Some of the passwords do not match</p>';
}
?>
<p>Old password <input type="password" name="o_password" /></p>
<p>New password <input type="password" name="n_password" /></p>
<p>Confirm new password <input type="password" name="c_n_password" /></p>
<p><input type="submit" name="change" value="Change Password" /></p>
</form>
<hr />
<a href="index.php">User home</a>
</body>
</html>
logout.php
<?phpsession_start();
session_destroy();
header('Location: login.php');
Register.php
<?php
$errors = array();
if(isset($_POST['login'])){
$username = preg_replace('/[^A-Za-z]/', '', $_POST['username']);
$email = $_POST['email'];
$password = $_POST['password'];
$c_password = $_POST['c_password'];
if(file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $username . '.xml')){
$errors[] = 'Username already exists';
}
if($username == ''){
$errors[] = 'Username is blank';
}
if($email == ''){
$errors[] = 'Email is blank';
}
if($password == '' || $c_password == ''){
$errors[] = 'Passwords are blank';
}
if($password != $c_password){
$errors[] = 'Passwords do not match';
}
if(count($errors) == 0){
$xml = new SimpleXMLElement('<user></user>');
$xml->addChild('password', md5($password));
$xml->addChild('email', $email);
$xml->asXML('users/' . $username . '.xml');
header('Location: login.php');
die;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form method="post" action="">
<?php
if(count($errors) > 0){
echo '<ul>';
foreach($errors as $e){
echo '<li>' . $e . '</li>';
}
echo '</ul>';
}
?>
<p>Username <input type="text" name="username" size="20" /></p>
<p>Email <input type="text" name="email" size="20" /></p>
<p>Password <input type="password" name="password" size="20" /></p>
<p>Confirm Password <input type="password" name="c_password" size="20" /></p>
<p><input type="submit" name="login" value="Login" /></p>
</form>
</body>
</html>
Index.php
<?php session_start(); if(!file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $_SESSION['username'] . '.xml')){ header('Location: login.php'); die; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>User Page</title> </head> <body> <h1>User Page</h1> <h2>Welcome, <?php echo $_SESSION['username']; ?></h2> <table> <tr> <th>Username</th> <th>Email</th> </tr> <?php $files = glob('users/*.xml'); foreach($files as $file){ $xml = new SimpleXMLElement($file, 0, true); echo ' <tr> <td>'. basename($file, '.xml') .'</td> <td>'. $xml->email .'</td> </tr>'; } ?> </table> <hr /> <a href="changepassword.php">Change Password</a> - <a href="logout.php">Logout</a> </body> </html>
If you have any questions feel free to reply, or pm me , This was one of the first codes I ever made back like 3 years ago, so it's not as advanced as others, but works
login.php
<?php
$error = false;
if(isset($_POST['login'])){
$username = preg_replace('/[^A-Za-z]/', '', $_POST['username']);
$password = md5($_POST['password']);
if(file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $username . '.xml')){
$xml = new SimpleXMLElement('users/' . $username . '.xml', 0, true);
if($password == $xml->password){
session_start();
$_SESSION['username'] = $username;
header('Location: index.php');
die;
}
}
$error = true;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form method="post" action="">
<p>Username <input type="text" name="username" size="20" /></p>
<p>Password <input type="password" name="password" size="20" /></p>
<?php
if($error){
echo '<p>Invalid username and/or password</p>';
}
?>
<p><input type="submit" value="Login" name="login" /></p>
</form>
<a href="register.php">Register</a>
</body>
</html>
changepassword.php
<?phpsession_start();
if(!file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $_SESSION['username'] . '.xml')){
header('Location: login.php');
die;
}
$error = false;
if(isset($_POST['change'])){
$old = md5($_POST['o_password']);
$new = md5($_POST['n_password']);
$c_new = md5($_POST['c_n_password']);
$xml = new SimpleXMLElement('users/' . $_SESSION['username'] . '.xml', 0, true);
if($old == $xml->password){
if($new == $c_new){
$xml->password = $new;
$xml->asXML('users/' . $_SESSION['username'] . '.xml');
header('Location: logout.php');
die;
}
}
$error = true;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>User Page</title>
</head>
<body>
<h1>Change Password</h1>
<form method="post" action="">
<?php
if($error){
echo '<p>Some of the passwords do not match</p>';
}
?>
<p>Old password <input type="password" name="o_password" /></p>
<p>New password <input type="password" name="n_password" /></p>
<p>Confirm new password <input type="password" name="c_n_password" /></p>
<p><input type="submit" name="change" value="Change Password" /></p>
</form>
<hr />
<a href="index.php">User home</a>
</body>
</html>
logout.php
<?phpsession_start();
session_destroy();
header('Location: login.php');
Register.php
<?php
$errors = array();
if(isset($_POST['login'])){
$username = preg_replace('/[^A-Za-z]/', '', $_POST['username']);
$email = $_POST['email'];
$password = $_POST['password'];
$c_password = $_POST['c_password'];
if(file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $username . '.xml')){
$errors[] = 'Username already exists';
}
if($username == ''){
$errors[] = 'Username is blank';
}
if($email == ''){
$errors[] = 'Email is blank';
}
if($password == '' || $c_password == ''){
$errors[] = 'Passwords are blank';
}
if($password != $c_password){
$errors[] = 'Passwords do not match';
}
if(count($errors) == 0){
$xml = new SimpleXMLElement('<user></user>');
$xml->addChild('password', md5($password));
$xml->addChild('email', $email);
$xml->asXML('users/' . $username . '.xml');
header('Location: login.php');
die;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form method="post" action="">
<?php
if(count($errors) > 0){
echo '<ul>';
foreach($errors as $e){
echo '<li>' . $e . '</li>';
}
echo '</ul>';
}
?>
<p>Username <input type="text" name="username" size="20" /></p>
<p>Email <input type="text" name="email" size="20" /></p>
<p>Password <input type="password" name="password" size="20" /></p>
<p>Confirm Password <input type="password" name="c_password" size="20" /></p>
<p><input type="submit" name="login" value="Login" /></p>
</form>
</body>
</html>
Index.php
<?php session_start(); if(!file_exists('NAME OF DIRECTORY TO STORE USER INFO./' . $_SESSION['username'] . '.xml')){ header('Location: login.php'); die; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>User Page</title> </head> <body> <h1>User Page</h1> <h2>Welcome, <?php echo $_SESSION['username']; ?></h2> <table> <tr> <th>Username</th> <th>Email</th> </tr> <?php $files = glob('users/*.xml'); foreach($files as $file){ $xml = new SimpleXMLElement($file, 0, true); echo ' <tr> <td>'. basename($file, '.xml') .'</td> <td>'. $xml->email .'</td> </tr>'; } ?> </table> <hr /> <a href="changepassword.php">Change Password</a> - <a href="logout.php">Logout</a> </body> </html>
If you have any questions feel free to reply, or pm me , This was one of the first codes I ever made back like 3 years ago, so it's not as advanced as others, but works