С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269

Не получается сделать вход для зарегистрированных пользователей!

31.10.2010, 11:25. Показов 3873. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имею следующий код, но не работает (((, после нажатия на "Войти" не переходит на страницу пользователя ((( ... где же у меня ошибка?

страница входа login.html

HTML5
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
<form name="login" method="post" action="login.php">
<table border="0" width="225" align="center">
    <tr>
        <td width="219" bgcolor="#999999">
            <p align="center"><font color="white"><span style="font-size:12pt;"><b>Login</b></span></font></p>
        </td>
    </tr>
    <tr>
        <td width="219">
            <table border="0" width="220" align="center">
                <tr>
                    <td width="71"><span style="font-size:10pt;">Username:</span></td>
                    <td width="139"><input type="text" name="username"></td>
                </tr>
                <tr>
                    <td width="71"><span style="font-size:10pt;">Password:</span></td>
                    <td width="139"><input type="password" name="password"></td>
                </tr>
                <tr>
                    <td width="71">&nbsp;</td>
                        <td width="139">
                            <p align="right"><input type="submit" name="submit" value="Submit"></p>
                        </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td width="219" bgcolor="#999999"><font color="white">Not Registered? </font><a href="register.html" target="_self"><font color="white">Register</font></a><font color="white"> </font><b><i><font color="white">Now!</font></i></b></td>
    </tr>
</table>
</form>
php для проверки имени и пароля! login.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
24
25
26
27
28
29
30
31
32
33
34
<?php
 
//Database Information
 
$dbhost = "localhost";
$dbname = "user";
$dbuser = "root";
$dbpass = "";
 
//Connect to database
 
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("users") or die(mysql_error()) ;
 
 
 
session_start();
$username = $_POST[‘username’];
$password = md5($_POST[‘password’]);
 
$query = "select * from users where username=’$username’ and password=’$password’";
 
$result = mysql_query($query);
 
if (mysql_num_rows($result) != 1) {
$error = "Bad Login";
    include "login.html";
 
} else {
    $_SESSION['username'] = "$username";
    include "memberspage.php";
}
 
?>
и собственно страница пользователя members.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
24
25
26
27
28
29
30
31
<?
 
// members page
 
session_start();
 
if ( empty( $username ) ) {
 
    print "Please login below!";
 
    include 'login.html';
 
} else {
 
// you can use regular html coding below the ?>
// and before the <?
 
?>
 
<html>
<head>
<title>MEMBERS ONLY</title>
</head>
<body>
Your Members Page....
</body>
</html>
 
<?
 
?>
В общем я где-то намороковал ))) ... прошу помочь! )
Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2010, 11:25
Ответы с готовыми решениями:

Подсайты для зарегистрированных пользователей
Ситуация такая...! Я делаю сайт для компании по сетевому маркетингу. Надо чтобы на этом сайте при регистрации на каждого пользователя...

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

Отзывы зарегистрированных пользователей в PHP +Mysql
Добрый вечер! Есть база данных в MySql, а там таблица с пользователями. И хотелось бы сделать форму отзывов, ввиде комментариев но...

24
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
31.10.2010, 12:40
Цитата Сообщение от philcrosoft Посмотреть сообщение
include "memberspage.php";
Это у вас в коде. А файл называется:
Цитата Сообщение от philcrosoft Посмотреть сообщение
страница пользователя members.php
Это как вариант..
Еще может быть у вас с кавычками проблема. Вы код откуда-то скопипастили и апострофы (') заменились на "нережимные" и .
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
31.10.2010, 13:30  [ТС]
Цитата Сообщение от ostgals Посмотреть сообщение
Это у вас в коде. А файл называется:


Это как вариант..
Еще может быть у вас с кавычками проблема. Вы код откуда-то скопипастили и апострофы (') заменились на "нережимные" и .
на счёт members.php я опечатался ))) так она у меня memberspage.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
24
25
26
27
28
29
30
31
32
33
34
<?php
 
//Database Information
 
$dbhost = "localhost";
$dbname = "user";
$dbuser = "root";
$dbpass = "";
 
//Connect to database
 
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("users") or die(mysql_error()) ;
 
 
 
session_start();
$username = $_POST['login'];
$password = md5($_POST['password']);
 
$query = "select * from users where username='$login' and password=’$password’";
 
$result = mysql_query($query);
 
if (mysql_num_rows($result) != 1) {
$error = "Bad Login";
    include "login.html";
 
} else {
    $_SESSION['username'] = "$username";
    include "memberspage.php";
}
 
?>
но ругается на это при после нажатия "войти"
if (mysql_num_rows($result) != 1) {
0
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
31.10.2010, 13:39
попробуйте так:
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
 
//Database Information
 
$dbhost = "localhost";
$dbname = "user";
$dbuser = "root";
$dbpass = "";
 
//Connect to database
 
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("users") or die(mysql_error()) ;
 
 
 
session_start();
$username = $_POST['username'];
$password = md5($_POST['password']);
 
$query = "select * from `users` where `username`='$username' and `password`='$password'";
$result = mysql_query($query);
if (mysql_num_rows($result) != 1) {
$error = "Bad Login";
    include "login.html";
} else {
    $_SESSION['username']=$username;
    include "memberspage.php";
}
 
?>
и к стати замечание:
вы делаете выборку с БД по имени пользователя и паролю, а так не правильно. нужно выбирать по имени пользователя, потом брать пользователей с таким именем и сверять их пароли с введёнными, естли данные совпали то переходить на другую страницу, а естли не совпаль то опять на введение данных. так делать лутше.

Добавлено через 7 минут
Цитата Сообщение от philcrosoft Посмотреть сообщение
if (mysql_num_rows($result) != 1) {
у вас в запросе кавички не правильно стоят. попробуйте мой скрипт запустить.
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
31.10.2010, 13:39  [ТС]
В вашем варианте тоже ругается на 23 строку, в чём блин дело (((

PHP
1
if (mysql_num_rows($result) != 1) {
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in K:\home\mytest\www\login.php on line 23
0
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
31.10.2010, 13:47
а естли ету строчку заменить на:
PHP
1
if (!$result)
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
31.10.2010, 14:14  [ТС]
В общем исправил но не переходит на страницу пользователя, ещё раз пробежался, ковычки вроде поставил везде нужные, нашёл что в базе данных у меня поле не username а login называется исправил! но все равно не переходит в общем вот так получилось у меня, почему не работает ума не приложу

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
 
//Database Information
 
$dbhost = "localhost";
$dbname = "user";
$dbuser = "root";
$dbpass = "";
 
//Connect to database
 
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("users") or die(mysql_error()) ;
 
 
 
session_start();
$username = $_POST['login'];
$password = md5($_POST['password']);
 
$query = "select * from users where 'username'='$login' and 'password'='$password'";
$result = mysql_query($query);
if (!$result) {
$error = "Bad Login";
    include "login.html";
} else {
    $_SESSION['login']=$login;
    include "memberspage.php";
}
 
?>
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
31.10.2010, 15:25
Цитата Сообщение от philcrosoft Посмотреть сообщение
$query = "select * from users where 'username'='$login' and 'password'='$password'";
здесь имена столбцов не должны браться в кавычки

Добавлено через 1 минуту
вместо них можно ставить апострофы (буква "ё" на клавиатуре)
PHP
1
$query = "select * from users where `username`='$login' and `password`='$password'";
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
31.10.2010, 15:34  [ТС]
Всё равно на страницу memberspage.php не переходит ((( жму "войти" обновляет страницу входа и всё!
даже когда пишу неправильно не выдаёт что неправильно ввели пароль или логин (
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
31.10.2010, 15:48
ээммм.... у тя же нет проверки входа в коде

Добавлено через 5 минут
может типа такого сделаешь:
PHP
1
2
3
4
5
6
7
8
9
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['login']) && ($username = $_POST['login']))
if(isset($_POST['password']) && ($password = md5($_POST['password']))
 
////.....................код
 
здесь наверное header('Location: *.php'); // 
+ сессия // хотя думаю будет ругаться что хедеры уже посланы...
}
короче типа такая идея
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
02.11.2010, 23:11  [ТС]
бррр программист с меня никакой .. или ученик ))) не решил задачу (

Добавлено через 10 минут
допрограммировался, ввожу данные хоть какие переходит на memberspage.php и выдаёт ошибку )))
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
02.11.2010, 23:19
Выкладывай архив - попробуем отредактировать до рабочего состояния.
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
03.11.2010, 00:17  [ТС]
Вот! )
не могу понять почему ругается на 25 строчку )

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in K:\home\mytest\www\login.php on line 25
Вложения
Тип файла: rar login.rar (977 байт, 15 просмотров)
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
03.11.2010, 10:20
Цитата Сообщение от philcrosoft Посмотреть сообщение
не могу понять почему ругается на 25 строчку )
У меня ваш пример работает, за исключением того, что из-за очевидной ошибки в memberspage.php:
PHP
1
if ( empty( $username ) ) {
показывал опять форму ввода. У вас нигде не определена переменная $username, скорее всего эта строка должна проверять переменную сессии:
PHP
1
if ( empty( $_SESSION['login'] ) ) {
После исправления все работает как часы.

Подозреваю, что какие-то проблемы с БД, раз ваш запрос возвращает недействительный результат.
Попробуйте вместо:
PHP
1
$result = mysql_query($query);
написать:
PHP
1
$result = mysql_query($query) or die(mysql_error());
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
03.11.2010, 20:37  [ТС]
... стало быть у меня точно что-то с БД, потому что есть базы которые раньше работали и везде ругается на эту строчку
... сделал как порекомендовали вы ... исправил ещё строчку правда так как на нее тоже ругалось

PHP
1
$query = "select * from users where login='$login' and password='$password'";
вместо
PHP
1
$query = "select * from users where username='$login' and password='$password'";
в общем жму войти и неважно правильный пароль или нет, не переходит на memberspage.php

... вот думаю мож что с базой не так стало с того ни с сего?
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
03.11.2010, 23:17
у Вас пароль в базе в MD5 хранится или не кодируется? просто у вас в коде есть перекодировка пароля по md5 а потом кодированные текст вы ищите!
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
03.11.2010, 23:28  [ТС]
Цитата Сообщение от suharik Посмотреть сообщение
у Вас пароль в базе в MD5 хранится или не кодируется? просто у вас в коде есть перекодировка пароля по md5 а потом кодированные текст вы ищите!
вот я блин ... я ж не поставил кодировку пароля ещё на регистрации ... это грядёт позже )))
однако при переходе на memberspage.php ругается на 32 строчку которой нет ... видать что-т со страничкой (((

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
<?
 
// members page
 
session_start();
 
if ( empty( $_SESSION['login'] ) ) {
 
    print "Please login below!";
 
    include 'login.html';
 
} else {
 
// you can use regular html coding below the ?>
// and before the <?
 
?>
 
<html>
<head>
<title>MEMBERS ONLY</title>
</head>
<body>
Your Members Page....
</body>
</html>
 
<?
 
?>
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
03.11.2010, 23:30
Цитата Сообщение от philcrosoft Посмотреть сообщение
ругается на 32 строчку которой нет
В 30-ую строку поставьте }
0
3 / 3 / 1
Регистрация: 19.09.2010
Сообщений: 269
03.11.2010, 23:55  [ТС]
Цитата Сообщение от ostgals Посмотреть сообщение
В 30-ую строку поставьте }
переходит ))) ток два момента, при входе не существуещего ползователя не выводит
$error = "Bad Login"

или жэ то просто при неправильном на возвращает на страницу входа?
ну и второй элемени когда вошёл на страницу ползователя какая функция отображает регистрационные данные (email, имя и т д) на этой странице?

Добавлено через 16 минут
хотя бы просто ..."Hallo, имя пользователя" дальше я разберусь )
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
03.11.2010, 23:58
Цитата Сообщение от philcrosoft Посмотреть сообщение
при входе не существуещего ползователя не выводит
ну так выведите echo $error;

Сделайте еще перед этой строкой include "memberspage.php";

$row=mysql_fetch_array($result);

echo "Привет ".$row['username'];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.11.2010, 23:58
Помогаю со студенческими работами здесь

Скрипт выводящий общее количество зарегистрированных пользователей
прЮвет всем! Нужен скрипт выводящий общее количество зарегистрированных пользователей в админку. Может кто-то подскажит

Проблема с выводом полной версии сообщения(обмен сообщениями зарегистрированных пользователей)
Переписка на сайте с открытой сессией. Значит, есть таблица mes.php - список всех укороченных сообщений (этот файл работает нормально) и...

Проблема с выводом полной версии сообщения(обмен сообщениями зарегистрированных пользователей)
Переписка на сайте с открытой сессией. Значит, есть таблица mes.php - список всех укороченных сообщений (этот файл работает нормально) и...

Как сделать внешние ссылки видимыми для зарегистрированных пользователей?
Уже мозг не соображает ничего:cry: Новичок, чего скажешь... Моя беда: нужно, чтобы при добавлении новостей, в полной новости на сайте...

Не отображается меню для зарегистрированных пользователей
Всем привет, многоуважаемые! Помогите решить проблему. Сайт на Джумле 3.4 http://ucgroup.com.ua После того, как сайт...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 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. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru