Nikitoz01
Продвинутый
Дата регистрации:
06.10.2011 20:01:29
Сообщений: 40
Здравствуйте, Михаил переделал регистрацию для сайта и у меня всплывает ошибка.
Parse error: syntax error, unexpected '}' in C:\AppServ\www\scripts\registracia\obrabotka.php on line 22
Как я понял где-то ошибка в синтасисе подскажите гле.
Заранее спасибо!
Вот код регистрации
<?php
if (isset($_POST['login'])) { $login=$_POST['login']; if(login == '') {unset ($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if(login == '') {unset ($password);} }
if (empty ($login) or empty ($password))
{
echo ("Вы не ввели всю информацию, запалните форму снова"
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$login = trim($login);
$password = trim($password);
if (strlen($login) < 3 or strlen($login) > 15)
}
echo ("Логин должен быть от трёх до пятнадцати символах"
{
if (strlen($password) < 3 or strlen($password) > 15)
}
echo ("Пароль должен быть от трёх до пятнадцати символах"
{
$password=md5($password);
$password=strrev($password);
include ("bd.php"// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
// проверка на существование пользователя с таким же логином
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id']))
{
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин." //останавливаем выполнение сценариев
}
// если такого нет, то сохраняем данные
$result2 = mysql_query ("INSERT INTO users (login,password,) VALUES('$login','$password')"
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
}
else {
exit ("Ошибка! Вы не зарегистрированы." //останавливаем выполнение сценариев
}
?>
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
У Вас в 2-х местах одна и та же ошибка:
if (strlen($login) < 3 or strlen($login) > 15)
}
echo ("Логин должен быть от трёх до пятнадцати символах"
{
Скобка должна сначала открываться, а потом закрываться, а не наоборот.
Nikitoz01
Продвинутый
Дата регистрации:
06.10.2011 20:01:29
Сообщений: 40
исправил вот так?
if (strlen($login) < 3 or strlen($login) > 15)
{
echo ("Логин должен быть от трёх до пятнадцати символах"
}
if (strlen($password) < 3 or strlen($password) > 15)
{
echo ("Пароль должен быть от трёх до пятнадцати символах"
}
но когда я пишу правильно он пишет что Ошибка вы не зарегестрированы что ещё надо исправить
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Совершенно безграмотный скрипт, в частности, зачем сравнивать булевскую переменную со строкой "true"? Это, как минимум, безграмотно. Почему файл называется bd.php, а не db.php (от англ. database). Зачем использовать or, когда традиционно в таких условиях принято использовать ||. Не то, чтобы это не будет работать, просто это код самого новичка, наведите в нём порядок, а уже потом ищите ошибки. А вообще ошибка в лишней запятой после password:
$result2 = mysql_query ("INSERT INTO users (login,password,) VALUES('$login','$password')"
Если это не поможет, значит, ошибка ещё где-то, но прежде чем её искать исправьте код, чтобы он был адекватный без множества этих оплошностей.
int
Освоившийся
Дата регистрации:
26.10.2011 05:32:04
Сообщений: 32
Что бы не переписывать по десять раз операторы проще записать в начале файла - $login=$_POST('login'); if(!$login) {"login err"} Две строчки вместо пятёрых, так же в поле подключение к бд добавить or die ("не хочу подключаться"
; Этот код можно сократить в разы
brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Ув. Nikitoz01 я вам настоятельно не рекомендую брать готовый код на сайте руселлер точка ру, ибо мало чего будете знать. Поверьте, уже опыт с этим порталом имеется. Думайте лучше сами, как работает регистрация, на самом деле её очень просто написать)
brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Ведь прежде, чем писать - надо понимать, для чего используется тот или иной кусок кода