С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
4 / 3 / 2
Регистрация: 11.08.2016
Сообщений: 352

Разработка регистрации

23.05.2017, 17:10. Показов 1193. Ответов 10

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Завис на реализации регистрации, перепробовал массу кодов и с интернета и с собственных разработок, но все они в некоторой степени с ошибками. Помогите, пожалуйста, привести все коды в единый. Пока показываю начальную разработку.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
    if (isset($_POST['name'])) { $name = $_POST['name']; if ($name == '') { unset($name);} } 
    if (isset($_POST['familiya'])) { $familiya=$_POST['password']; if ($familiya =='') { unset($familiya);} }
   if (isset($_POST['telephonenumber'])) { $telephonenumber=$_POST['telephonenumber']; if ($telephonenumber ==") { unset ($telephonenumber);} }
   if (isset($_POST['login'])) { $login=$_POST['login']; if ($login == "") { unset ($login);}  } 
  if (isset($_POST['password'])) { $password=$_POST['password']; if ($password == ") { unset ($password);}  } 
 if (empty($name) or empty($familiya) or empty ($telephonenumber) or empty ($login) or empty ($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
    }
    //если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    $name = stripslashes($name);
    $name = htmlspecialchars($name);
 $familiya = stripslashes($familiya);
    $familiya = htmlspecialchars($familiya);
$telephonenumber = stripslashes($telephonenumber);
$telephonenumber = htmlspecialchars($telephonenumber);
$login = stripslashes($login);
$login = htmlspecialchars ($login); 
$password = stripslashes($password);
$password = htmlspecialchars ($password); 
 //удаляем лишние пробелы
    $name = trim ($name);
    $login = trim($login);
    $password = trim($password);
 // подключаемся к базе
    include ("bd.php");// файл bd.php должен быть в той же папке.
 // проверка на существование пользователя с таким же логином
    $result = mysql_query("SELECT id FROM user WHERE login='$login'",$db);
    $myrow = mysql_fetch_array($result);
    if (!empty($myrow['id'])) {
    exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
    }
 // если такого нет, то сохраняем данные
    $result2 = mysql_query ("INSERT INTO user (name,familiya,telephonenumber,login,password) VALUES('$name','$familiya','$telephonenumber','$password')");
    // Проверяем, есть ли ошибки
    if ($result2=='TRUE')
    {
    echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
    }
 else {
    echo "Ошибка! Вы не зарегистрированы.";
    }
    ?>
В строке include ("bd.php"); прописано подключение к базе, его код я прилагаю, хотя проблема, скорей всего не в нем.
PHP
1
2
3
4
<?php
    $db = mysql_connect ("localhost","тут название базы к которой происходит подключение","пароль базы");
    mysql_select_db ("mysql",$db);
    ?>
И может быть проблемы в форме? Код прилагаю:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form id="formatr" action="" method="post">
            
                             <p><label><b>Ваше имя:</b></label></p>
                             <input type="text" name="name" />
                             <p><label><b>Ваша фамилия:</b></label></p>
                             <input type="text" name="familiya" />
                             <p><label><b>Ваш логин (изменение возможно 1 раз в год с запросом на администрацию):</b></label></p>
                             <input type="text" name="login" />
                             <p><label><b>Ваш номер телефона (сменить номер без причины и доказательства не возможно):</b></label></p>
                             <input type="tel" name="telephonenumber" />
                             <p><label><b>Придумайте пароль (изменение пароля доступно 1 раз в 21 день):</b></label></p>
                             <input type="password" name="password" />
                             <p><input type="submit" name='reg' value="Зарегистрироваться"></p>
                             </form>
Да и очень нужно сказать об ошибках в файле логов error.log. Он говорит, что ошибка в строке 6-ой, это строка с $login.
Кликните здесь для просмотра всего текста

[Tue May 23 16:49:28.831772 2017] [cgi:error] [pid 73690] [client 109.248.198.62:59151] AH01215: PHP Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /virt/homes/programm/htdocs/outhreg.php on line 6: /virt/homes/programm/cgi-bin/php


Всем, кто окажет малейшую помощь, кто подтолкнет к верному источнику ОГРОМНОЕ СПАСИБО!!!
Всем участником данной темы заранее спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2017, 17:10
Ответы с готовыми решениями:

Разработка приложения для регистрации на сайте
Доброго времени суток, уважаемые Форумчане! Вынуждена просить Вашей помощи в решении нескольких задач, так как сама на данный момент не...

Вывод уведомления о успешной регистрации(не удачной) на странице с формой регистрации
Здравствуйте, не получается сделать вывод сообщения на странице с формой регистрации. &lt;?php $dbc = mysqli_connect('...',...

Разработка регистрации
Ребят, помогите продумать регистацию. По логину и паролю. Я сделал чисто в VB вход по логину и паролю. Но мб кто знает как можно по...

10
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
23.05.2017, 17:59
Лучший ответ Сообщение было отмечено Uni_programist как решение

Решение

Вы в некоторых местах (до 6 строки, включительно) вместо двух одинарных кавычек вписали одну двойную.
1
4 / 3 / 2
Регистрация: 11.08.2016
Сообщений: 352
27.05.2017, 19:11  [ТС]
Para bellum, А не подскажите куда вставить строку для кнопки reg
PHP
1
2
3
4
5
<?php
if (isset($_POST['reg'] {
...
}
?>
но этот вариант не рабочий, ответ, ошибка в строке 3, то есть:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
if (isset($_POST['reg'] {
 if (isset($_POST['name'])) { $name = $_POST['name']; if ($name == '') { unset($name);} } 
    if (isset($_POST['familiya'])) { $familiya=$_POST['familiya']; if ($familiya =='') { unset($familiya);} }
   if (isset($_POST['telephonenumber'])) { $telephonenumber=$_POST['telephonenumber']; if ($telephonenumber ==") { unset ($telephonenumber);} }
   if (isset($_POST['login'])) { $login=$_POST['login']; if ($login == "") { unset ($login);}  } 
  if (isset($_POST['password'])) { $password=$_POST['password']; if ($password == ") { unset ($password);}  } 
 if (empty($name) or empty($familiya) or empty ($telephonenumber) or empty ($login) or empty ($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
    }
    //если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    $name = stripslashes($name);
    $name = htmlspecialchars($name);
 $familiya = stripslashes($familiya);
    $familiya = htmlspecialchars($familiya);
$telephonenumber = stripslashes($telephonenumber);
$telephonenumber = htmlspecialchars($telephonenumber);
$login = stripslashes($login);
$login = htmlspecialchars ($login); 
$password = stripslashes($password);
$password = htmlspecialchars ($password); 
 //удаляем лишние пробелы
    $name = trim ($name);
    $login = trim($login);
    $password = trim($password);
 // подключаемся к базе
    include ("bd.php");// файл bd.php должен быть в той же папке.
 // проверка на существование пользователя с таким же логином
    $result = mysql_query("SELECT id FROM user WHERE login='$login'",$db);
    $myrow = mysql_fetch_array($result);
    if (!empty($myrow['id'])) {
    exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
    }
 // если такого нет, то сохраняем данные
    $result2 = mysql_query ("INSERT INTO user (name,familiya,telephonenumber,login,password) VALUES('$name','$familiya','$telephonenumber','$password')");
    // Проверяем, есть ли ошибки
    if ($result2=='TRUE')
    {
    echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
    }
 else {
    echo "Ошибка! Вы не зарегистрированы.";
    }
    ?>
}
?>
ошибка, хотя все идет по логике
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
28.05.2017, 06:22
Цитата Сообщение от Uni_programist Посмотреть сообщение
хотя все идет по логике
По логике-то по логике, но синтаксис -- тоже важно соблюдать. Забыли закрыть две круглые скобки на второй строке.
0
2 / 2 / 8
Регистрация: 17.03.2017
Сообщений: 56
28.05.2017, 22:09
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 
include ("bd.php");
 
if(isset($_POST['reg'])){
    if(empty($_POST['name']) || empty($_POST['familiya']) || empty($_POST['login']) || empty($_POST['telephonenumber']) ||empty($_POST['password'])){
        exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
    }
    else{
        $name = trim (stripslashes(htmlspecialchars($name)));
        $familiya = trim (stripslashes(htmlspecialchars($familiya)));
        $telephonenumber = trim (stripslashes(htmlspecialchars($telephonenumber)));
        $login = trim (stripslashes(htmlspecialchars ($login)));
        $password = trim (stripslashes(htmlspecialchars ($password)));
        $result = mysqli_query($db,"SELECT `login` FROM `user` WHERE login='$login'");
        $myrow = mysqli_fetch_array($result);
        if (!empty($myrow['login'])) {
            exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
        }
        else{
            $result2 = mysqli_query ($db,"INSERT INTO user ('name','familiya','telephonenumber','login','password') VALUES('$name','$familiya','$telephonenumber','$password')");
        }
        if($result2){
            echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
        }
        else{
            echo "Ошибка! Вы не зарегистрированы.";
        }
        
    }
}
ну немного подровнял
но вот ето
PHP
1
if ($result2=='TRUE')
круто
0
4 / 3 / 2
Регистрация: 11.08.2016
Сообщений: 352
08.06.2017, 13:28  [ТС]
Para bellum, у меня возникла опять ошибка
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
if (isset($_POST['reg'])) {
 if (isset($_POST['name'])) { $name = $_POST['name']; if ($name == '') { unset($name);} } 
    if (isset($_POST['familiya'])) { $familiya=$_POST['familiya']; if ($familiya =='') { unset($familiya);} }
   if (isset($_POST['telephonenumber'])) { $telephonenumber=$_POST['telephonenumber']; if ($telephonenumber =='') { unset ($telephonenumber);} }
   if (isset($_POST['login'])) { $login=$_POST['login']; if ($login == "") { unset ($login);}  } 
  if (isset($_POST['password'])) { $password=$_POST['password']; if ($password == '') { unset ($password);}  } 
 if (empty($name) or empty($familiya) or empty ($telephonenumber) or empty ($login) or empty ($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
    }
    //если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    $name = stripslashes($name);
    $name = htmlspecialchars($name);
 $familiya = stripslashes($familiya);
    $familiya = htmlspecialchars($familiya);
$telephonenumber = stripslashes($telephonenumber);
$telephonenumber = htmlspecialchars($telephonenumber);
$login = stripslashes($login);
$login = htmlspecialchars ($login); 
$password = stripslashes($password);
$password = htmlspecialchars ($password); 
 //удаляем лишние пробелы
    $name = trim ($name);
    $login = trim($login);
    $password = trim($password);
 // подключаемся к базе
    include ("bd.php");// файл bd.php должен быть в той же папке.
 // проверка на существование пользователя с таким же логином
    $result = mysql_query("SELECT id FROM user WHERE login='$login'",$db);
    $myrow = mysql_fetch_array($result);
    if (!empty($myrow['id'])) {
    exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
    }
 // если такого нет, то сохраняем данные
    $result2 = mysql_query ("INSERT INTO user (name,familiya,telephonenumber,login,password) VALUES('$name','$familiya','$telephonenumber','$password')");
    // Проверяем, есть ли ошибки
    if ($result2=='TRUE')
    {
    echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
    }
 else {
    echo "Ошибка! Вы не зарегистрированы.";
    }
    ?>
 
 
 
<html>
     <head>
         <title>Сайт|Регистрация</title>
         <meta http-equiv="content-type" content="text/html; charset=UTF-8">
         <meta name="yandex-verification" content="2438084bc9136bf0" /> 
         <meta name='wmail-verification' content='e52e3405c383c5a5b67a8b0f9a1f9c75' />
         <meta name="yandex-verification" content="412996c20c8f6c10" />
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <link rel="stylesheet" type="text/css" href="/style.css">
     </head>
         <body>
             <div id="278i5h8" style="
    position: relative;
    top: 125px;
    left: 550px;
">
                 <font color="#FFF">
                     <script type="text/javascript">
                         var d = new Date(); 
                         var month_num = d.getMonth() 
                         var day = d.getDate(); 
                         var hours = d.getHours(); 
                         var minutes = d.getMinutes(); 
                         var seconds = d.getSeconds(); 
                         month=new Array("Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", 
                         "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"); 
   
                         if (day <= 9) day = "0" + day; 
                         if (hours <= 9) hours = "0" + hours;  
                         if (minutes <= 9) minutes = "0" + minutes; 
                         if (seconds <= 9) seconds = "0" + seconds; 
   
                         document.write("Текущая дата: " + day + " " + month[month_num] + " " + d.getFullYear() + 
                         " &nbsp;&nbsp;&nbsp;<br> Локальное время:   "+ hours + ":" + minutes);
                     </script>
                 </font>
             </div>
             <div id="usg8k0k">
             </div>
             <div id="img0usg"></div>
             <div id="glvn0ea">
                          <div id="zag"><h1><font color="#4757ff">Сайт</h1></font></div>
                 <div id="lef7tin">
                     <div id="men7us1">
                                         <div id="upravlenieslovom1"><b>Меню</b> </div>
                                          <?php include('menu.php'); ?>
                                     </div>
                 <div id="rig3hti" style="background: #FFF;">
                     <div id="upravs2"><font color="#F00"><h2>Регистрация</h2></font></div> 
                         <form id="formatr" action="" method="post">
            
                             <p><label><b>Ваше имя:</b></label></p>
                             <input type="text" name="name" />
                             <p><label><b>Ваша фамилия:</b></label></p>
                             <input type="text" name="familiya" />
                             <p><label><b>Ваш логин (изменение возможно 1 раз в год с запросом на администрацию):</b></label></p>
                             <input type="text" name="login" />
                             <p><label><b>Ваш номер телефона (сменить номер без причины и доказательства не возможно):</b></label></p>
                             <input type="tel" name="telephonenumber" />
                             <p><label><b>Придумайте пароль (изменение пароля доступно 1 раз в 21 день):</b></label></p>
                             <input type="password" name="password" />
                             <p><input type="submit" name='reg' value="Зарегистрироваться"></p>
                             </form> 
            <div class="clear"></div>    
             </div>
                     </div>
                     </div>
             <div id="footer">© Сайт. Все права защищены, 2016-<script type="text/javascript">var mdate = new Date(); document.write(mdate.getFullYear());</script></div>
         </body>
         </html>
А логи говорят, что
[08-Jun-2017 13:04:34 Europe/Moscow] PHP Parse error: syntax error, unexpected end of file in /home/j/j99522iv/programm/public_html/outh/reg/index.php on line 118
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
08.06.2017, 19:10
Закрывающую фигурную скобку перед ?> поставьте, таким образом закроете незакрытую
PHP
1
if (isset($_POST['reg'])) {
0
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
09.06.2017, 14:00
Только вот возник вопрос, что произойдёт, если в промежутке времени между Вашим SELECT и INSERT запросами кто-то успеет уже вставить такой логин?
0
2 / 2 / 8
Регистрация: 17.03.2017
Сообщений: 56
09.06.2017, 14:22
Скрипт выполниться быстро я сомневаюсь что кто- то успеет, или даже успеет то скрипт тебе не даст зарегестрироваться.
0
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
09.06.2017, 14:25
Цитата Сообщение от Morpheus_123 Посмотреть сообщение
скрипт тебе не даст зарегестрироваться
SELECT и проверка наличия строки уже выполнится перед INSERT и путь свободен
0
4 / 3 / 2
Регистрация: 11.08.2016
Сообщений: 352
11.06.2017, 22:14  [ТС]
Morpheus_123, Para bellum, кстати в этом вся и проблема, не знаю как это поправить
Цитата Сообщение от Morpheus_123 Посмотреть сообщение
скрипт тебе не даст зарегестрироваться.
Дело в том, что закрыл все скобки и пытаюсь регистрироваться выдает только ошибку, т.е работает только одна строка
PHP
1
2
3
else {
    echo "Ошибка! Вы не зарегистрированы.";
    }
Как быть далее просто не знаю, спросил у представителя хостинга, что прописывать в файле bd.php сказал, что localhost, но скрипт все равно не выполняется.
Может проблема PHP версия 5.6.
За малейшую зацепку в много ошибочном коде буду рад!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2017, 22:14
Помогаю со студенческими работами здесь

Разработка регистрации на сайте
Нужно разработать dfd3 модель регистрации( на почте, на сайте ) что то одно любое.

Разработка Юнита для регистрации
Народ помогите написать код для регистрации: https://www.cyberforum.ru/images/attach/jpg.gif Вводиш данные они сохраняются и продолжаеш...

Разработка диаграмм UML Информационной системы регистрации
Вариант &quot;Информационная система регистрации у владельца сайта и функционирования адресата в сети Internet (Рамблер, Яндекс, Майл,...

Разработка программного обеспечения для автоматизации процессов учета и регистрации заявок пользователей
Здравствуйте! есть такая задача как &quot;Разработка программного обеспечения для автоматизации процессов учета и регистрации заявок...

Разработка комплекса программ автоматизации процесса регистрации и обработки данных для конкретной организации
Пожалуйста подскажите как организовать эту работу .. И что лучше взять в качестве организации ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru