|
|
|
|
|
|
для: Zew
(19.09.2005 в 21:17)
| | Знак @ отменяет вывод ошибки! | |
|
|
|
|
|
|
|
для: Artemy
(19.09.2005 в 18:26)
| | Спасибо, работает. =)
ЗЫ: Кстати, всегда было интересно, для чего в пхп применяется знак "@", как например в вышеприведенном примере? | |
|
|
|
|
|
|
|
для: Zew
(19.09.2005 в 15:02)
| | >Как сделать так, чтобы при регистрации юзеры не могли зарегистрироваться под тем же ником, который уже существует в базе?
Делать запрос к БД на наличие такого имени, если такое имеется, то выводить ошибку!
<?PHP
if(@mysql_result(@mysql_query("SELECT COUNT(id) FROM users WHERE name = '".$name."'"),0)>0)
{
exit("Ошибка! Пользователь с таким именем уже существует!");
}
?>
|
>И еще, я пыталась сделать так, чтобы нельзя было указывать в пароль и ник всякие спецсимволы, ну кроме отдельных, относительно безопастных и часто используемых в никах, но почему-то все равно они все благополучно записываются в базу, правда при авторизации не срабатывают. *_*
Пускай пароль будет какой угодно, иначе для пользователя возникнет критическая ошибка! :-)) | |
|
|
|
|
|
|
| Как сделать так, чтобы при регистрации юзеры не могли зарегистрироваться под тем же ником, который уже существует в базе?
И еще, я пыталась сделать так, чтобы нельзя было указывать в пароль и ник всякие спецсимволы, ну кроме отдельных, относительно безопастных и часто используемых в никах, но почему-то все равно они все благополучно записываются в базу, правда при авторизации не срабатывают. *_*
<?
session_start();
include("auth.php");
include('db_main.php');
$action = $_GET[action];
//Если отправлена форма регистрации.
if ($action == 'reg'){
mysql_query("select name from users");
$name_r = $_POST[name_r];
$pass_r = $_POST[pass_r];
$pass2_r = $_POST[pass2_r];
$rules = $_POST[rules];
//Убираем все лишнее
$name_r = htmlspecialchars($name_r);
$pass_r = htmlspecialchars($pass_r);
$pass2_r = htmlspecialchars($pass2_r);
$pass_r = substr($pass_r, 0, 35);
$name_r = substr($name_r, 0, 15);
$name_r = strip_tags($name_r);
$pass_r = strip_tags($pass_r);
$pass2_r = strip_tags($pass2_r);
$name_r = trim($name_r);
$pass_r = trim($pass_r);
$pass2_r = trim($pass2_r);
//Проверяем на заполненность полей
if(!empty($name_r) && !empty($pass_r) && !empty($pass2_r)){
//Проверяем на согласие с правилами
if($rules == "rules"){
//На совпадение паролей
if ($pass2_r == $pass_r){
//Регистрация
$query = "insert into users (name, pass) values ('$name_r', '$pass_r')";
mysql_query($query);
header("Location: error.php?error=reg");
//Регистрация (конец)
}else{header("Location: error.php?error=pass");}
}else{header("Location: error.php?error=rules");}
}else{header("Location: error.php?error=empty");}
}//Если отправлена форма регистрации (конец)
//Иначе выводим форму регистрации
else{
include('diz1.php'); ?>
<center><p class="h1">Регистрация</p><br>
<hr color=#cc0000>
<div align="LEFT"><p сlass=h1>Правила сайта</p> ...............</div>
<hr color=#cc0000><br>
<form name="reg" method="post" action="reg.php?action=reg">
<table width="100%" border="0" cellspacing="0" cellpadding="5"><tr>
<td align="right" valign="top">Имя:</td>
<td align="left" valign="top"><input type="text" name="name_r" title=""></td></tr><tr>
<td align="right" valign="top">Пароль:</td>
<td align="left" valign="top"><input type="text" name="pass_r"></td></tr><tr>
<td align="right" valign="top">Пароль еще раз:</td>
<td align="left" valign="top"><input type="text" name="pass2_r"></td></tr><tr>
<td width="200" align="right" valign="top"><input type="submit" name="Submit" class="butt" value="Submit"></td>
<td align="left" valign="top"><input type="checkbox" name="rules" value="rules">
Я согласен(а) с правилами.</td>
</tr></table></form>
<?
include('diz2.php');}
//Выводим форму регистрации (конец)
?>
|
| |
|
|
|
|