Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: вопрос по сессиям php  (Прочитано 6933 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
zdobr
Гость
« : 01-09-2006 18:05 » 

Есть код:
_<?php
error_reporting(0);
session_start();
header ("Content-type:image/jpeg");
$liters=array(0=>"a",1=>"z",2=>"m",3=>"f",4=>"h",5=>"s",6=>"r");
$image=imagecreatetruecolor(140,40);
$white=imagecolorallocate($image,255,255,255);
$green=imagecolorallocate($image,0,128,0);
$str=rand(6,9);//число от 6 до 9
$str1=$liters[rand(0,count($liters))];
$str2=rand(1,6);// число от 1 до 6
$str1=$liters[rand(0,count($liters))];
$str4=rand(1,34);//число от одного до 34
$check="$str$str1$str2$str3$str4";

$_SESSION['secret_code']=$check;

imagestring($image,5,5,20,$check,$green);
//Выводим изображение со строкой проверки
imagejpeg($image);
imagedestroy($image);
?>

Этот код выводит картинку с цифрами в нужной строке формы add.php
Переменную $secret_code надо передать в файл обработки формы adds.php для сравнения с цифрами, которые вводит пользователь (переменная $_secret_code).
У меня не получается. Подскажите, пожалуйста, как сделать?
PHP знаю плохо.
« Последнее редактирование: 11-12-2007 17:56 от Алексей1153++ » Записан
Chuda
Гость
« Ответ #1 : 01-09-2006 19:55 » 

Так не надо ничего передавать.
$_SESSION - это массив, который сохраняется на протяжении всей сессии.
То есть, пока ты будешь ходить браузером со страницы на страницу на этом сайте, переменная
$_SESSION['secret_code'] будет доступна.
Просто в обработчике формы (adds.php) используешь эту переменную как уже определённую.
« Последнее редактирование: 11-12-2007 17:56 от Алексей1153++ » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 02-09-2006 13:51 » new

И, соотв., в adds.php нужно тоже стартовать сессию - иначе ничего не получится. Еще рекомендую проверять в adds.php наличие $_SESSION['secret_code'] перед использованием, т.к. это web и страницы скрипты порой могут быть вызваны в порядке, на который разработчик не расчитывал. Проверка делается так:
if (isset($_SESSION[&#39;secret_code&#39;]))
{
    
// переменная есть
}
else
{
    
// нет
}
« Последнее редактирование: 11-12-2007 17:57 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zdobr
Гость
« Ответ #3 : 02-09-2006 16:50 » 

Открыл сессию в первой строке adds.php и переменная появилась. Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines