Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Нужен маленький совет по php |

17.10.2009, 14:57
|
|
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме: 63389
Репутация:
1
|
|
Нужен маленький совет по php
Я новичек, потому не смейтесь  Я пишу форму авторизации, вот что есть:
PHP код:
<?php
require_once("../config.php");
connect ($dbhost, $dbuser, $dbpass, $database);
$result = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."' and password = '".md5($_POST['password'])."' LIMIT 1") or die (mysql_error());
if (mysql_num_rows($result) == 0){
echo"<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=loginfailed.html\">";
exit();
}
else{
session_start();
$_SESSION['adminUser'] = $admin_user;
$_SESSION['adminPassword'] = $admin_pass;
$SID = session_id();
echo"<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=index.php\">";
}
?>
В одном файле вводится логин и пароль, данные скидываются в этот файл, тут проверяется через базу логин и пароль, если все верно - дается кук.
ВОПРОС: Как сделать, чтобы в той же самой строке в базе, в которой проверяется логин и пароль также проверялось поле "administrator" на то, какя цифра в нем, 1 или ноль, и если 1 то давался кук, тоесть то что и сейчас, только еще один фактор проверяется.
Помогите, люди)
|
|
|

17.10.2009, 15:04
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме: 3629857
Репутация:
504
|
|
mysql_fetch_array
http://www.php.ru/manual/function.mysql-fetch-array.html
|
|
|

17.10.2009, 15:07
|
|
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме: 63389
Репутация:
1
|
|
gisTy
А не будете добры показать мой измененный фалик плиз...
|
|
|

17.10.2009, 15:15
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме: 3629857
Репутация:
504
|
|
PHP код:
<?php
require_once("../config.php");
connect ($dbhost, $dbuser, $dbpass, $database);
$result = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."' and password = '".md5($_POST['password'])."' LIMIT 1") or die (mysql_error());
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo $row['adminitrator'];
?>
выведет тебе значение колонки administrator.
дальше сам додумаешь
P.S. такие запросы:
PHP код:
$result = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."' and password = '".md5($_POST['password'])."' LIMIT 1") or die (mysql_error());
не безопасны, фильтруй входящие данные
Последний раз редактировалось gisTy; 17.10.2009 в 16:27..
|
|
|

17.10.2009, 16:55
|
|
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме: 63389
Репутация:
1
|
|
gisTy
Почему небезопасны? И как фильтровать? =)
|
|
|

17.10.2009, 17:10
|
|
Banned
Регистрация: 05.10.2005
Сообщений: 965
Провел на форуме: 5888800
Репутация:
547
|
|
Fantom3D
mysql_real_escape_string ();
mysql_real_escape_string -- Экранирует специальные символы в строке, используемой в SQL-запросе, принмимая во внимание кодировку соединения.
|
|
|

17.10.2009, 20:46
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме: 4532332
Репутация:
1196
|
|
для числовых данных используй intval(); //если его type скажем string оно приводится к 0
|
|
|

17.10.2009, 20:59
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме: 3629857
Репутация:
504
|
|
Сообщение от L I G A
для числовых данных используй intval(); //если его type скажем string оно приводится к 0
так же (int) можно
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|