Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
4 / 3 / 2
Регистрация: 11.06.2013
Сообщений: 298

Не проверяет на существование логина

05.10.2014, 20:08. Показов 1406. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Читал множество тем на вашем форуме, большинство применял к своему коду - не помогло. Проблема в том что он всегда разрешает зарегаться. Заранее спасибо за помощь
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
<?php
session_start();
echo"<html><link href='autorization.css' rel='stylesheet' type='text/css' /><link rel='stylesheet' type='text/css' href='CSS/style.css' />";
 
if (isset($_POST['login'])) { $login = $_POST['login']; 
//if ($login == '') { unset($login);} 
} 
 
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
 
if (isset($_POST['email'])) { $email=$_POST['email']; if ($email =='') { unset($email);} }
 
if (isset($_POST['first_name'])) { $first_name=$_POST['first_name']; if ($first_name =='') { unset($first_name);} }
 
if (isset($_POST['last_name'])) { $last_name=$_POST['last_name']; if ($last_name =='') { unset($last_name);} }
 
if (isset($_POST['address'])) { $address=$_POST['address']; if ($address =='') { unset($address);} }
 
 if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
echo "<script>alert('Found empty fields');</script>";
echo "<script>document.location.replace('http://shopbat.esy.es/reg.php');</script>";
    }
 
 
    $login = stripslashes($login);
    $login = htmlspecialchars($login);
 
    $password = stripslashes($password);
    $password = htmlspecialchars($password);
 
 $email = stripslashes($email);
    $email = htmlspecialchars($email);
 
 $first_name = stripslashes($first_name);
    $first_name = htmlspecialchars($first_name);
 
    $last_name = stripslashes($last_name);
    $last_name = htmlspecialchars($last_name);
 
    $address= stripslashes($address);
    $address = htmlspecialchars($address);
 
 //удаляем лишние пробелы
    $login = trim($login);
    $password = trim($password);
$email = trim($email);
$first_name = trim($first_name);
$last_name = trim($last_name);
$address = trim($address);
 // подключаемся к базе
 
 
    include ("bd.php");
 // проверка на существование пользователя с таким же логином
$result = mysql_query("SELECT * FROM `users` WHERE 'login'='".$_POST['login']."'") or die(mysql_error());
$myrow = mysql_fetch_array($result);
if($myrow['id']=="")
{
 
 // если такого нет, то сохраняем данные
 $result2 = mysql_query ("INSERT INTO users (login,password,email,first_name,last_name,address) VALUES('$login','$password','$email','$first_name','$last_name','$address')");
    // Проверяем, есть ли ошибки
echo
"<section class='main'>
<form method='POST' action='products.php' class='form-2'>";
    if ($result2==TRUE)
    {
      echo "Registration complete go to  <a href='index.html'> <strong> Main page </strong> </a>   or you will be return automatically ";
echo '<META HTTP-EQUIV="Refresh" CONTENT="4; URL=index.html">';
    }
 else {
    echo mysql_error();
    }
echo "</section>
</form>";
else
{
 exit ("error");
}
 
    ?>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.10.2014, 20:08
Ответы с готовыми решениями:

Проверка на существование логина в БД
Хочу при регистрации проверить, есть ли пользователь с таким логином. $sql = mysql_query(&quot;SELECT * FROM users WHERE login=$login LIMIT...

Проверка на существование логина
if (!mysql_query(&quot;SELECT `login` FROM `r_users` WHERE `login` = '&quot;.$login.&quot;'&quot;)) { mysql_query(&quot;INSERT INTO `r_users` SET...

Проверка на существование логина в базе
Есть php код и форма, почему постоянно с одним и тем же логином я могу регистрироваться ? подскажите что не так ? Ну,а лучше наглядно...

12
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
06.10.2014, 11:24
Цитата Сообщение от danil663 Посмотреть сообщение
</form>";
закрывающаяся скобка нужна

Добавлено через 1 минуту
Цитата Сообщение от danil663 Посмотреть сообщение
if($myrow['id']=="")
поменяйте
PHP
1
if(!isset($myrow['id']))
Добавлено через 2 минуты
Цитата Сообщение от danil663 Посмотреть сообщение
$login = stripslashes($login);
* * $login = htmlspecialchars($login);
Цитата Сообщение от danil663 Посмотреть сообщение
$login = trim($login);
можно заменить
PHP
1
$login = trim(htmlspecialchars(stripslashes($login)));
и тд

Добавлено через 1 минуту
Цитата Сообщение от danil663 Посмотреть сообщение
WHERE 'login'='".$_POST['login'].
вы заносите в базу переделанное значение,а проверяете не переделанное. вместо POST нужно поставить $login
1
4 / 3 / 2
Регистрация: 11.06.2013
Сообщений: 298
06.10.2014, 12:36  [ТС]
Изменил всё как вы сказали получилось вот так:
PHP/HTML
1
2
3
4
$result = mysql_query("SELECT * FROM `users` WHERE 'login'='$login'") or die(mysql_error());
$myrow = mysql_fetch_array($result);
if(!isset($myrow['id']))
{
...
но он позволяет регистрировать всё подряд, то есть всё ещё не проверяет.
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
06.10.2014, 12:38
проверьте что у вас приходит из формы, и посмотрите что заносится в базу
1
4 / 3 / 2
Регистрация: 11.06.2013
Сообщений: 298
06.10.2014, 13:04  [ТС]
в базу он заносит то что я ввожу в поля ввода "при регистрации", то есть данные заносятся
мне кажется что-то не так с результатом запроса т.к. при вводе
PHP/HTML
1
2
echo $myrow['id'];
echo $myrow;
не отображает значения
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
06.10.2014, 13:06
PHP
1
print_r($myrow);
что выдает?
1
4 / 3 / 2
Регистрация: 11.06.2013
Сообщений: 298
06.10.2014, 13:27  [ТС]
ничего(
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
06.10.2014, 13:32
Цитата Сообщение от danil663 Посмотреть сообщение
$result = mysql_query("SELECT * FROM `users` WHERE 'login'='$login'"
попробуйте ввести в Phpmyadmin такой запрос
SQL
1
"SELECT * FROM `users` WHERE login='$login'
вместо логин подставьте любое существующее значение

Добавлено через 1 минуту
ошибок никаких не выдает?
1
4 / 3 / 2
Регистрация: 11.06.2013
Сообщений: 298
06.10.2014, 13:53  [ТС]
всё отлично находит
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
06.10.2014, 13:55
Лучший ответ Сообщение было отмечено danil663 как решение

Решение

Цитата Сообщение от danil663 Посмотреть сообщение
mysql_query("SELECT * FROM `users` WHERE 'login'='$login'")
тогда в скрипте сделайте так
PHP
1
mysql_query("SELECT * FROM `users` WHERE login='".$login."'")
и посмотрите что выведет
1
4 / 3 / 2
Регистрация: 11.06.2013
Сообщений: 298
06.10.2014, 14:06  [ТС]
Большое спасибо, вроде как заработало)))
0
4 / 4 / 5
Регистрация: 08.05.2013
Сообщений: 55
07.10.2014, 19:23
PHP
1
2
3
4
5
 $query = mysql_query("SELECT COUNT(id) FROM users WHERE name='".mysql_real_escape_string($_POST['name'])."'")or die ("<br>Invalid query: " . mysql_error()); 
    if(mysql_result($query, 0) > 0) 
    { 
        echo "Користувач с таким ім'ям уже існує";
    }
Я вот так делал.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
09.10.2014, 08:20
Цитата Сообщение от danil663 Посмотреть сообщение
$result = mysql_query("SELECT * FROM `users` WHERE 'login'='$login'") or die(mysql_error());
у Вас изночально ошибка в запросе, вот здесь WHERE 'login'='$login'") там login должен быть в обратных ковычках...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2014, 08:20
Помогаю со студенческими работами здесь

Ошибка проверки логина на существование в базе данных
Зделал проверку логина на существование в базе данних, если нету, записивает в базу, а если єсть, вибивает ошибка і одновременно записивает...

Проверка логина из формы на наличие логина в базе данных
Пожалуюста подскажите что у меня неправильно работает в коде. Ошибок вродебы нет. Вообщем код должен получать данные из формы записывать их...

Проверка на существование логина при регистрации
Помогите со скриптом &lt;script src=&quot;jquery.js&quot; type=&quot;text/javascript&quot; language=&quot;javascript&quot;&gt;&lt;/script&gt; &lt;script...

Создать пакетный файл, который проверяет существование файла...
Помогите пожалуйста! Совсем не понимаю Bat-файлы......Необходимо создать пакетный файл, который проверяет существование файла и присваивает...

Не проверяет for цикл в char массиве буквы. Только первый элемент проверяет
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;string&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;cstring&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru