Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Гор1
0 / 0 / 0
Регистрация: 27.02.2018
Сообщений: 52
#1

Подскажите как исправить эту ошибку, не давно в php испробовал все что знал

13.03.2018, 17:19. Просмотров 149. Ответов 7
Метки php (Все метки)

Подскажите как исправить эту ошибку, не давно в php испробовал все что знал
Вот первый код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$dbs  = mysql_connect('(есть)', '(есть)', '(есть)', '(есть));
if(isset($_POST['submit'])){
    $username = mysql_real_escape_string($dbs, trim($_POST['username']));
    $password1 = mysql_real_escape_string($dbs, trim($_POST['password1']));
    $password2 = mysql_real_escape_string($dbs, trim($_POST['password2']));
    if (!empty($username) && !empty($password1) && !empty($password2) && !empty($password1 == $password2))
    {
        $sql  = 'SELECT * FROM `reg` WHERE username = "$username"';
        $data = mysql_query($dbs, $sql);
        if(mysql_num_rows($data) == 0){
            $sql = 'INSERT INTRO `reg` (username, password) VALUES ("$username", SHA("$password2"))';
            mysql_query($dbs, $sql);
            echo 'Готово';
            mysql_close($dbs);
            exit();
        }
    }
        else {
            echo 'Такой логин уже занят';
        }
}
?>
На 7 строке выдает:
PHP Parse error: syntax error, unexpected T_IS_EQUAL, expecting ')'
А второй, ошибку не показывает, но не активирует:
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
<?php
$dbs  = mysql_connect('есть', 'есть', 'есть', 'есть');
if(!isset($_COOKIE['user_id'])) {
    if(isset($_POST['submit'])) {
        $user_username = mysqli_real_escape_string($dbc, trim($_POST['username']));
        $user_password = mysqli_real_escape_string($dbc, trim($_POST['password']));
        $user_email = mysqli_real_escape_string($dbc, trim($_POST['email']));
        if(!empty($user_username) && !empty($user_password) && !empty($user_email)){
            $sqb = "SELECT `user_id` , `username` FROM `reg` WHERE username = '$user_username' AND password = SHA('$user_password') AND email = '$user_email'";
            $data = mysqli_query($dbc, $sqb);
            if(mysqli_num_rows($data) == 1) {
                $row = mysqli_fetch_assoc($data);
                setcookie('user_id', $row['user_id'], time() + (60*60*24*30));
                setcookie('username', $row['username'], time() + (60*60*24*30));
                $home_url = 'http://' . $_SERVER['HTTP_HOST'];
                header('Location: '. $home_url);
            }
            else {
                echo 'Извините, вы должны ввести правильные имя пользователя и пароль';
            }
        }
        else {
            echo 'Извините вы должны заполнить поля правильно';
        }
    }
}
?>
Что не так в них
1 это вход
2 это регистрация
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2018, 17:19
Ответы с готовыми решениями:

Подскажите как исправить ошибку
Файл php был закриптован Zendom. После расскодировки в скриптах появились...

Подскажите как правильно исправить ошибку
Warning: preg_match(): Delimiter must not be alphanumeric or backslash ...

Как исправить эту ошибку?
Предупреждение: в mysqli::в mysqli(): (HY000/2005): Неизвестный сервер MySQL...

Структура: Не могу понять, почему выдает ошибку и как собственно эту ошибку можно исправить?
Привет,не могу понять почему ошибку выдает и как сбстно эту ошибку можно...

Как исправить эту ошибку?
local variable 'tries' referenced before assignment

7
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 182
13.03.2018, 19:00 #2
Думаю, в первом скрипте условие нужно записать так:
PHP
1
 if (!empty($username) && !empty($password1) && !empty($password2) && !empty($password1) && $password1 == $password2)
Если версия PHP до 5.5 ф-ция empty() проверяет только переменные.

Добавлено через 7 минут
Во втором скрипте у Вас переменная соединения называется $dbs, а в 10 строке вы отправляете запрос к БД используя $dbc. Это первое что заметил...
1
otto-fukin
21 / 57 / 21
Регистрация: 15.06.2017
Сообщений: 537
13.03.2018, 20:55 #3
Цитата Сообщение от М_Сергей Посмотреть сообщение
if (!empty($username) && !empty($password1) && !empty($password2) && !empty($password1) && $password1 == $password2)
не слишком ли много букф?

PHP
1
if(isset($username,$password1,$password2)&&$password1 == $password2){}
0
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 182
13.03.2018, 21:22 #4
Да, Вы правы, так короче конечно. Но если у человека вообще код не идет, нужно исправлять принципиальные ошибки. А дальше можно и красотой упражняться...
0
Гор1
0 / 0 / 0
Регистрация: 27.02.2018
Сообщений: 52
13.03.2018, 23:17  [ТС] #5
спасибо

Добавлено через 22 минуты
М_Сергей, спасибо
Можешь подсказать пожалуйста
Тут во втором скрипте при активации пишет вот такую ошибку:
mysqli_real_escape_string() expects parameter 1 to be mysqli, resource given in
это он пишет 5, 6, 7 строки
И да, спасибо, что сказал что там в dbs не та буква была, я ее уже изменил и ошибку также выдает
Что там не хватает ))) подскажи пожалуйста)
0
Dmitry
Эксперт по компьютерным сетямЭксперт NIX
10718 / 6052 / 447
Регистрация: 09.09.2009
Сообщений: 23,982
13.03.2018, 23:24 #6
Цитата Сообщение от Гор1 Посмотреть сообщение
Что там не хватает
Цитата Сообщение от Гор1 Посмотреть сообщение
$dbs *= mysql_connect('есть', 'есть', 'есть', 'есть');
а потом
Цитата Сообщение от Гор1 Посмотреть сообщение
$user_username = mysqli_real_escape_string($dbc,......
0
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 182
13.03.2018, 23:51 #7
Я не уверен, но возможно двойные кавычки неправильно распознают названия переменных. Попробуй записать их в фигурных скобках:
$sqb = "SELECT `user_id` , `username` FROM `reg` WHERE username = '{$user_username}' AND password = SHA('{$user_password}') AND email = '{$user_email}'";
0
Гор1
0 / 0 / 0
Регистрация: 27.02.2018
Сообщений: 52
13.03.2018, 23:53  [ТС] #8
М_Сергей, хорошо, спасибо тебе, выручил
0
13.03.2018, 23:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2018, 23:53

Как исправить эту ошибку?
&gt;&gt;&gt; import script1 Traceback (most recent call last): File &quot;&lt;stdin&gt;&quot;, line...

Как исправить эту ошибку?
Не с того не с сего начала вылетать ошибка(На скриншоте). Когда комментирую...

Как исправить эту ошибку?
Помогите пожайлуста, написал программу, но при компиляции выдает 3 ошибки,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru