Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

05.07.2008, 19:24
|
|
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
Провел на форуме: 3942177
Репутация:
244
|
|
Сообщение от MafiaBoy3
Как мне сделать регистрацию на сайте?
Может у кого нибудь есть готовые скрипты (готовые решения на php) для реализации:
Регистрации пользователя, входа и выхода пользователя (логина, логаута).
PS: GOOGLE не помог выдал треш, да и готовых решений совсем не было, статьи на эту тему безобразные.
Вобщем делать мне было не чего =), написал два небольших скрипта, ошибок в них куча но всеже:
Файл register.php:
PHP код:
<html>
<head><title>Регистрация</title></head>
<body><p align="left"><?php session_start(); if($_SESSION['login']){ echo 'Вы вошли как:'.$_SESSION['login'].' <a href="./login.pph?mode=logout">Logout</a>'; } else { echo 'Вы не выполнили <a href="./login.php">вход</a>.'; } ?></p>
<form method="post" action="">
<table cellspacing="0" border="0" align="center">
<tr><td>Имя: <input type="text" name="name"></td></tr>
<tr><td>Пароль: <input type="password" name="password"></td></tr>
<tr><td>E-Mail: <input type="text" name="email"></td></tr>
<tr><td><input type="submit" value="Зарегистрироваться" name="doit"></td></tr>
</tr>
</table>
</form>
<?php
include('cfg.php');
session_start();
$name = mysql_escape_string($_POST['name']);
$pwd = mysql_escape_string($_POST['password']);
$email = mysql_escape_string($_POST['email']);
if($_POST['doit']){
$r = mysql_query("SELECT * FROM `users` ORDER by `id`");
$n = mysql_num_rows($r);
if($n > 0)
{
for($i = 0; $i < $n; $i++)
{
$row = mysql_fetch_array($r);
}}
$id = $row['id'] + 1;
$q = "INSERT INTO `users` VALUES($id,'".$name."','".$pwd."','".$email."')";
if(mysql_query($q))
{
echo '<script>alert("Регистрация завершена.");</script>';
} else { exit('Error'.mysql_error()); }
}
?>
</body>
</html>
Файл login.php:
PHP код:
<html>
<head>
<title>Авторизация</title>
</head>
<body><p align="left"><?php session_start(); if($_SESSION['login']){ echo 'Вы вошли как:'.$_SESSION['login'].' <a href="./login.pph?mode=logout">Logout</a>'; } else { echo 'Вы не выполнили <a href="./login.php">вход</a>.'; } ?></p>
<form method="post" action="">
<table cellspacing="0" border="0" align="center">
<tr><td>Логин: <input type="text" name="login"></td></tr>
<tr><td>Пароль <input type="text" name="password"></td></tr>
<tr><td><input type="submit" name="doit"></td></tr>
</table>
</form>
</body>
</html>
<?php
include('cfg.php');
$login = mysql_escape_string($_POST['login']);
$pwd = mysql_escape_string($_POST['password']);
if($_GET['mode']=='logout')
{
setcookie('name', '');
setcookie('password', '');
session_destroy();
echo "Вы вышли.";
}
if($_POST['doit'])
{
$q = "SELECT * FROM `users` WHERE `username` = '".$login."' AND `userpassword` = '".$pwd."'";
$r = mysql_query($q);
if(mysql_num_rows($r))
{
$_SESSION['login'] = $login;
$_SESSION['pwd'] = $pwd;
setcookie('name', $_SESSION['login'], time()+ 86400 * 30 * 12, '', false, 0);
setcookie('password' , $_SESSION['pwd'], time()+ 86400 * 30 * 12, '', false, 0);
} else { echo 'Неверный пароль/логин. '; }
}
?>
cfg.php:
PHP код:
<?php
error_reporting('0');
$mysqlc = mysql_connect('localhost','root','test');
if(!$mysqlc){ die(mysql_error()); }
mysql_select_db('data');
?>
Думаю объяснять что каждый срипт делает не надо.
Создаш БД data, выполнишь этот запрос:
PHP код:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) NOT NULL,
`username` varchar(15) NOT NULL,
`userpassword` varchar(20) NOT NULL,
`useremail` varchar(30) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `users` (`id`, `username`, `userpassword`, `useremail`) VALUES
(1, 'test', 'test', 'test@gmail.com');
первый пользователь это test c паролем test
Думаю принцип поймешь, если разбираешся и дaльше сам уже...
|
|
|
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
|
|