Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как скинуть информацию из формы на другую страницу, иставаясь в текущей.
Форумы портала PHP.SU » » Вопросы новичков » Как скинуть информацию из формы на другую страницу, иставаясь в текущей.

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

1. Webtest - 10 Августа, 2014 - 12:57:10 - перейти к сообщению
Здравствуйте.

Допустим есть код картинки:
Спойлер (Отобразить)

Этот код сохранен в файле img.php. И есть страница - Test.php, которая отображает эту картинку:
Спойлер (Отобразить)

Как сделать в этом случае так, чтобы если я в форме отметил какой-нибудь цвет, и нажал на Обновить, то цвет, какой-нибудь кривой, например $white в картинке поменялся на тот, что я отметил?
И, чтобы, я остался на текущей странице с отображением картинки - Test.php.
Как-то так.
Я, теоретически, знаю как это сделать в других случаях, но тут картинка подключается через: <img src="Img.php" alt="">, а что в этом случае делать не очень понимаю. Помогите пожалуйста.
Если что, могу еще подробнее объяснить.

* название темы забыл исправить.
2. tato - 11 Августа, 2014 - 02:01:01 - перейти к сообщению
нужен ajax.

Прикинем, что первый файл называется image_maker.php
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var c = 'black';
  3. $.post('image_maker.php', {color:c}, function(resposne){
  4.     // используем base64 в сорсе картинки
  5.     $('img').attr('src','data:image/png;base64,'+response);
  6. });
  7.  


принимаем цвет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $color = isset( $_POST['color'] ) ? $_POST['color'] : 'white';
  3. switch( $color )
  4. {
  5.     case 'black':
  6.         $color  = imagecolorallocate( $img, 0, 0, 0 );
  7.         break;
  8.  
  9.     ...
  10.  
  11.     case 'white':
  12.     default:
  13.         // по умолчанию.
  14.         $color  = imagecolorallocate( $img, 255, 255, 255 );
  15. }
  16.  


соответственно image_maker.php должен вернуть base64:
PHP:
скопировать код в буфер обмена
  1.  
  2. ...
  3.   imagepng( $img );
  4.   $data = ob_get_contents ();
  5.  
  6. echo base64_encode( $data );
  7.  


ну и т.д.
3. Ts.Saltan - 11 Августа, 2014 - 11:31:55 - перейти к сообщению
tato пишет:
нужен ajax

можно без ajax'a, вместо отправки формы javascript'ом изменять значение get параметров img.php в теге <img>

 

Powered by ExBB FM 1.0 RC1