Loading...
Обучение/Помощь новичкам | Проблема с регистрацией
Здравствуйте мастера. Вот что то не пойму
<?php
require_once 'system/func.php';
$title = 'Регистрация';
require_once 'system/head.php';
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users`"));
$num = rand(1000, 9999);
if (isset($_GET['registr'])) {
$err[] = array();
if (trim($_POST['login']) == '') {
$err[] = 'Введите логин!';
}
if (trim($_POST['email']) == '') {
$err[] = 'Введите свою почту!';
}
if ($_POST['password'] == '') {
$err[] = 'Введите Пароль!';
}
if ($_POST['password'] != $_POST['password_2']) {
$err[] = 'Пароли не совпадают!';
}
if ($_POST['num'] != $num) {
$err[] = 'Число введено не правильно!';
}
if ($_POST['login'] == $user['login']) {
$err[] = 'Логин занят!';
}
if ($_POST['email'] == $user['email']) {
$err[] = 'Почта уже используется!';
}
if (empty($err)) {
$login = $_POST['login'];
$pass = mb5($_POST['password']);
$email = $_POST['email'];
mysql_query("INSERT INTO `users` (`login`, `password`, `email`) VALUES ('".$login."', '".$pass."', '".$email."')");
echo '<div id="success" class="message">
<a id="close" title="Закрыть" href="#" onclick="document.getElementById("error").setAttribute("style","display: none;");">×</a>
Регистрация успешно прошла, можете Войти</div>';
header('location: /');
exit();
}else{
echo '<div id="error" class="message">
<a id="close" title="Закрыть" href="#" onclick="document.getElementById("error").setAttribute("style","display: none;");">×</a>
'.array_shift($err).'</div>';
}
}
echo '<div class="content">
<div class="tmenu"><img src="/images/menu.png" alt="."></div>
<div class="post2"><center>
<form action="/reg.php" method="POST">
<strong>Придумайте себе Логин:</strong><br />
<input type="login" name="login"><br />
<strong>Укажите свою Электронную почту:</strong><br />
<input type="email" name="email"><br />
<strong>Придумайте себе надежный пароль:</strong><br />
<input type="password" name="password"><br />
<strong>Повторите пароль:</strong><br />
<input type="password" name="password_2"><br />
<strong>Напишите для проверки цифры - '.$num.'</strong><br />
<input type="text" name="num"><br />
<button type="submit" name="registr">Зарегестрироваться</button><br />
</form>
</center>
</div>
</div>';

require_once 'system/foot.php';


Ничего не работает. Ошибки не выходят, и юзер не добавляется
Ну во первых непонятен запрос в начале
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users`"));
а во вторых даже если будет вставка в бд то никакой авторизации не произойдет, нет установки кук или сессии
отправка POST запроса идёт на файл reg.php, а в данном коде принимается какой-то GET запрос registr

ну а потом уже всё остальное из поста 2
________
посл. ред. 13.03.2018 в 14:37; всего 1 раз(а); by PhpStorm
Сибирский (13.03.2018 в 14:26)
Ну во первых непонятен запрос в начале
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users`"));
а во вторых даже если будет вставка в бд то никакой авторизации не произойдет, нет установки кук или сессии

мне бы сейчас хоть что то сделать
PhpStorm (13.03.2018 в 14:37)
отправка POST запроса идёт на файл reg.php, а в данном коде принимается какой-то GET запрос registr

ну а потом уже всё остальное из поста 2

Помогло. Не подскажешь как сделать так чтобы при регистрации отмечалась дата в бд у юзера? У меня у бд нет такой фичи чтобы автоматом писалось, поэтому приходится самому(
Sheyx (13.03.2018 в 14:49)
PhpStorm (13.03.2018 в 14:37)
отправка POST запроса идёт на файл reg.php, а в данном коде принимается какой-то GET запрос registr

ну а потом уже всё остальное из поста 2

Помогло. Не подскажешь как сделать так чтобы при регистрации отмечалась дата в бд у юзера? У меня у бд нет такой фичи чтобы автоматом писалось, поэтому приходится самому(


в бд создать столбец date формата varchar(10) и в запросе при insert нового юзера писать в неё date = date('d.m.Y')
PhpStorm (13.03.2018 в 14:54)
Sheyx (13.03.2018 в 14:49)
PhpStorm (13.03.2018 в 14:37)
отправка POST запроса идёт на файл reg.php, а в данном коде принимается какой-то GET запрос registr

ну а потом уже всё остальное из поста 2

Помогло. Не подскажешь как сделать так чтобы при регистрации отмечалась дата в бд у юзера? У меня у бд нет такой фичи чтобы автоматом писалось, поэтому приходится самому(


в бд создать столбец date формата varchar(10) и в запросе при insert нового юзера писать в неё date = date('d.m.Y')

Сенькю вери мач май фрэнд))))
Не стал создавать новую тему. Вот авторизация. как думаете, Все нормально? Из за формы я не могу проверить ошибки. Она сама не допускает пустого поля. И в сессию правильно сохранил юзера? или еще пас надо сохранить?
<?php

if (isset($_POST['aut'])) {
if ($_POST['login'] == '') {
$err = 'Введите свой логин!';
}
if ($_POST['password'] == '') {
$err = 'Введите пароль!';
}
$password1 = $_POST['password'];
$password = md5($password1);
$login = $_POST['login'];
$sql = 'SELECT * FROM `users` WHERE `login` = "'. mysql_escape_string($login) .'" AND `password` = "'. mysql_escape_string($password1) .'"';
$res = mysql_query($sql);
$rs = mysql_fetch_assoc($res);
if ($rs['login'] != $login) {
$err = 'Не существует такого пользователя!';
}
if ($rs['password'] != $password1) {
$err = 'Не правильный пароль!';
}
if(mysql_num_rows($res) != 0){
$_SESSION['user'] = $login;
$_SESSION['msg'] = 'ВСе правильно!';
}else{
echo $err;
}

if (empty($err)) {
$_SESSION['user'] = $login;
echo 'Успешная Авторизация!';
}
}

echo '<form action="/" method="POST">
<input placeholder="Имя" required="" name="login" type="login"><br>
<input placeholder="Пароль" required="" name="password" type="password"><br/>
<button type="submit" name="aut">Войти</button><br/>
</form>';
И проблема в том что не могу хешированный пас в бд закинуть хД Пишет что пас не правильный хД
Онлайн: 4
Время:
Gen. 0.1062
(c) Bym.Guru 2010-2026