Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2009, 22:52   #1
Soldier
 
Регистрация: 04.11.2008
Сообщений: 6
По умолчанию Страница аутентификации.

Приветствую всех.
В php программировании я не так давно. Чтобы понять язык - отел бы заняься сразу серьезными делами. Хочу сделать страницу входа пользователя, которая брала бы данные из БД о наличии такого пользователя и если такой пользователь с таким паролем существует - показывала бы страницу, если такого нет - писала бы сообщение, но толком не знаю как это сделать. На странице не надо картинок, только поле Имени и пароля. Имеется БД на MySQL, имя БД Users, таблица login содержит собственно имя пользователя и его пароль.

Подскажите как такое сделать. Заранее благодарен.
Soldier вне форума Ответить с цитированием
Старый 05.01.2009, 17:22   #2
Seqular
Пользователь
 
Аватар для Seqular
 
Регистрация: 16.02.2007
Сообщений: 37
По умолчанию

Код:
$hostname = "localhost"; 
$username = "myusername"; 
$password = "mypassword"; 
$dbName = "mydb";
$userstable = "login";
mysql_connect($hostname,$username,$password) OR DIE("Ошибка доступа к базе данных"); 
mysql_select_db($dbName) or die(mysql_error()); 
$query = "SELECT * FROM $userstable WHERE ((user = '$_POST[uname]') and (pass = '$_POST[password]'))"; 
$resultat = mysql_query($query) or die(mysql_error()); 
$number = mysql_num_rows($resultat);
if ($number == 0) 
{ 
// Пользователя с таким паролем нет
}
else
{
Такой пользователь есть
}
Примерно такой алгоритм можешь использовать. Я код не проверял, пишу из головы, так что если мелкие ошибки - не обессудь, я тоже только учусь. Не переписывай слепо, разберись как работает. Когда разберешься - попробуй немного изменить механизм аутентификации.

Т.е. посылай только login и md5 (к примеру) хеш пароля. В базе ищи логин и из базы бери соответствующее поле пароля. Там снова получай хеш. Сравнивай два хеша. Если равны, то аутентификация прошла, если нет - то нет.
Seqular вне форума Ответить с цитированием
Старый 05.01.2009, 20:05   #3
Soldier
 
Регистрация: 04.11.2008
Сообщений: 6
По умолчанию

Ну вобщем я суть понял. Только у меня один как бы недостаток - я использую <form>...</form>
Как тогда быть?
Soldier вне форума Ответить с цитированием
Старый 05.01.2009, 21:21   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Soldier Посмотреть сообщение
Ну вобщем я суть понял. Только у меня один как бы недостаток - я использую <form>...</form>
Как тогда быть?
Тогда вы суть таки не поняли.

Как банальный пример, продолжу.
На самой странице аутентификации (взаимодействия с юзером) добавляем такой код:
Код HTML:
<form action="auth.php" method="post" >
<input type="text" name="uname" value="Type Your name here" />
<input type="text" name="password" value="Type Your password" />
<input type="submit" value="Proceed" />
</form
А в файле auth.php пишем код, выложенный выше.
SkyM@n вне форума Ответить с цитированием
Старый 05.01.2009, 23:00   #5
Soldier
 
Регистрация: 04.11.2008
Сообщений: 6
По умолчанию

Вот теперь доперло до меня. Спасибо за помощь - коротко и ясно.

Цитата:
Тогда вы суть таки не поняли.
Что делает сам код - я понял (переменные, запросы к БД и т.п), но как полученные данные приписать к переменным - только сейчас дошло.
Soldier вне форума Ответить с цитированием
Старый 06.01.2009, 02:30   #6
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,305
По умолчанию

Извиняюсь за вторжение, вопрос в тему.
У меня выдаёт ощибку
Fatal error: Call to undefined function mysql_connect() in D:\SERVER\LocalHost\WWW\Data\config .php on line 7
(если честно, в PHP я не силён)
В системе есть как Web-сервер, так и PHP-сервер, скрипты форумов работают, а тут...
Подскажите в чём ошибка.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 06.01.2009, 03:13   #7
Seqular
Пользователь
 
Аватар для Seqular
 
Регистрация: 16.02.2007
Сообщений: 37
По умолчанию

Air, ну тебе вряд-ли можно помочь так с лету... Что за файл config.php? Что у него в 7 строке? Установлен ли у тебя MySQL?
Seqular вне форума Ответить с цитированием
Старый 06.01.2009, 03:21   #8
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,305
По умолчанию

функция mysql_connect как раз на 7-й строке.
config.php
PHP код:
<?
ob_start
();
session_start();
header("Cache-control: private"); //IE 6 Fix 
//script written by ryan marshall of irealms.co.uk
//place this in a config file or include it in your index page as needed. This script sets the database to be used by any queries you use.
$db_conn mysql_connect("localhost""authmain""test1") or die("unable to connect to the database");
  
mysql_select_db("auth"$db_conn) or die("unable to select the database");
$from "from: enter the email address you want to be shown in the from area of the email that a user receives in their forgot password email \r\n"
  
?>
Параметры функции mysql_connect отвечают за идентификацию самой функции или нет?
___
Цитата:
Сообщение от Seqular
Установлен ли у тебя MySQL?
Да, MySQL Server 1.0.14.0
___________________________
Пытаюсь понять принципы работы, но пока не выходит : )
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 06.01.2009, 03:30   #9
Seqular
Пользователь
 
Аватар для Seqular
 
Регистрация: 16.02.2007
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Air Посмотреть сообщение
Параметры функции mysql_connect отвечают за идентификацию самой функции или нет?
Что ты имеешь ввиду?
Параметры - хост, имя пользователя и пароль для доступа к базе данных. Устанавливаются либо с командной строки SQL-сервера, либо через средство phpMyAdmin (как вариант)
Seqular вне форума Ответить с цитированием
Старый 06.01.2009, 03:36   #10
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,305
По умолчанию

ппц, залез в конфигуратор MySQL, теперь сервер не отвечает: ), а не подскажете командную строку для смены пароля к БД.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: оборванная страница Mary_star SQL, базы данных 0 26.12.2008 12:25
Веб-страница pplfil9 HTML и CSS 3 29.10.2008 16:02
Страница в странице delphin100 HTML и CSS 4 10.09.2008 05:21
свободная видео страница Mendler Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 09.04.2008 18:58