1 Востаннє редагувалося wadim.czeresniowski (15.08.2015 18:11:59)

Тема: Форма регистрации и авторизации

Доброго дня, підкажіть як вирішити проблему, голову ламаю - відповіді так і не знайшов...
Буду вдячний за допомогу!

https://pp.vk.me/c623224/v623224097/4428d/QrZMetT36UQ.jpg

/home/grom/site/reg.php

Прихований текст
<?php
session_start();
include ("db_connect.php");
?>
 
<html>
<header>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Реєстрація</title>
</header>
<body style="background: #ddd">
<div style="width: 320px; margin: 200px auto; border: 1px solid #aaa; padding: 10px;">
 
<?php
 
// Реєстрація
if(isset($_POST['reg'])){
    $username = strip_tags(trim($_POST['username']));
    $login = strip_tags(trim($_POST['login']));
    $password = strip_tags(trim($_POST['password']));
    $r_password = strip_tags(trim($_POST['r_password']));
    $result_login = mysqli_query($con, "SELECT login FROM reg WHERE login = '$login' LIMIT 1");
    $row_login = mysqli_fetch_array($result_login);
    if(strlen($login) <= 3 ){
        echo ("Введіть логін більше 3х символів.");    
    }
    else {
        if(isset($row_login['login'])){
            exit ("Вибачте, введений вами логін <b><span style=\"color: red\">" . $_POST['login']. "</span></b> вже зареєстрований. Введіть другий логін.<a href=\"reg.php\">Назад</a>");
        }
        if(strlen($password) <= 5){
            echo ("Введіть пароль більше 5 символів");
        }
        else {
             if($password == $r_password){
                $password = md5($password);
                $sq_result = mysqli_query($con, "INSERT INTO reg(username, login, password) VALUES('$username', '$login', '$password')") or die(mysqli_error($con));
             }
            else {
                echo "<span style=\"color: red\">Паролі не співпадають</span>";
             }
            if ($sq_result){
                exit ("Ви зареєстровані, вітаю! <a href=\"index.php\">На головну</a>");
            }
        }
    }
}
?>
 
<h2>Реєстрація</h2>
<table>
<form action="reg.php" method="post">
<tr>
    <td><label>Ваше імя<span style="font-size: 12px;">*</span></label></td>
    <td><input type="text" name="username" maxlength="32" required /></td>
</tr>
<tr>
    <td><label>Логін<span style="font-size: 12px;">*</span></label></td>
    <td><input type="text" name="login" maxlength="16" required /></td>
</tr>
<tr>
    <td><label>Пароль<span style="font-size: 12px;">*</span></label></td>
    <td><input type="password" name="password" maxlength="16" required /></td>
</tr>
<tr>
    <td><label>Повторіть пароль<span style="font-size: 12px;">*</span></label></td>
    <td><input type="password" name="r_password" maxlength="16" required /></td>
</tr>
<tr>
    <td><button><a href="index.php" style="text-decoration: none; color: #000;">&larr; Назад</a></button></td>
    <td><input type="submit" name="reg" value="Зареєструватись"/></td>
</tr>
</form>
</table>
</div>
</body>
</html>

2

Re: Форма регистрации и авторизации

ініціалізації змінної $con щось не видно

Подякували: koala1

3

Re: Форма регистрации и авторизации

0xDADA11C7 написав:

ініціалізації змінної $con щось не видно

Вона в db_connect.php

Ви не правильно підключились до бд.

Подякували: Sensetivity1

4

Re: Форма регистрации и авторизации

Звертайте увагу на те, що вам каже PHP, там досить зрозуміло написано. Якщо з англійською не дуже, то є на це онлайн-перекладачі. Не розумієте що воно означає - копіюйте текст помилки без ваших шляхів до файлу і шукайте інфу в інтернеті.

Подякували: wadim.czeresniowski1

5

Re: Форма регистрации и авторизации

ktretyak написав:

Звертайте увагу на те, що вам каже PHP, там досить зрозуміло написано. Якщо з англійською не дуже, то є на це онлайн-перекладачі. Не розумієте що воно означає - копіюйте текст помилки без ваших шляхів до файлу і шукайте інфу в інтернеті.

Дякую за пораду, буду пробувати.

6

Re: Форма регистрации и авторизации

wadim.czeresniowski написав:

Доброго дня, підкажіть як вирішити проблему, голову ламаю - відповіді так і не знайшов...
Буду вдячний за допомогу!

https://pp.vk.me/c623224/v623224097/4428d/QrZMetT36UQ.jpg

/home/grom/site/reg.php

Прихований текст
<?php
session_start();
include ("db_connect.php");
?>
 
<html>
<header>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Реєстрація</title>
</header>
<body style="background: #ddd">
<div style="width: 320px; margin: 200px auto; border: 1px solid #aaa; padding: 10px;">
 
<?php
 
// Реєстрація
if(isset($_POST['reg'])){
    $username = strip_tags(trim($_POST['username']));
    $login = strip_tags(trim($_POST['login']));
    $password = strip_tags(trim($_POST['password']));
    $r_password = strip_tags(trim($_POST['r_password']));
    $result_login = mysqli_query($con, "SELECT login FROM reg WHERE login = '$login' LIMIT 1");
    $row_login = mysqli_fetch_array($result_login);
    if(strlen($login) <= 3 ){
        echo ("Введіть логін більше 3х символів.");    
    }
    else {
        if(isset($row_login['login'])){
            exit ("Вибачте, введений вами логін <b><span style=\"color: red\">" . $_POST['login']. "</span></b> вже зареєстрований. Введіть другий логін.<a href=\"reg.php\">Назад</a>");
        }
        if(strlen($password) <= 5){
            echo ("Введіть пароль більше 5 символів");
        }
        else {
             if($password == $r_password){
                $password = md5($password);
                $sq_result = mysqli_query($con, "INSERT INTO reg(username, login, password) VALUES('$username', '$login', '$password')") or die(mysqli_error($con));
             }
            else {
                echo "<span style=\"color: red\">Паролі не співпадають</span>";
             }
            if ($sq_result){
                exit ("Ви зареєстровані, вітаю! <a href=\"index.php\">На головну</a>");
            }
        }
    }
}
?>
 
<h2>Реєстрація</h2>
<table>
<form action="reg.php" method="post">
<tr>
    <td><label>Ваше імя<span style="font-size: 12px;">*</span></label></td>
    <td><input type="text" name="username" maxlength="32" required /></td>
</tr>
<tr>
    <td><label>Логін<span style="font-size: 12px;">*</span></label></td>
    <td><input type="text" name="login" maxlength="16" required /></td>
</tr>
<tr>
    <td><label>Пароль<span style="font-size: 12px;">*</span></label></td>
    <td><input type="password" name="password" maxlength="16" required /></td>
</tr>
<tr>
    <td><label>Повторіть пароль<span style="font-size: 12px;">*</span></label></td>
    <td><input type="password" name="r_password" maxlength="16" required /></td>
</tr>
<tr>
    <td><button><a href="index.php" style="text-decoration: none; color: #000;">&larr; Назад</a></button></td>
    <td><input type="submit" name="reg" value="Зареєструватись"/></td>
</tr>
</form>
</table>
</div>
</body>
</html>

Лінійку 22 замінити на:

$result_login = mysqli_query($con, "SELECT login FROM reg WHERE login = '".$login."' LIMIT 1");

37 на:

 $sq_result = mysqli_query($con, "INSERT INTO reg(username, login, password) VALUES($username, $login, $password)") or die(mysqli_error($con));

7

Re: Форма регистрации и авторизации

Покажіть вміст db_connect.php пароль можете затерти :)
Як варіант, використання функції mysql_query в одному файлі, а потім спроба з'єднання через функцію mysqli_query

8

Re: Форма регистрации и авторизации

Змініть назву теми. Написана на російській - має бути на українській.