|
|
|
| Есть форма и есть картинка которая генирируется кодом.
если форму заполнить не правельно, то скрипт выводит ошибку и ту же форму с той же картинкой, но! на сервере уже новая картинка, которая появляеться только после F5
как сделать так чтоб выводилась та картика которая только что сгенерированна?
за ранее благодарен за любую помощь | |
|
|
|
|
|
|
|
для: darkozoid
(15.05.2009 в 20:06)
| | Это во всех браузерах или в одном Особо одарённом? | |
|
|
|
|
автор: werwe (15.05.2009 в 20:10) |
|
|
для: Valick
(15.05.2009 в 20:10)
| | что за грязные намеки | |
|
|
|
|
|
|
|
для: werwe
(15.05.2009 в 20:10)
| | Потому что знаю что Опера с особой радостью кладёт на запреты кеширования. И ещё, но это не относится к делу, выстёгивает меня переключение языка. В остальном опера мне нравиться. А особо одарённым может оказаться кто угодно, оттого и мои намёки мастерски завуалированы, но Вас то не проведёшь ;)
P.S. Полтора года назад (и в данный момент кстати тоже), я тут сидел только из под оперы. | |
|
|
|
|
|
|
|
для: Valick
(15.05.2009 в 20:25)
| | браузер IE 7 | |
|
|
|
|
|
|
|
для: darkozoid
(15.05.2009 в 20:34)
| | Добавляйте к адресу картинки как параметр случайное число. | |
|
|
|
|
|
|
|
для: darkozoid
(15.05.2009 в 20:34)
| | а кусочек кода покажите, как именно вы выводите картинку... | |
|
|
|
|
|
|
|
для: Valick
(15.05.2009 в 20:39)
| |
mt_srand(time()+(double)microtime()*1000000);
$sc = mt_rand(1000011,19212121);
header("Content-type: image/png");
$im = @imagecreate(100, 30)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 16, 15, 7, $sc, $text_color);
imagepng($im, "graf/code.png");
imagedestroy($im);
?>
<img src="graf/code.png" name=<?echo($sc);?>>
|
| |
|
|
|
|
|
|
|
для: darkozoid
(15.05.2009 в 20:45)
| |
<?
//......
//и вывод в браузер без записи на диск
imagepng($im);
imagedestroy($im);
?>
|
А на странице <img src="path/code.php" /> - где, path/code.php путь/файл скрипта, который у вас формирует эту картинку. Если будет кешироваться, то можно:
<img src="path/code.php?" . <? echo time(); ?> />
|
| |
|
|
|
|
|
|
|
для: sim5
(15.05.2009 в 21:12)
| | ‰PNG IHDRdа•)°PLTEяяяй[‘ЛќЈoIDAT•c`TАа_э|цю‡>Ђy7цњa6њж}8АШp#‡Mљўт3cCо1п;Г№dЛ93ccѓбЌ7PћГa ЁКГ ЗxЊ$ЎјґГ¶dЁ lде„Ъ>hЙО"bюХcIEND®B`‚
это вместо картинки
хотя
header("Content-type: image/png");
| есть
весь скрипт на одной странице только в разных функциях, если это имеет значение... | |
|
|
|
|
|
|
|
для: darkozoid
(15.05.2009 в 21:19)
| | Это не от хидера зависит, а от того, что до вывода картинки в браузер уже был вывод в него. Поместите это скрипт формирования картинки в отдельный файли обращайтесь к нему. | |
|
|
|
|
|
|
|
для: sim5
(15.05.2009 в 21:21)
| | если включать отдельную страницу с помощью include получаеться то же самое. хотя на странице будет картинка
если через iframe то я не получу значение переменной $sc а он мненужно... | |
|
|
|
|
|
|
|
для: darkozoid
(15.05.2009 в 21:27)
| | Какой include? Я же вам русским языком пишу обращайтесь к отдельному файлу - он в атрибуте src тега img прописан! | |
|
|
|
|
|
|
|
для: darkozoid
(15.05.2009 в 21:27)
| | чтобы понятней все в одном месте
отдельный файл генерирующий картинку
session_start();
if(session_id() != $_GET['sid'])exit();
$img = "sicret.jpg";
$src_img = imagecreatefromjpeg($img);
$int = substr(md5(rand(0,999999)),0,5);
$font = 5;
imagestring($src_img,$font,60,2,$int,"#000000");
$_SESSION['sicret'] = $int;
header("content-type:image/jpeg");
imagejpeg($src_img);
imagedestroy($src_img);
|
а вот так обращаться к нему
<img src=sicret.php?sid=".session_id()." alt='рисунки должны быть включены'>
|
| |
|
|
|
|
|
|
|
для: fire_f12
(18.05.2009 в 09:45)
| | большое спасибо за помощь, очень помогли... теперь все работает как надо | |
|
|
|