PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (3): « 1 2 [3]

> Найдено сообщений: 40
Polaris Отправлено: 30 Сентября, 2009 - 06:21:00 • Тема: Проблема с сессией • Форум: Программирование на PHP

Ответов: 19
Просмотров: 1212
Хм, обнаружил, что в капче не просто ерунда пишется, если убрать в конце main.php session_destroy(); Не была проинициализирована переменная $code, в результате в ней накапливалось значение от предыдущих каптч Улыбка Тут все было просто - банальная невнимательность.
Продолжаю думать, почему сохраняется и выводится предыдущее значение...
Polaris Отправлено: 29 Сентября, 2009 - 14:47:31 • Тема: Проблема с сессией • Форум: Программирование на PHP

Ответов: 19
Просмотров: 1212
Phantik пишет:
с ImageMagick не работал, ничего советовать не буду.

А по поводу старой капчи, попробуй в Captcha.php Добавить заголовок
CODE (text):
скопировать код в буфер обмена
  1. Header("Pragma: no-store");

Не помогло.
Polaris Отправлено: 29 Сентября, 2009 - 14:39:16 • Тема: Проблема с сессией • Форум: Программирование на PHP

Ответов: 19
Просмотров: 1212
Phantik пишет:
На сколько я в курсе.

Если шлете заголовок
header("Content-Type: image/gif");

то скрипт должен заканчиваться функцией:
imagegif($Captcha);


Дело в том, что я использую не gd, а ImageMagick. В доках по нему был дан такой вариант с изображением на лету в браузер...

Phantik пишет:

А в переменной $code правильное значение?


Правильное.

Phantik пишет:

Еще(не уверен на 100%) но вроде правильно будет $_SESSION['code'] = $code;


Поправил, но не принципиально оказалось.

В конце main.php сейчас добавил
CODE (text):
скопировать код в буфер обмена
  1.  
  2. unset($_SESSION[code]);
  3. session_destroy();
  4.  


После этого в еcho $_SESSION[code]; стало отображаться старое значение капчи. Надо еще копать...
Polaris Отправлено: 29 Сентября, 2009 - 14:27:46 • Тема: Проблема с сессией • Форум: Программирование на PHP

Ответов: 19
Просмотров: 1212
DeepVarvar пишет:
$code.=$result[$keys[$i]];

$_SESSION[code] = $code;

это переприсваивание в цикле? скобок нет.....
(Добавление)
или вы присваиваете сессии значение всего массива?


Скобок нет, переменная $code не массив, а строка.
Polaris Отправлено: 29 Сентября, 2009 - 14:21:05 • Тема: Проблема с сессией • Форум: Программирование на PHP

Ответов: 19
Просмотров: 1212
captcha.php
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.         session_start();
  4.         header('Content-Type: image/gif');
  5.  
  6.         //...
  7.         //тут формирование кода                
  8.         for($i=0; $i<6; $i++)
  9.                 $code.=$result[$keys[$i]];
  10.        
  11.         $_SESSION[code] = $code;
  12.  
  13.         //...  
  14.         //рисование в файл captcha.gif
  15.         readfile('img/preview/captcha.gif');
  16.                
  17. ?>
  18.  


Сократил код (убрал само формирование картинки), использую Imagemagick старый, версии 5 с чем-то (системный вызов convert()).

В main.php просто самой первой строкой, до всякого вывода также вызвал session_start();, потом, после блока кода из моего первого поста просто порытался вывести на экраз значение $_SESSION[code], там совсем не то, что на рисунке...
Polaris Отправлено: 29 Сентября, 2009 - 14:01:47 • Тема: Проблема с сессией • Форум: Программирование на PHP

Ответов: 19
Просмотров: 1212
Безусловно, в обоих и стартую. На капче отрисовывается ерунда.
Polaris Отправлено: 29 Сентября, 2009 - 13:34:31 • Тема: Проблема с сессией • Форум: Программирование на PHP

Ответов: 19
Просмотров: 1212
Добрый день!
Ситуация такая - делаю на сайте капчу.

Файл main.php
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <tr>
  3. <td>Код подтверждения:*
  4. <br>
  5. <img src="/captcha.php">
  6. </td>
  7. <td><input name="code" maxlength="6" value=""></td>
  8. </tr>
  9.  


captcha.php - это сам скрипт, отдающий картинку. Значение капчи для проверки хочу записать в сессию.
Вопрос такой - не могу понять, где правильно стартовать сессию, то ли в main.php, до всякого вывода в браузер, то ли в captcha.php Растерялся Если стартую в main.php, а сохраняю значение в captcha.php, то значение не сохраняется. Если стартую в captcha.php, то на капче вообще отрисовывается какой-то бред Хм
Polaris Отправлено: 27 Августа, 2008 - 05:52:35 • Тема: Отправка данных из формы поочередно на разные адреса • Форум: Программирование на PHP

Ответов: 6
Просмотров: 468
pifon1989 пишет:
Как раз таки наоборот. Разные СУБД - разные функции связи. И если PostgreSQL ещё на MySQL по принципам команд похожа, то та же Oracle работает кардинально иначе, и нужно дополнительно изучать её токости, прежде чем писать скрипт.


База данных у нас не сильно распространенная, называется MaxDB. В принципе утверждают, что аналогична Oracle.

У меня сходу еще вопрос - если я правильно понял, у пользователя, под которым запускается apache, должны быть права на чтение/запись в файл info.txt?
Polaris Отправлено: 26 Августа, 2008 - 13:20:17 • Тема: Отправка данных из формы поочередно на разные адреса • Форум: Программирование на PHP

Ответов: 6
Просмотров: 468
Вездеход пишет:
анируется отправить? какова частота отправки? количичество отправки одинаково будет каждый день?
база данных есть?


В день с сайта отправляется 5-7 писем (будем считать, максимум 10). База данных есть, но не mySQL (хотя думаю, что тут не принципиально).
Я в принципе хотел сделать табличку с одним полем и туда писать значение - кому отправлено. Но думал, может можно как-то через глобальные переменные в сессии сделать (а вдруг понадобится сервер перегрузить?).
Но я пока не особо тут подкован, потому и хочется узнать, как правильнее.
Polaris Отправлено: 26 Августа, 2008 - 11:28:48 • Тема: Отправка данных из формы поочередно на разные адреса • Форум: Программирование на PHP

Ответов: 6
Просмотров: 468
Доброго времени суток!
В php я в общем новичок, потому прошу помощи.
Ситуация следующая - имеется форма, результаты сабмита которой должны поочередно пересылаться 2м людям (форма представляет собой заявку на покупку и должна поочередно приходить на е-майл сотруднику то в один в офис, то в другой - в целях справедливого распределения этих самых заявок между 2мя офисами).

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

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

Страниц (3): « 1 2 [3]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB