Това се въвежда в phpmyadmin:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE IF NOT EXISTS `users` (
`userid` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(10) COLLATE cp1251_bin NOT NULL,
`password` varchar(50) COLLATE cp1251_bin NOT NULL,
`email` varchar(50) COLLATE cp1251_bin NOT NULL,
`fullname` varchar(50) COLLATE cp1251_bin DEFAULT NULL,
`site` varchar(105) COLLATE cp1251_bin NOT NULL,
`country` varchar(50) COLLATE cp1251_bin NOT NULL,
`city` varchar(50) COLLATE cp1251_bin NOT NULL,
`tel` varchar(50) CHARACTER SET latin1 NOT NULL,
`profile` text COLLATE cp1251_bin NOT NULL,
`regdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ipaddress` varchar(50) CHARACTER SET latin1 NOT NULL,
`lastlogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`isactive` tinyint(1) NOT NULL DEFAULT '0',
`code` varchar(10) CHARACTER SET latin1 NOT NULL,
`sesion` int(50) NOT NULL,
PRIMARY KEY (`userid`),
KEY `userid` (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin AUTO_INCREMENT=115 ;
Index.php
if($_GET['do'] == "login")
{
login_form();
}
if($_GET['do'] == "do_login")
{
do_login();
}
if($_GET['do'] == "register")
{
register_form();
}
if($_GET['do'] == "register")
{
do_register();
}
if(empty($_SESSION['do']))
{
echo("
Home|
Login|
Register");
}
?>
Functions.php
//тук се свързваме с базата с данни в случая mysql
//mysql_connect("localhost", "Потребител", "парола");
mysql_connect("localhost", "root", "");
mysql_select_db("test1");
function login_form(){
echo ("
"._PLEASE_ENTER_YOUR_USER."n");
echo ("
");
}
function do_login() {
$postname = $_POST['username'];
$postpass = $_POST['password'];
$md5_postpass = md5($postpass);
if((empty($postname)) | ((empty($postpass)))){
echo(_FORM_ERR);
if(empty($postname)){
echo(_USERNAME_LOGIN_REQ);
}
if(empty($postpass)){
echo(_LOGIN_PASS_REQ);
}
exit();
}
$remember = $_POST['remember'];
$sql_check_user = mysql_query("SELECT * FROM users WHERE username = '".$postname."'");
$check_user = mysql_fetch_array($sql_check_user);
$uid = $check_user['userid'];
$realname = $check_user['fullname'];
if(($check_user['username'] != $postname) | ($check_user['password'] != $md5_postpass)){
echo(""._FORM_ERR."");
if($check_user['username'] != $postname){
echo(""._USERNAME_NOT_MATCH."");
}
if($check_user['password'] != $md5_postpass){
echo(""._PASS_ERR."");
}
login_form();
exit();
}else{
if(($check_user['username'] = $postname) || ($check_user['password'] = $md5_postpass)){
if($remember){
$hour = time() + 360000000;
setcookie("siteid", "esolleeu", $hour);
setcookie("uid", $uid, $hour);
setcookie("pass", $md5_postpass, $hour);
if($realname != NULL){
setcookie("name", $relaname, $hour);
}
}else{
$hour = time() + 3600;
setcookie("siteid", "esolleeu", $hour);
setcookie("uid", $uid, $hour);
setcookie("pass", $md5_postpass, $hour);
if($realname != NULL){
setcookie("name", $relaname, $hour);
}
}
}
}
}
function register_form() {
echo("
");
}
function do_register(){
$username = $_POST['username'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$email = $_POST['email'];
$fullname = $_POST['name'];
$site = $_POST['site'];
$country = $_POST['country'];
$city = $_POST['city'];
$tel = $_POST['tel'];
$profile = $_POST['profile'];
$md5_pass = md5($password);
$regtime = date("y-m-d h:i:s");
if((empty($username)) || (empty($password)) || (empty($password2)) || (empty($email)) || (empty($fullname)) || (empty($site)) || (empty($tel))){
echo(_FORM_ERR);
if(empty($username)){
echo(_USERNAME_LOGIN_REQ);
}
if(empty($password)){
echo(_LOGIN_PASS_REQ);
}
if(empty($password2)){
echo(_LOGIN_PASS_REQ2);
}
if(empty($email)){
echo(_EMAIL_REQ);
}
if(empty($fullname)){
echo(_FULLNAME_REQ);
}
if(empty($site)){
echo(_SITE_REQ);
}
if(empty($tel)){
echo(_TEL_REQ);
}
register_form();
exit();
}
$sql_user_check = mysql_query("SELECT username FROM users WHERE username = '".$username."'");
$user_check = mysql_fetch_row($sql_user_check);
$sql_email_check = mysql_query("SELECT email FROM users WHERE email = '".$email."'");
$email_check = mysql_fetch_row($sql_email_check);
if(($user_check != 0) || ($email_check != 0)){
if($user_check != 0){
echo(_USERNAME_ALREADY_TAKEN);
}
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email)){
echo(_INVALID_EMAIL);
}
if($email_check != 0){
echo(_EMAIL_AREADY_TAKEN);
}
if($password != $password2){
echo(_PASSWORD_DOESNT_MATCH);
}
register_form();
exit();
}
$insert = "INSERT INTO users (username, password, email, fullname, site, country, city, tel, profile, regdate)
VALUES ('".$username."', '".$md5_pass."', '".$email."', '".$fullname."', '".$site."', '".$country."', '".$city."', '".$tel."', '".$profile."', '".$regtime."')";
mysql_query($insert);
echo(_REGISTER_DONE);
echo(_10X_TO_REGISER);
}
//Тази функция я използваме за да скрием информация от външни потребители
function is_logged_in($user) {
if(isset($_COOKIE['esolleeu'])){
$userid = $_COOKIE['uid'];
$passwd = $_COOKIE['pass'];
$userid = intval($userid);
if(($userid != "") || ($passwd != "")){
$sql_check = mysql_query("SELECT * FROM esolle_users WHERE userid = '$userid'");
$info = mysql_fetch_array($sql_check);
if(($info['userid'] = $iserid) || ($info['password'] = $passwd)){
return 1;
}else{
return 0;
}
}
}
}
//Пример
// if(is_logged_in($user)){
// echo(_WELCOME_REGISTERED_USER);
// }else{
// echo(_PLEASE_LOGIN_FIRST);
// }
?>