Автор Тема: Cookies  (Прочитано 3512 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Cookies
« : 25 Сентября 2003, 09:55:59 »
Доброе время суток.
У меня проблема с cookies. Писал я сайт на основании статьи "Действительно легкая смена дизайна сайта". То есть. У меня общий файл ((index.php) куда подключаються в зависимости от ссылки другие файлы. Так вот я хочу сделать администрирование, но не на отдельных страницах а на этой же, путем подключения страниц администрирования. Но мне ведь нужно передовать значения login и password на эти страницы и делать проверку. Я решил пойти по пути меньшего сопротивления через cookies.

index.php:
if (!isset($page)) $page="main";
$data=file("config.inc.php");
$max=count($data);
for ($i = 1; $i < $max; $i++):
   list($name,$file,$title)=explode("\\t",$data[$i]);
   if ($page==$name):
      break;
   ellse:
      $file="main";
      $title="Ошибка 404";
   endif;
endfor;

echo"";
echo"
";
include("_header.php");
echo"
";
include("_menu.php");
echo"
";
include($file.".php");
echo"
";
include("_add.php");
echo"

";
?>

файл проверки пароля pass.php
$logined = 0;

if (isset($page)):
        $password[\'Rodent\'] = "123";
        if (!isset($login) || !isset($password[$login]) || $pass!=$password[$login]):
        $logined = 0;
     setcookie ("login", "", 0);
     setcookie ("pass", "", 0);
   else:
       $logined = 1;
       setcookie ("login", $login);
       setcookie ("pass", $pass);
endif;
endif;
?>

ну и сам файл(ы) администрирования
require ("pass.php");

if ($logined == 1):
?>


Привет
Администрирование



" method="post">
Администрирование


Имя:

Пароль:





Заранее спасибо за помощь. Если я невнятно выразился задавайте вопросы.
« Последнее редактирование: 28 Сентября 2003, 17:14:19 от Rodent »

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Cookies
« Ответ #1 : 25 Сентября 2003, 09:59:28 »
Когда зашли в администрирование, эта менюшка должна с вами по идее по всем странцам ходит, а она.. не ходит

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Cookies
« Ответ #2 : 25 Сентября 2003, 11:10:07 »
А отлаживать свою программу нынче не в моде?

То есть, "ходит-не ходит" - это единственный способ узнать, что и как делает твоя программа?

Ой, нет, забыл. Конечно есть еще один!
Вывалить текст на форум - "разбирайтесь, ребятки".
Прелестно.

Тебя никто не учил отлаживать программы?
А писать не кучей, а по частям?
Отделять важное от второстепенного?
Хотя бы выяснить кусок, в котором проблема, ты можешь?
узнать - а приходят ли куки?
а что в них?
а что в пароле лежит?
а выполняется ли условие?
Если нет - то почему?

Неужели не очевидно, что это надо делать самому?
Что надо контролировать программу на всех этапах выполнения, а не тупо смотреть в монитор  - "ходит - не ходит".
Так ты никогда ни одной программы не напишешь.

И на форуме ответа не получишь.
Научись находить проблему, и потом уже с ней задавать вопрос.
Не "не работает!!!" а "ставлю куку, а она от браузера не приходит".

Хотя я сомневаюсь, что тебе вообще понадобится помощь форума.


И еще.
Не пояснишщь лы ты глубокий смыйл функции cut?
Некоторые ее элементы вызывают у меня неподдельное изумление.

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Cookies
« Ответ #3 : 25 Сентября 2003, 15:59:15 »
Я на этой проблемой уже 3 дня голову ломаю, куки отправляет, переменные в куки есть, но скрипт их не схватывает.
Думаешь я сам не догоняю, что надо все проверить, но я чайник, проверил все что мог, и не нашел...
Если ты спец ты бы помог, а не языком чесал...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Cookies
« Ответ #4 : 26 Сентября 2003, 11:57:20 »
ага. "Не учите меня жить. Лучше помогите материально".

Очень жаль, что такая кладезь мудрости, излитая мной на тебя, была сочтена "чесанием языком", а слово "помощь" ты воспринимаешь только в одном значении - "сделайте за меня".

Не вижу смысла помогать человеку, который не хочет помочь себе сам. а завтра у тебя опять будет ошибка, и ты снова - не умея искать, придешь - "исправьте мой скрипт".
Я, конечно, спец, но извини, с какой стати я должен за тебя делать?

Я попытался тебе помочь.Ты моим словам не внемлешь.
Увы.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Cookies
« Ответ #5 : 26 Сентября 2003, 12:21:52 »
Цитировать
Rodent:
переменные в куки есть, но скрипт их не схватывает.

Что это значит - "не схватывает"?
откуда ты знаешь, что есть? Как ты проверял?
ты в скрипте их выводил?
Выводятся? А что значит - "не схватывает" тогда?
Не выводятся? Тогда с чего ты сказал. что они есть?

print_r($HTTP_COOKIE_VARS);
что тебе выводит?

Ты условие свое проверил?
каждый из его элементов проверил в отдельности?
Не умозрительно проверил, а руками, в скрипте!
Вывел на экран результат каждого из условий!

Делай.

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Cookies
« Ответ #6 : 26 Сентября 2003, 12:25:04 »
Я за свои слова не отвечаю, да и не телепат я, но догадка у меня есть. Если я неправ, извините...
Куки не ставятся, это сто процентов.
Скорее всего схема такая:
error_reporting(0);
Вывод в браузер
Попытка поставить куки...
работа в Украине

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Cookies
« Ответ #7 : 28 Сентября 2003, 17:04:22 »
Огромное спасибо всем за помощь.

Yukko оказался прав, как только я заремачил error_reporting все стало на свои места.

RomikChef Куки я проверял визуально, т.е. находил куки и смотрел что в них. Но, к сожалению, я это делал, только когда страничку отдельно просматривал, а когда ее вставлял в index.php то получал вот это: Warning: Cannot add header information - headers already sent...

Интересно а кто-нить знает как это обойти, или когда надо куки посылать??? Конечно можно и сессию, но тогда подскажите какой-нить ресурс, подробно описывающий эту прелесть, или книгу.

А если, я добавлю код из _pass.inc в  index.php. Это сработает??? Сработало!!! но тогда получается что у меня эти переменные ($login и $pass) будут все вр6мя проверяться... ну в общем это хорошо... однако есть ли какие-нить минусы в том что я сделал???

Заранее спасибо.

P.S. RomikChef Да, спасибо, что поставил на путь истинный, был не прав, исправлюсь. :-))
« Последнее редактирование: 28 Сентября 2003, 17:13:19 от Rodent »

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Cookies
« Ответ #8 : 28 Сентября 2003, 17:20:34 »
RomikChef  И еще тебе не понравился мой cut(); (его смысл вроде как понятен) Что именно тебе не понравилось??? И что по-твоему следует удалить/добавить (в общем как его изменить)??? Если конечно тебе не сложно...

function cut($string) {
   $string = ereg_replace(\'\\\\\\"\',""",$string);
   $string = ereg_replace("\\\\\\\'",""",$string);
   $string = str_replace("\\r","",$string);
   $string = str_replace("\\t"," ",$string);
   $string = str_replace("\\n","
",$string);
   $string = str_replace("%","%",$string);
   $string = str_replace("^ +","",$string);
   $string = str_replace(" +$","",$string);
   $string = str_replace(" +"," ",$string);
   $string = str_replace("|"," ",$string);
   return ($string);
}

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28