Запрет повторной записи в бд

MadDen

Новичок
Запрет повторной записи в бд

Какой фун-ей запретить повторную запись в бд?
 

MadDen

Новичок
ну вот листинг:
PHP:
<?php

include "conf.php"; // конект к бд

// страница обработки информации пользователя

include "header.php";

$login = isset($_POST['login']) ? htmlspecialchars($_POST['login']) : '';
$pass = isset($_POST['pass']) ? htmlspecialchars($_POST['pass']) : '';


if (!isset($_POST['login'])||!isset($_POST['pass']))
{
echo '<form name="reg" action="rega.php" method="post">';
echo '<div class="quote_conteiner">';
echo "Имя: <input name='login' type='text'>";
echo '</div>';
echo '<div class="quote_conteiner">';
echo "Пароль: <input name='pass' type='password'>";
echo '</div>';
echo '<input type="submit" name="ok" value="OK">';
echo '</form>';
}
elseif(isset($_POST['login'])||isset($_POST['pass']))
{
mysql_query("INSERT into g values ('0', '$login','$pass');");
}

echo 'Привет '.$login.', твой пароль '.$pass.'.';
echo '<br/>';
echo 'чувствуй себя как дома =)';

include "footer.php";

?>
нужно сделать чтобы при обновлении страницы данные повторно не записывались в бд.
и ещё как запретить чтобы русскими буквами не смогли написать?
 

Духовность™

Продвинутый новичок

fixxxer

К.О.
Партнер клуба
>нужно сделать чтобы при обновлении страницы данные повторно не записывались в бд.

mysql_query("INSERT into g values ('0', '$login','$pass');");
header("Location: ".$_SERVER['REQUEST_URI']);
exit;

-~{}~ 29.12.07 13:59:

кстати у тебя в базу пишется преобразованным в htmlspecialchars.
это неправильно.
при составлении запроса надо делать mysql_real_escape_string
htmlspecialchars непосредственно перед выводом
читай phpfaq.ru
 

Фанат

oncle terrible
Команда форума
Кость, я правильно понимаю, что на вики уже лежит всё, что было на пятёрке?
 

fixxxer

К.О.
Партнер клуба
то что счел нужным =)
с некоторыми правками. как обнаружилось я там местами написал бред =)
 

Фанат

oncle terrible
Команда форума
fixxxer
ну, это называется рефакторинг, и к статьям применимо точно так же, как и к коду =)
 

MadDen

Новичок
как запретить ввод не более там 15-ти символов и не менее 3-х?
можно так: preg_match("%^[a-z0-9]{3,15}$%",$login);
но куда её в код вставить?
 
Сверху