Спустя 6 минут, 43 секунды (18.02.2010 - 21:25) vagrand написал(а):
IF поставь
Спустя 6 минут, 15 секунд (18.02.2010 - 21:31) Dimaz написал(а):
Не понял при чем тут if?
Спустя 8 минут, 45 секунд (18.02.2010 - 21:40) Dimaz написал(а):
Выкладываю скрипты:
Скрипт JS:
А вот скрипт php-регистрация:
Скрипт JS:
Свернутый текст
<html>
<head>
<title>Эксперименты с JavaScript</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(":submit").click(function() {
var login = $("#login").val();
$.ajax({
type: "POST",
data: 'user='+login,
url: "async.php",
success:function(html) {
$("b").text(html);
}
});
return false;
});
});
</script>
</head>
<body>
<form name="username">
Введите ваше имя:</br>
<input type="text" name="login" id="login">
<input type="submit" value="Проверить"></br>
<b style="color:red"></b>
</form>
</body>
</html>
А вот скрипт php-регистрация:
Свернутый текст
<?php
//подключение файла конфигурации
include'./config.inc.php';
if($_POST)
{
//проверка данных
$login = trim($_POST['login']);
$pass = trim($_POST['pass']);
$pass_r = trim($_POST['pass_r']);
$email = trim($_POST['email']);
$error = false;
$errortext = "<p>При регистрации на сайте возникли следующие ошибки:</p><ul>";
define('SALT','tralala');
if (empty($login))
{
$error = true;
$errortext .= "<li>Не заполнено поле логин</li>";
}
else {
if(!preg_match('/^[a-z][a-z0-9]+$/i', $login)) {
$error = true;
$errortext .= "<li>Введены недопустимые символы в поле логин</li>";
}
}
if(empty($pass))
{
$error = true;
$errortext .= "<li>Не заполнено поле пароль</li>";
}
else {
if(!preg_match('/[a-z0-9!@$%^&*]/i', $pass)) {
$error = true;
$errortext .= "<li>Введены недопустимые символы в поле пароль</li>";
}
}
if(empty($pass_r))
{
$error = true;
$errortext .= "<li>Не заполнено поле подтверждения пароля</li>";
} else {
if($pass != $pass_r)
{
$error = true;
$errortext .= "<li>Поле пароль и его подтверждение не совпадают</li>";
}
}
if (empty($email))
{
$error = true;
$errortext .= "<li>Не заполнено поле e-mail</li>";
}
else {
if(!preg_match('/^[-0-9a-z_\.]+@[-0-9a-z^\.]+\.[a-z]{2,4}$/i',$email))
{
$error = true;
$errortext .= "<li>Не правильно заполнено поле E-Mail. E-mail должен иметь вид user@somehost.com</li>";
}
}
$errortext .= '</ul>';
if($error)
{
echo($errortext);//Выводим текст ошибок
} else {
//соединение с сервером базы данных
if(!$link = mysql_connect($db_server_name, $user_name, $user_password))
{
echo "Не могу соединиться с сервером базы данных";
exit();
}
//выбираем базу данных
if(!mysql_select_db($db_name, $link))
{
echo "Не могу выбрать базу данных";
exit();
}
//строка запроса
$res = "SELECT COUNT(*)
FROM `users`
WHERE `user_name` = '".mysql_real_escape_string($login) ."'
";
$sql=mysql_query($res);
if(mysql_result($sql,0)>0)
{
echo "Пользователь с таким логином уже существует!";
exit();
}
$str_sql_string = "INSERT INTO `users`
SET `user_name` = '".mysql_real_escape_string($login) ."',
`password` = '". md5($pass . SALT) ."'
";
if(!mysql_query($str_sql_string, $link))
{
echo "Не могу выполнить запрос";
exit();
}
echo "Вы успешно зарегестрированы на сайте!";
//закрытие соединения с сервером базы данных
mysql_close($link);
}
}
?>
Спустя 6 минут, 35 секунд (18.02.2010 - 21:47) John_761 написал(а):
Создай отдельную страничку проверки логина, там будет буквально пара строк кода, и никакой головной боли.
Можно и заморочиться, отправив на сервер кроме логина какой-нибудь флаг, если хочешь выполнить отдельный кусок кода, и обрабатывать как-то так:
Можно и заморочиться, отправив на сервер кроме логина какой-нибудь флаг, если хочешь выполнить отдельный кусок кода, и обрабатывать как-то так:
$flag = !empty($_POST['flag']) ? $_POST['flag'] : NULL;
if (isset($flag)) :
include '...';
....
....
echo 'fail';
endif;
Спустя 27 минут, 42 секунды (18.02.2010 - 22:14) Dimaz написал(а):
Я наверно лучше отдельный файл создам, че мозги ломать