Scripts

Login script dmv een class

Dit is een script geheel gemaakt dmv een class. Ik hoop dat jullie er iets aan hebben ik heb het net gemaakt... Het moest af en nu post ik het. Het is men eerste script dat ik post. Commentaar welkom:)

login-script-dmv-een-class
--sql--
[code]
CREATE TABLE `users` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`username` VARCHAR( 100 ) NOT NULL,
`password` VARCHAR( 100 ) NOT NULL,
`activated` int( 11 ) NOT NULL,
`activate_code` VARCHAR( 100 ) NOT NULL,
`email` VARCHAR( 100 ) NOT NULL,
`ip` VARCHAR( 100 )
) ENGINE = MYISAM ;
[/code]
--config.php--
[code]
<?php
mysql_connect ("localhost", "xxx", "xxx") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("xxx");
?>
[/code]
--head_class.php--
[code]
<?php
session_start();
include_once('config.php');
// Script is made by Manaus Lavens ([email protected])
// You have to change the vars
class loginsys{
	var $websiteurl 		= "http://www.website.com";	
	var $email		 		= "[email protected]";
	var $website		 		= "website.com";
 	var $email_activate 	= 1;
	function login($username, $password){
		$username	= mysql_real_escape_string($username);
		$password	= MD5($password);	
		$select		= "SELECT `id`,`username`,`password`, `activated` FROM `users` WHERE `username` = '".$username."'";
		$query		= mysql_query($select) OR DIE (mysql_error());
		if(mysql_num_rows($query) == 1){
			$row = mysql_fetch_assoc($query);
			if($row['activated'] == 0 && $this->email_activation == 1){
			 return "Uw account is nog niet geactiveerd! Klik <a href=\"activate.php\">hier</a>!";
			 }
			else{
				if($password == $row['password']){
			 		$_SESSION['id'] = $row['id'];
					return "Welkom".htmlentities($row['username']);
				}
				else{
					return "Er is een foutief paswoord ingevoerd!";	
				}	
			}
		}
		else{
			return "Gebruikersnaam bestaat niet!";	
		}
	}
	function register($username, $password, $email){
	 	$username	= mysql_real_escape_string($username);
	 	$password	= MD5($password);
	 	$ip			= $_SERVER['REMOTE_ADDR'];
		$select 	= "SELECT count(*) AS `totaal` FROM `users` WHERE username='".$username."'";
		$query		= mysql_query($select) OR DIE(mysql_error());
		$row		= mysql_fetch_assoc($query);
		if($row['totaal'] == 0){
				if($this->email_activate == 1){
					$actcode = mt_srand((double)microtime()*100000);
      				while(strlen($actcode) <= 10) {
       					$i = chr(mt_rand (0,255));
       					if(eregi("^[a-z0-9]$", $i)) {
       						 $actcode = $actcode.$i;
       					}
      				}
				}
				else{
					$actcode = "";
				}
				$sql = "INSERT INTO `users` SET 
				`username` = '".$username."',
				`password` = '".$password."',
				`email` = '".$email."',
				`ip` = '".$ip."',
				`activate_code` = '".$actcode."'";
				$insert_query = mysql_query($sql) OR DIE(mysql_error());
				$user_id = mysql_insert_id();
				if($this->email_activate == 1){
					$to = $email; 
					$sender = $this->email;
					$name = $this->website;
					$headers = "From: '".$this->website."' <".$this->email.">\r\n";
					$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
					$message = "Beste ".$username.",
					U bent succesvol geregistreerd op ".$this->website."
					U kunt uw account avtiveren op onderstaande link
					".$this->websiteurl."/activeer.php?code=".$actcode."
					Activatie code: ".$actcode."
					Nogmaal bedankt!";
					if(mail($to, $subject, $message, $headers)){
						return "U bent nu geregistreerd, u ontvangt binnenkort een mail met de activatie link<br>Vergeet niet te kijken in je ongewenste mail!";
					}
					else{
						return "Er was een fout tijden het verzenden van de mail!";
					}
				
				}
				else{
					return "U bent succesvol geregistreed, u kunt nu inloggen";
				}
				
				
		}
		else{
			return "Sorry maar deze gebruikersnaam bestaat al!";	
		}
	}
	function activate_account($code){
		$id 		= mysql_real_escape_string($id);
		$code 		= mysql_real_escape_string($code);
		$select 	= "SELECT `id` FROM `users` WHERE `activate_code` = '".$code."'";
		$query 		= mysql_query($select) OR DIE (mysql_error());
		$row		= mysql_fetch_assoc($query);
		if(mysql_num_rows($query) == 1){
		 	$update = mysql_query("UPDATE `users` SET `activated` = '1', activate_code = '' WHERE `id` = '".$row['id']."'") OR DIE (mysql_error());
			return "Succesvoll geactiveerd, u kunt nu inloggen!";
		}
		else{
			return "Account niet geactiveerd, verkeerde actcode!";
		}
	}
	function logout(){
		session_destroy();
		return "Succesvol uitgelogd!";
	}
	//paswoord change nog niet erin gemaakt...
	function change_password($oud, $nieuw, $id){
		$select 	= "SELECT `password` FROM `users` WHERE `id` = '".id."'";
		$query 		= mysql_query($select) OR DIE (mysql_error());
		$row		= mysql_fetch_assoc($query);
		if(MD5($oud) == $row['password']){
			$nieuw 		= MD5($nieuw);
			$query2 	= mysql_query("UPDATE `users` SET `password` = '".$nieuw."' WHERE `id` = '".$id."'") OR DIE (mysql_error());
			return "Paswoord succesvol veranderd!";	
		}
		else{
			return "Oud paswoord klopt niet!";
		}
	}
}
$doe = new loginsys();
?>
[/code]

--login.php--
[code]
<?php
include_once('head_class.php');
if(isset($_POST['submit'])){
	if(empty($_POST['username'])){
		echo'Geen username ingevuld!';
	}
	elseif(empty($_POST['password'])){
		echo'Geen paswoord ingevuld!';
	}
	else{
		echo $doe->login($_POST['username'], $_POST['password']);
	}
}
else{
	echo'<form method="post"><br>
	Username: <input type="text" name="username" value="username"><br>
	Paswoord: <input type="password" name="password" value="password"><br>
	<input type="submit" name="submit" value="Log in!">
	</form>';
}
?>
[/code]
--registreer.php--
[code]
<?php
include_once('head_class.php');
function checkmail($mail) 
{
    $email_host = explode("@", $mail); 
    $email_host = $email_host['1'];
    $email_resolved = gethostbyname($email_host); 
    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) {
    	return true; 
    }
	else{
		return false;
	}
} 
if(isset($_POST['submit'])){
	if(empty($_POST['username'])){
		echo'Geen username ingevuld!';
	}
	elseif(empty($_POST['password']) OR empty($_POST['password2'])){
		echo'Geen paswoord ingevuld!';
	}
	elseif($_POST['password'] != $_POST['password2']){
		echo'Paswoorden komen niet overeen!';
	}
	elseif(!checkmail($_POST['email'])){
		echo'Ongeldig email adres!';
	}
	else{
		echo $doe->register($_POST['username'], $_POST['password'], $_POST['email']);
	}
}
else{
	echo'<form method="post"><br>
	Username: <input type="text" name="username" value="username"><br>
	Paswoord: <input type="password" name="password" value="password"><br>
	Paswoord her-typ: <input type="password" name="password2" value="password"><br>
	Email: <input type="text" name="email" value="email"><br>
	<input type="submit" name="submit" value="Log in!">
	</form>';
}
?>
[/code]
--activeer.php
[code]
<?php
include_once('head_class.php');
if(isset($_GET['code'])){
		echo $doe->activate_account($_GET['code']);
}
else{
	echo'<form method="get"><br>
	Code: <input type="text" name="code" value="Activeer code"><br>
	<input type="submit" value="Activeer">
	</form>';
}
?>
[/code]

Veel plezier, post een comment please:)

Reacties

0
Nog geen reacties.