PDA

Просмотр полной версии : Нужен маленький совет по php


Fantom3D
17.10.2009, 14:57
Я новичек, потому не смейтесь :) Я пишу форму авторизации, вот что есть:

<?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 то давался кук, тоесть то что и сейчас, только еще один фактор проверяется. :)

http://i001.radikal.ru/0910/87/cee0ef19c69d.jpg (http://www.radikal.ru)

Помогите, люди)

gisTy
17.10.2009, 15:04
mysql_fetch_array
http://www.php.ru/manual/function.mysql-fetch-array.html

Fantom3D
17.10.2009, 15:07
gisTy
А не будете добры показать мой измененный фалик плиз...

gisTy
17.10.2009, 15:15
<?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. такие запросы:$result = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."' and password = '".md5($_POST['password'])."' LIMIT 1") or die (mysql_error());не безопасны, фильтруй входящие данные

Fantom3D
17.10.2009, 16:55
gisTy
Почему небезопасны? И как фильтровать? =)

Tem
17.10.2009, 17:10
Fantom3D

mysql_real_escape_string ();

mysql_real_escape_string -- Экранирует специальные символы в строке, используемой в SQL-запросе, принмимая во внимание кодировку соединения.

L I G A
17.10.2009, 20:46
для числовых данных используй intval(); //если его type скажем string оно приводится к 0

gisTy
17.10.2009, 20:59
для числовых данных используй intval(); //если его type скажем string оно приводится к 0
так же (int) можно