Для начала нам понадобиться веб сервер, дабы выполнялись PHP скрипты и возможность добавлять информацию в БД.
И так. Теперь перейдите в phpMyAdmin, и создайте новую БД.
После, перейдите в созданную БД и создайте таблицу "users". В ней будут храниться данные о пользователях.
Выполните следующий Mysql запрос для создания новой таблицы "users":
- Код: Выделить всё • Развернуть
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 255 ) NOT NULL ,
`password` VARCHAR( 255 ) NOT NULL ,
`regdate` DATETIME NOT NULL DEFAULT '00-00-00',
`icq` VARCHAR( 255 ) NOT NULL ,
`about` TEXT NOT NULL ,
INDEX ( `id` ) ,
UNIQUE (
`username`
)
) ENGINE = MYISAM COMMENT = 'Зарегистрированные пользователи';
Теперь перейдём к форме регистрации.
Для начала нам нужно подключиться к БД, для обмена данными.
- Код: Выделить всё • Развернуть
<?php
//////////////////////////////
/* Начало: Подключение к БД */
//////////////////////////////
$host = 'localhost'; // В большинстве случаев менять не надо.
$name = 'phpMyAdmin'; // Имя созданной БД.
$user = 'root'; // Имя пользователя БД.
$pass = ''; // Пароль пользователя БД.
@mysql_connect($host, $user, $pass);
@mysql_select_db($name);
// @mysql_set_charset('utf8'); // Разкомментируйте если заместо русского текста вопросы или "карякули"
/////////////////////////////
/* Конец: Подключение к БД */
/////////////////////////////
function intForm(){
?>
<!-- Тут код формы -->
<?
}
if(isset($_POST['submit'])){
$username = mysql_real_escape_string(trim($_POST['username']));
$password = $_POST['password'];
$icq = intval(trim($_POST['icq']));
$about = mysql_real_escape_string(trim($_POST['about']));
$date = date('Y-m-d h:i:s');
$sql = "SELECT id, username FROM users WHERE username = '".$username."' LIMIT 1";
$res = mysql_query($sql);
$row = mysql_fetch_array($row);
if($row){
die "Данный логин уже используется!";
} else {
if(empty($username) || empty($password)){
die "Поля логин и пароль обязательны для заполенния!";
} else {
$password = md5($password);
$sql = "INSERT INTO users (id, username, password, regdate, icq, about) VALUES (NULL, '".$username."', '".$password."', '".$date."', '".$icq."', '".$about."')";
mysql_query($sql) or die(mysql_error());
die "Регистрация прошла успешно!";
}
}
} else {
intForm();
}
?>
Теперь заместо "<!-- тут код формы -->" добавим нужные поля:
- Код: Выделить всё • Развернуть
<form action="reg.php" method="post">
<table>
<tr><td>Логин:</td><td><input type="text" name="username" /></td></tr>
<tr><td>Пароль:</td><td><input type="password" name="password" /></td></tr>
<tr><td>Номер ICQ:</td><td><input type="text" name="icq" /></td>
<tr><td>Не много о себе:</td><td><textarea name="about"></textarea></td>
<tr><td> </td><td><input type="submit" name="submit" value="Отправить" /> или <input type="reset" value="Сбросить" /></td>
</table>
</form>
В итоге у нас выходит:
- Код: Выделить всё • Развернуть
<?php
//////////////////////////////
/* Начало: Подключение к БД */
//////////////////////////////
$host = 'localhost'; // В большинстве случаев менять не надо.
$name = 'phpMyAdmin'; // Имя созданной БД.
$user = 'root'; // Имя пользователя БД.
$pass = ''; // Пароль пользователя БД.
@mysql_connect($host, $user, $pass);
@mysql_select_db($name);
// @mysql_set_charset('utf8'); // Разкомментируйте если заместо русского текста вопросы или "карякули"
/////////////////////////////
/* Конец: Подключение к БД */
/////////////////////////////
function intForm(){
?>
<form action="reg.php" method="post">
<table>
<tr><td>Логин:</td><td><input type="text" name="username" /></td></tr>
<tr><td>Пароль:</td><td><input type="password" name="password" /></td></tr>
<tr><td>Номер ICQ:</td><td><input type="text" name="icq" /></td>
<tr><td>Не много о себе:</td><td><textarea name="about"></textarea></td>
<tr><td> </td><td><input type="submit" name="submit" value="Отправить" /> или <input type="reset" value="Сбросить" /></td>
</table>
</form>
<?
}
if(isset($_POST['submit'])){
$username = mysql_real_escape_string(trim($_POST['username']));
$password = $_POST['password'];
$icq = intval(trim($_POST['icq']));
$about = mysql_real_escape_string(trim($_POST['about']));
$date = date('Y-m-d h:i:s');
$sql = "SELECT id, username FROM users WHERE username = '".$username."' LIMIT 1";
$res = mysql_query($sql);
$row = mysql_fetch_array($res);
if($row)
{
die "Данный логин уже используется!";
}
else
{
if(empty($username) || empty($password))
{
die "Поля логин и пароль обязательны для заполенния!";
} else {
$password = md5($password);
$sql = "INSERT INTO users (id, username, password, regdate, icq, about) VALUES (NULL, '".$username."', '".$password."', '".$date."', '".$icq."', '".$about."')";
mysql_query($sql) or die(mysql_error());
die "Регистрация прошла успешно!";
}
}
}
else
{
intForm();
}
?>
By Zver
ЗЫ: Могут быть ошибки, т.к. писал на ходу...