|
|
|
|
|
для: Санька
(05.10.2007 в 15:44)
| | Таблицы создал, работает теперь эта страница, только вот что то с регистрацией новых пользователей пока не получается, тобишь чтобы кто нибудь мог зайти в форум надо вручную вводить ник и пароль в таблицу. | |
|
|
|
|
|
|
|
для: cheops
(05.10.2007 в 15:33)
| | Понятно. | |
|
|
|
|
|
|
|
для: Санька
(05.10.2007 в 13:03)
| | Сообщается, что таблицы users не существует - она у вас точно большими буквами набрана? В UNIX - это имеет значение, так как имя берётся из имени файла таблицы (под Windows регистр не имеет значения). | |
|
|
|
|
|
|
|
для: cheops
(05.10.2007 в 10:46)
| | Хм, я ведь писал, модератор видать случайно стер, ошибки нет, но на экране такая только надпись SELECT name,pass,role FROM USERS WHERE name=='1' and pass=='большое количество букв и цифр'-Table 'forum.users' doesn't exist | |
|
|
|
|
|
|
|
для: Санька
(04.10.2007 в 22:24)
| | Исправьте следующим образом
<?php
...
$sql="SELECT name,pass,role FROM USERS WHERE name='".$safe_name."' and pass='".$safe_pass."'";
//Получаем результат запроса в переменную $result
$result=mysql_query($sql);
// Проверяем правильно ли выполнился запрос
if(!$result) exit($sql." - ".mysql_error());
//Проверяем, есть ли такой пользователь
if (!mysql_num_rows($result))
...
?>
|
Что теперь пишет? | |
|
|
|
|
|
|
|
для: EXP
(04.10.2007 в 20:57)
| | Что и требовалось ожидать Parse error: parse error, unexpected T_STRING | |
|
|
|
|
|
|
|
для: Санька
(04.10.2007 в 18:45)
| | _ | |
|
|
|
|
|
|
|
для: Санька
(04.10.2007 в 18:45)
| | Добавьте проверку на ошибки после выполнения SQL-запроса при помощи функции mysql_query();
<?php
...
$sql="SELECT name,pass,role FROM USERS WHERE name='".$safe_name."' and pass='".$safe_pass."'";
//Получаем результат запроса в переменную $result
$result=mysql_query($sql);
// Проверяем правильно ли выполнился запрос
if(!$result) exit($sql." - "mysql_error());
//Проверяем, есть ли такой пользователь
if (!mysql_num_rows($result))
...
?>
|
| |
|
|
|
|
|
|
|
для: Санька
(04.10.2007 в 12:16)
| | Все вроде в норме. Почему ошибка?
<?php
//Данный модуль возвращает в $_SESSION['autorized'] значение TRUE,
//если авторизация пройдена
//Начинаем сессию
session_start();
//Проверяем, как запущен скрипт-обработчик? или как форма для авторизации?
if (!isset($_POST['name']))
{
//Выводим форму авторизации
header("Content-type: text/vnd.wap.wml");
echo '<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="c1" title="Письмо Админу">
<p align="left">
<small>
Имя:<br />
<input title="text" name="name" /><br />
Пароль:<br />
<input title="password" name="pass" /><br />
<anchor title="ok">Войти<br />
<a href="../"><<Назад</a>
<go href="login.php" method="post">
<postfield name="name" value="$(name)" />
<postfield name="pass" value="$(pass)" />
</go>
</anchor>
</small>
</p>
</card>
</wml>';
?>
<?php
}
//Если как обработчик, то пытаемся авторизовать пользователя
else
{
//Проверяем, ввел ли пользователь имя и пароль
if ($_POST['name']!='' and $_POST['pass']!='')
{
//Защита от взлома
$safe_name=mysql_escape_string($_POST['name']);
$safe_pass=mysql_escape_string($_POST['pass']);
//Преобразуем пароль в хеш
$safe_pass=md5($safe_pass);
//Подключаемся к MySQL и базе данных
require_once('connect.php');
//Формируем запрос
$sql="SELECT name,pass,role FROM USERS WHERE name='".$safe_name."' and pass='".$safe_pass."'";
//Получаем результат запроса в переменную $result
$result=mysql_query($sql);
//Проверяем, есть ли такой пользователь
if (!mysql_num_rows($result))
//Если такого пользователя нет, то отказываем ему в доступе
die("Неверный логин или пароль <a href='index.php'>Назад</a>");
//Иначе записываем факт авторизации всессию
else
{
//Получаем результат запроса
$line=mysql_fetch_row($result);
//Записываем факт авторизации в сессию
$_SESSION['autorized']=true;
//Сохраняем имя пользователя
$_SESSION['name']=$_POST['name'];
//Сохраняем роль пользователя
$_SESSION['role']=$line[2];
//Выводим пользователю информацию, что он был авторизован
echo 'Авторизация прошла успешно!<br /><a href="index.php">Вернуться в форум</a>';
}
}
//Если пользователь не ввел данные
else
{
//Отказать ему в доступе
die("Неправильный логин или пароль<br /><a href='index.php'>Назад</a>");
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(04.10.2007 в 10:44)
| | Я ставил mysql_query()
Такого не может быть чтоб ошибка была, вечером скину страницу, посмотрите. | |
|
|
|
|