Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> PHP -> Форум, работающий с базой данных MySQL


Форум, работающий с базой данных MySQL

Регистрация пользователя в БД

Далее пойдет чистый PHP и HTML.

Сгенерируем форму для регистрации:

<h2 alignОnter><font color="ff0000">Registration.</font></h2>
<p><font face="serif" size=2> Please,fill in the form below.
<p>You may use only english chars 
in your name,and name's length should be not less than 3 and not more than 15 characters. <br>Remember:all form fields are case sensitive.It means the names
<font face="arial" size=2 color="0000ff">name</font> and
<font face="arial" size=2 color="0000ff">Name</font> are different. <p>Password's length should be not less than 6 characters.<br> Don't forget to enter your e-mail address,
you may need it if you'll forget your password. <p><FORM ACTION="" METHOD="POST" name="reg"> <p align=right><a href="">Home</a> <center><TABLE BGCOLOR="bfbfbf"> <tr><td colspan=2> </td></tr> <tr><TD><b>Login:</b><TD>
<INPUT TYPE="text" NAME="login" SIZE="20" maxlength="15" >   <tr><TD><b>Password:</b><TD>
<INPUT TYPE="password" NAME="pass" SIZE="20"
onFocus="is_ValidLogin (this.form.login.value)";return true>   <tr><TD><b>Verify password:</b><TD>
<INPUT TYPE="password" NAME="verpass" SIZE="20"
onFocus="is_ValidPass (this.form.pass.value)";return true>   <tr><TD><b>E-mail:</b><TD>
<INPUT TYPE="text" NAME="email" SIZE="20"
onFocus="verPasswd ()";return true>   <tr><td colspan=2><input type="hidden" name="action" value="register"> <tr><td colspan=2><input type="hidden" name="verify" value="ok"> <tr><TD colspan=2><p><center>
<INPUT TYPE="submit" name="submit" VALUE="Submit"
onMouseOver="true_Email (this.form.email.value)";return true></center> <tr><td colspan=2>  </table> </form>

Если что-то пока непонятно-посмотрите полный код. Функции, использованные в форме, служат для проверки информации, введенной пользователем. Далее, нужно обработать данные. Для соединения с БД используется функция mysql_connect ().Поскольку соединяться с БД придется не раз, я вынес все данные в функцию connect()

function connect () {
$hostname="localhost:3306";
$user="root";
$password="ваш пароль";
$db="forum";

mysql_connect ($hostname,$user,$password);
$request=mysql_select_db ($db);
if (!mysql_connect) {
echo "Error: ".mysql_error ();
}
}

Эта функция подключает базу данных и проверяет наличие ошибок соединения. Теперь можно получить и обработать данные пользовательского ввода.

if ($action=="register") {
connect ();
if ($verify) {

$query="select id from info where name='$login'"; // Запрос к БД.
$result=mysql_query ($query);

if (mysql_num_rows ($result)) { // Проверяем,не существует ли уже такой пользователь.
print_header ();
echo "<p alignОnter><b>Error!</b>";
echo "<p>Name <b>".$login."</b> already exists.Please, go back and choose another name.";
?>
<p><center><a href="?action=register">Go back</a></center>
<?php
} else {
// Если все ОК вставляем данные в таблицу info.

$query="insert into info (name,password,email) values ('$login','$pass','$email')";
$result=mysql_query ($query);

// Говорим пользователю спасибо и распечатываем информацию.
print_header ();
echo "<h3 alignОnter>Thank you,<font color='ff0000'>".$login."!</font></h3>";?>
<p>You are successfuly registered and your information added to our database.
<p>Please,remember your information.Only registered users may post messages and replies.
<p><font face='arial' size=2 color='0000ff'>Your login:</font>
<font face='arial' size=2 color='ff0000'></font><br>
<font face='arial' size=2 color='0000ff'>Password:</font>
<font face='arial' size=2 color='ff0000'></font><br>
<font face='arial' size=2 color='0000ff'>E-mail:</font>
<font face='arial' size=2 color='ff0000'></font>
<p>Good luck!
<center><a href="">| Go to topics</a> |
<a href="?action­d_new_top"> Post new topic</a> |</center>
<?php
}
}

Функция print_header() - это заголовок html-страницы. Она тоже использована для уменьшения количества кода.

function print_header () {
?>
<html><head><title>Forum version 1.1</title>
</head><style> A:link {font-family:arial;font-size:10pt;text-decoration:none;color:#0000ff;}
A:hover {font-family:arial;font-size:10pt;text-decoration:none;color:red;}";
A:visited {font-family:arial;font-size:10pt;text-decoration:underline;color:#0000ff;}
BODY {background-color:#e6e8fa;font-family:arial;font-size:10pt;color:#333300;}
TD {font-family:arial;font-size:10pt;color:#333300;}
H2 {text-align:center;color:blue;}
</style><body>
<?php
}

Ну вот и все. Пользователь зарегистрирован и может помещать сообщения в форуме.

[Назад] [Содержание] [Вперед]

Автор: OlegTr
Источник: www.zk.ru/alextr/

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100