Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: заполнение полей (2-е издание PHP)
 
 автор: newcold   (26.07.2008 в 18:24)   письмо автору
 
 

При заполнении некоторых полей (например: имя или название статьи), после нажатия кнопки, вместо вписанного названия появляется логин автора..
Из-зачего это может быть? Как я понял все поля имеющие атрибут name автоматичестки забиваются через куки...

  Ответить  
 
 автор: sim5   (27.07.2008 в 06:18)   письмо автору
 
   для: newcold   (26.07.2008 в 18:24)
 

Появляется где? "все поля имеющие атрибут name автоматичестки забиваются через куки" - с чего это предположение?

  Ответить  
 
 автор: newcold   (27.07.2008 в 07:51)   письмо автору
 
   для: 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'].";
вот я и подозреваю поэтому.. Другого объяснения сему я не вижу..

  Ответить  
 
 автор: sim5   (27.07.2008 в 10:19)   письмо автору
 
   для: newcold   (27.07.2008 в 07:51)
 

О каком поле, где сессия и чего вы хотите?

  Ответить  
 
 автор: newcold   (27.07.2008 в 19:24)   письмо автору
 
   для: sim5   (27.07.2008 в 10:19)
 

на прилагаемом к книге PHP 2-е издание диске есть сайт, там в администрировании есть редактирование новостей, так вот после редактирования, вместо названия новости появляется моё имя, введенное при регистрации.. вот я и спросил по чему...

  Ответить  
 
 автор: sim5   (27.07.2008 в 19:43)   письмо автору
 
   для: newcold   (27.07.2008 в 19:24)
 

А какое отношение поле name таблицы определяемой переменной $tbl_accounts, которое, как я понимаю содержит список юзеров, имеет к названию новости? Не знаю я этого скрипта, но где-то, что-то вы путаете, на мой взгляд. По id этого юзера можно получить его новости, это еще понятно. Код который вы привели, это авторизация, и никакого отношения к новости не имеет.

  Ответить  
 
 автор: newcold   (28.07.2008 в 07:45)   письмо автору
 
   для: sim5   (27.07.2008 в 19:43)
 

блок авторизации подключается в шапке страницы, почему я и говорю, возможно что я не прав, но как тогда объяснить этот момент..?

  Ответить  
 
 автор: sim5   (28.07.2008 в 09:16)   письмо автору
 
   для: newcold   (28.07.2008 в 07:45)
 

Значит надо смотреть код, который производит обновление в базе после редактирования. Скорее всего не то и не туда записывается при этом.

  Ответить  
 
 автор: newcold   (28.07.2008 в 13:47)   письмо автору
 
   для: sim5   (28.07.2008 в 09:16)
 

Точно, как я не сообразил.. сегодня посмотрю... спасибо..

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования