|
|
|
| При заполнении некоторых полей (например: имя или название статьи), после нажатия кнопки, вместо вписанного названия появляется логин автора..
Из-зачего это может быть? Как я понял все поля имеющие атрибут name автоматичестки забиваются через куки... | |
|
|
|
|
|
|
|
для: newcold
(26.07.2008 в 18:24)
| | Появляется где? "все поля имеющие атрибут name автоматичестки забиваются через куки" - с чего это предположение? | |
|
|
|
|
|
|
|
для: sim5
(27.07.2008 в 06:18)
| | не через куки, а через сессию..
так как в страницу newsedit.php подключается блок авторизации
require_once ("../utils security_mod.php");
|
в котором содержится сессия:
<?
error_reporting(E_ALL & ~E_NOTICE);
// Если пользователь не авторизовался - авторизуемся
if(!isset($_SERVER['PHP_AUTH_USER']) || (!empty($_GET['logout']) && $_SERVER['PHP_AUTH_USER'] == $_GET['logout']))
{
Header("WWW-Authenticate: Basic realm=\"Control Page\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
else
{
// Утюжим переменные $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'],
// чтобы мышь не проскочила
if (!get_magic_quotes_gpc())
{
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
}
$query = "SELECT * FROM $tbl_accounts
WHERE name = '".$_SERVER['PHP_AUTH_USER']."'";
$lst = @mysql_query($query);
// Если ошибка в SQL-запросе - выдаём окно
if(!$lst)
{
Header("WWW-Authenticate: Basic realm=\"Control Page\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
// Если такого пользователя нет - выдаём окно
if(mysql_num_rows($lst) == 0)
{
Header("WWW-Authenticate: Basic realm=\"Control Page\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
// Если все проверки пройдены, сравниваем хэши паролей
$account = @mysql_fetch_array($lst);
if(md5($_SERVER['PHP_AUTH_PW']) != $account['pass'])
{
Header("WWW-Authenticate: Basic realm=\"Control Page\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
}
?>
|
поле "название статьи" имеет атрибут name=name, и в сесси передается name = '".$_SERVER['PHP_AUTH_USER'].";
вот я и подозреваю поэтому.. Другого объяснения сему я не вижу.. | |
|
|
|
|
|
|
|
для: newcold
(27.07.2008 в 07:51)
| | О каком поле, где сессия и чего вы хотите? | |
|
|
|
|
|
|
|
для: sim5
(27.07.2008 в 10:19)
| | на прилагаемом к книге PHP 2-е издание диске есть сайт, там в администрировании есть редактирование новостей, так вот после редактирования, вместо названия новости появляется моё имя, введенное при регистрации.. вот я и спросил по чему... | |
|
|
|
|
|
|
|
для: newcold
(27.07.2008 в 19:24)
| | А какое отношение поле name таблицы определяемой переменной $tbl_accounts, которое, как я понимаю содержит список юзеров, имеет к названию новости? Не знаю я этого скрипта, но где-то, что-то вы путаете, на мой взгляд. По id этого юзера можно получить его новости, это еще понятно. Код который вы привели, это авторизация, и никакого отношения к новости не имеет. | |
|
|
|
|
|
|
|
для: sim5
(27.07.2008 в 19:43)
| | блок авторизации подключается в шапке страницы, почему я и говорю, возможно что я не прав, но как тогда объяснить этот момент..? | |
|
|
|
|
|
|
|
для: newcold
(28.07.2008 в 07:45)
| | Значит надо смотреть код, который производит обновление в базе после редактирования. Скорее всего не то и не туда записывается при этом. | |
|
|
|
|
|
|
|
для: sim5
(28.07.2008 в 09:16)
| | Точно, как я не сообразил.. сегодня посмотрю... спасибо.. | |
|
|
|