|
|
|
|
|
для: F@!nT
(15.08.2005 в 18:28)
| | Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=837 | |
|
|
|
|
|
|
|
для: F@!nT
(03.08.2005 в 18:17)
| | У меня тут ещё одна проблемка, правда не знаю как она связана с MySQL, чтобы не создавать новую тему решил тут написать.
Скрипт:
if($action=="login") {
$sql=mysql_query("SELECT * FROM admin WHERE login='".$loginadmin."' AND pass='".md5($passwordadmin)."'");
if (!$sql)
echo "Ошибка";
if (mysql_num_rows($sql)>0) {
echo "Логин и\или пароль неверен";
}
else
{
echo "Логин и пароль верный";
if ($mode=="") { $mode="index"; };
header ("Location: admin.php?mode=$mode");
}
}
Ругается так: Warning: Cannot modify header information - headers already sent by (output started at D:\server\www\v04\admin.php:18) in D:\server\www\v04\admin.php on line 20
я так понял, что это связано что-то header, все остальное (был приведен только кусок скрипта) правильно точно. | |
|
|
|
|
|
|
|
для: cheops
(03.08.2005 в 18:09)
| | Спасибо. Теперь заработало.
P.S. Если все проблемы решены, то, наверное, имеет смысл закрыть тему | |
|
|
|
|
|
|
|
для: F@!nT
(03.08.2005 в 16:50)
| | В этом случае следует использовать вариант, который предложил P@sol
<?php
$result = mysql_query("select * from table where login=$login and password=$pass");
if (!$result) echo "Ошибка!";
if (mysql_num_rows($result)==0) echo "В бд нет введеной пары логин пароль";
?>
|
| |
|
|
|
|
|
|
|
для: P@Sol
(03.08.2005 в 11:26)
| | Спасибо большое, но вот возникает проблема, когда 2 логина и 2 пароля. Почему-то выбирает именно первый пароль и все. Не подскажите, что в этом случае делать? | |
|
|
|
|
|
|
|
для: F@!nT
(03.08.2005 в 11:09)
| |
$result = mysql_query("select * from table");
if (!$result) echo "Ошибка!";
$row = mysql_fetch_array($result);
$row[name] //имя
$row[pass]//пароль
|
где name - название поля, где храниться логин,
а pass - название поля, где храниться пароль.
меня опередили:)
тогда еще такой вариант:
$result = mysql_query("select * from table where login=$login and password=$pass");
if (!$result) echo "Ошибка!";
if (mysql_num_rows($result)==0) echo "В бд нет введеной пары логин пароль";
|
$login и $pass - то что ввел пользователь | |
|
|
|
|
|
|
|
для: F@!nT
(03.08.2005 в 11:09)
| | Примерно так:
<?
$sql="SELECT login, pass FROM table WHERE login='$login'";
$result=mysql_query($sql);
$user=mysql_fetch_array($result);
print $user['login']; //выведет полученный из базы логин
print $user['pass']; //выведет полученный из базы пароль
?>
|
А дальше сравнивайте как считаете нужным. | |
|
|
|
|
|
|
| Логин и пароль хранится в БД, надо его оотуда взять и сравнить с введенными. Знаю, что надо подключится, пароль, юзер, выбрать таблицу, но именно как извлечь логин и пароль не знаю. Подскажите, пожалуйста, как надо сделать это. | |
|
|
|
|