Различные вопросы по PHP и MySQL

254K
.
__________________________________________________
# -sanek- (01.11.2015 / 11:18)
Andrei4ik93, Можно поменять
Вот вот,я тоже думал над этим.
Тогда перед финальной записью в базу только проверять,думаю.
.

в сессию пишите

.
__________________________________________________
# ramzes (01.11.2015 / 23:52)
в сессию пишите
Как вариант.
Но хочется именно так,как сейчас
.

Andrei4ik93, Да оставь так как сейчас, тебе сложно проверку впихнуть в функцию а потом ее вызвать в 2х шагах реги?

.
kikob

Ребята где ошибкааааа

код (+/-)
<?
// Страница регистрации нового пользователя

# Соединямся с БД
$link=mysqli_conect("localhost", "mysql_user", "mysql_password", "testtable");

if(iset($_POST['submit']))
{
    $err = array();

    # проверям логин
    if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))
    {
        $er[] = "Логин может состоять только из букв английского алфавита и цифр";
    }

    if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30)
    {
        $err[] = "Логин должен быть не меньше 3-х символов и не больше 30";
    }

    # проверяем, не сущестует ли пользователя с таким именем
    $query = mysqli_query($link, "SELECT COUNT(user_id) FROM users WHERE user_login='".mysqli_real_escape_string($link, $_POST['login'])."'");
    if(mysqli_num_rows($query) > 0)
    {
        $err[] = "Пользователь с таким логином уже существует в базе данных";
    }

    # Если нет ошибок, то добавляем в БД нового пользователя
    if(count($err) == 0)
    {

        $login = $_POST['login'];

        # Убераем лишние пробелы и делаем двойное шифрование
        $password = md5(md5(trim($_POST['password'])));

        mysqli_query($link,"INSERT INTO users SET user_login='".$login."', user_password='".$password."'");
        header("Location: login.php"); exit();
    }
    else
    {
        print "<b>При регистрации произошли следующие ошибки:</b><br>";
        foreach($err AS $error)
        {
            print $error."<br>";
        }
    }
}
?>


<form method="POST">
Логин <input name="login" type="text"><br>
Пароль <input name="password" type="password"><br>
<input name="submit" type="submit" value="Зарегистрироваться">
</form>
.
ДоХтор

kikob,

вместо этого (+/-)
if(iset($_POST['submit']))

надо это (+/-)
if(isset($_POST['submit']))

и вместо этого (+/-)
$link = mysqli_conect("localhost", "mysql_user", "mysql_password", "testtable");

надо это (+/-)
$link = mysqli_connect("localhost", "mysql_user", "mysql_password", "testtable");
.
# FROSTY!? (02.11.2015 / 15:28)
Andrei4ik93, Да оставь так как сейчас, тебе сложно проверку впихнуть в функцию а потом ее вызвать в 2х шагах реги?
зачем глупости советовать?
давай каждую функцию и метод по 5 раз вызывать? это же не сложно, че
.

ramzes, 2 раза это не 5, это во первых, во вторых функции для того и есть что бы их вызывать в нескольких местах

.
# FROSTY!? (03.11.2015 / 16:29)
ramzes, 2 раза это не 5, это во первых, во вторых функции для того и есть что бы их вызывать в нескольких местах
и тем не менее, это не повод гадить в своем же коде.
при том что ну ни какой необходимости в этом нет
.

ramzes, У нас разные взгляды на то что такое "гадить в коде".

Всего: 7969