| весь код обработки
<?php
// Регистрация
if(isset($_POST['sendregist'])) {
if(
empty($_POST['name']) ||
empty($_POST['family']) ||
empty($_POST['pol']) ||
empty($_POST['live_city']) ||
empty($_POST['login']) ||
empty($_POST['password']) ||
empty($_POST['password2'])){
echo "Заполните все поля";
}
else{
// Проверка на регулярные выражения
if(preg_match("/[а-яa-z]/i",$_POST['name']) ||
preg_match("/[а-яa-z]/i",$_POST['family']) ||
preg_match("/[а-я]/i",$_POST['pol']) ||
preg_match("/[a-zа-я\\._ -]/i",$_POST['live_city']) ||
preg_match("/[0-9a-z\\._ -]/i",$_POST['login']) ||
preg_match("/[0-9a-zA-Z\\. -]/",$_POST['password']) ||
preg_match("/[0-9a-zA-Z\\. -]/",$_POST['password2']))
{
if($password===$password2){
// Форматирование введеных полей
$name=ucfirst(strtolower(trim($_POST['name'])));
$family=ucfirst(strtolower(trim($_POST['family'])));
$pol=trim($_POST['pol']);
$live_city=ucfirst(strtolower(trim($_POST['live_city'])));
$login=strtolower(trim($_POST['login']));
$password=trim($_POST['password']);
$password2=trim($_POST['password2']);
// Функция экранирования переменных
function quote_smart($value)
{
// если magic_quotes_gpc включена - используем stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Если переменная - число, то экранировать её не нужно
// если нет - то окружем её кавычками, и экранируем
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}
$connect=mysql_connect('localhost','root','2132');
if (!$connect) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}
else{
mysql_query('SET character_set_database = utf8');
mysql_query('SET NAMES utf8');
}
if (mysql_select_db("mycms")){
}
else{
echo "Unable to select table: " . mysql_error();
exit;
}
// Составляем безопасный запрос
// $query_insert="INSERT INTO user (name,family,pol,live_city,login,passw) VALUES
// ('$name','$family','$pol','$live_city','$login','$password')";
$query_insert = sprintf("INSERT INTO user (login,passw,name,family,pol,live_city) VALUES ('%s','%s','%s','%s','%s','%s')",
quote_smart($login),
quote_smart($password),
quote_smart($name),
quote_smart($family),
quote_smart($pol),
quote_smart($live_city));
$row=mysql_query($query_insert);
if (!$row) {
echo "Could not successfully run query (".$row.") from DB: " . mysql_error();
// закрываем соединение
mysql_close($connect);
exit;
}
} else { echo "Пароли не совпадают";}
} else { echo "Введены недопустимые символы"; }
}}
___________________________________________________________________
а здесь код формы
<form action="axti.php" method="post">
<table width="250" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>имя</td>
<td><input type="text" name="name" value="" maxlength="20"/></td>
</tr>
<tr>
<td>фамилие</td>
<td><input type="text" name="family" value="" maxlength="20"/></td>
</tr>
<tr>
<td>пол</td>
<td><select name="pol">
<option value="">Пол</option>
<option value="Мужской">Мужской</option>
<option value="Женский">Женский</option>
</select></td>
</tr>
<tr>
<td>метро жительства</td>
<td><input type="text" name="live_city" value="" maxlength="20"/></td>
</tr>
<tr>
<td>логин</td>
<td><input type="text" name="login" value="" maxlength="20"/></td>
</tr>
<tr>
<td>пароль</td>
<td><input type="password" name="password" value="" maxlength="20"/></td>
</tr>
<tr>
<td>Повторите пароль</td>
<td><input type="password" name="password2" value="" maxlength="20"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="sendregist"></td>
</tr>
</table>
</form> | |