InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Форум, работающий с базой данных 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
}

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

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


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua