Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запуск формы кнопкой и старт процесса.
 
 автор: Владимир55   (30.03.2007 в 16:34)   письмо автору
 
 

Есть форма:

<form method="POST" >
<textarea rows="1" name="name_dir" cols="20"></textarea>
<input type="submit" value="Начали!" name="B2">
</form>


При этом ввод набранной в окне информации производится кнопкой "Начали!".
Вместе с тем имеется кнопка button8.gif. Вот как бы видоизменить эту форму так, чтобы вместо "Начали!" там была кнопка button8.gif ?

А еще очень очень нужно сделать так (и это самостоятельная задача), чтобы от клика на кнопку button.gif стартовал некий процесс. То есть после клика на эту кнопку становилось истинным выражение stripslashes ($_POST['start']); Это возможно?

   
 
 автор: Trianon   (30.03.2007 в 16:47)   письмо автору
 
   для: Владимир55   (30.03.2007 в 16:34)
 

<input type="image" value="1" name="start" src="button.gif">

   
 
 автор: Владимир55   (30.03.2007 в 17:16)   письмо автору
 
   для: Trianon   (30.03.2007 в 16:47)
 

Если имелся в виду этот код, то он не работает...

<form method="POST" >
<input type="image" value="1" name="start" src="button8.gif">
</form>

<?php
$start 
stripslashes ($_POST['start']);
if (
$start)
{
echo 
"Ввод произошел" ;
}
else
{
echo 
"Нет ввода!" ;
}
exit ;
?>

   
 
 автор: Trianon   (30.03.2007 в 17:25)   письмо автору
 
   для: Владимир55   (30.03.2007 в 17:16)
 

$start = $_POST['start_x'];

   
 
 автор: Владимир55   (30.03.2007 в 17:39)   письмо автору
 
   для: Trianon   (30.03.2007 в 17:25)
 

Признаться, я не понял, почему стало 'start_x' . Добавка _х - это случайно, или в этом заложен смысл?

Но, в обом случае конструкция не работает...

Вот так постоянно выводится "Ввод произошел", и клик ничего не меняет.

<form method="POST" >
<input type="image" value="1" name="start" src="button8.gif">
</form>

<?php
$start 
$_POST['start_x'];
if (
$start)
{
echo 
"Ввод произошел" ;
}
else
{
echo 
"Нет ввода!" ;
}
exit ;
?>


А так пишет "Нет ввода" и клик тоже ничего не меняет:

<form method="POST" >
<input type="image" value="1" name="start" src="button8.gif">
</form>

<?php
$start 
$_POST['start'];
if (
$start)
{
echo 
"Ввод произошел" ;
}
else
{
echo 
"Нет ввода!" ;
}
exit ;
?>

   
 
 автор: Trianon   (30.03.2007 в 17:50)   письмо автору
 
   для: Владимир55   (30.03.2007 в 17:39)
 

посмотрите echo $_POST['start_x'] .' -- '. $_POST['start_y'];

там координаты точки в пределах кнопки. Это специальный вид имен параметров image-полей формы.

   
 
 автор: Владимир55   (30.03.2007 в 18:05)   письмо автору
 
   для: Trianon   (30.03.2007 в 17:50)
 

Ничего нет. Никакого сообщения нет. Ни байта.

   
 
 автор: Trianon   (30.03.2007 в 18:40)   письмо автору
 
   для: Владимир55   (30.03.2007 в 18:05)
 

не верю.

   
 
 автор: Владимир55   (30.03.2007 в 18:58)   письмо автору
 
   для: Trianon   (30.03.2007 в 18:40)
 

** не верю. **

И правильно!


<form method="POST" >
<input type="image" value="1" name="start" src="button8.gif">
</form>

<?php
$start 
$_POST['start_x'];
if (
$start)
{
echo 
"Ввод произошел" ;
}
else
{
echo 
"Нет ввода!" ;
}
echo 
"<br>";
echo 
"<br>";
echo 
$_POST['start_x'] .' -- '$_POST['start_y'];

exit ;
?>


Выводится при запуске скрипта:
Ввод произошел

99 -- 15

Выводится после клика:
Ввод произошел

87 -- 15

Однако хочу заметить, что результат нестабилен! Вот смотрите:
1. запускаю скрипт заново и форма вводится снова. Получаю: 98--14
На кнопку не кликал, просто обновляю страницу и перезапускаю скрипт. Получаю: 98--14

2. Кликаю. Получаю: 84--10
Кликаю еще раз. Получаю: 105--17
Кликаю еще раз. Получаю: 68 -- 15
Кликаю еще раз. Получаю: 103 -- 13

3. Обновляю страницу. Получаю 103 -- 13
Кликаю. Получаю: 101 -- 15

Мне это непонятно...

   
 
 автор: Unkind   (30.03.2007 в 19:05)   письмо автору
 
   для: Владимир55   (30.03.2007 в 18:58)
 

Вам даются координаты тех точек картинки, куда вы кликнули.

   
 
 автор: Владимир55   (30.03.2007 в 19:11)   письмо автору
 
   для: Unkind   (30.03.2007 в 19:05)
 

Вот что! Это отразилось положение курсора при клике?

Ладно, а как функцию старта оживить?

   
 
 автор: Unkind   (30.03.2007 в 19:49)   письмо автору
 
   для: Владимир55   (30.03.2007 в 19:11)
 

Вы вроде уже давно на этом форуме...


<?php
if(isset($_POST['start_x']))
{
//Ваш код
}
?>

   
 
 автор: Владимир55   (30.03.2007 в 20:12)   письмо автору
 
   для: Unkind   (30.03.2007 в 19:49)
 

Я много вариантов перепробовал - не работает.

И эта конструкция не работает тоже:

<form method="POST" >
<input type="image" value="1" name="start" src="button8.gif">
</form>

<?php
if(isset($_POST['start_x']))
{
echo 
"Ввод произошел" ;
}
exit ;
?>


"Ввод произошел" присутствует постоянно, от клика ничего не меняется. Почему же так, Вы знаете?

   
 
 автор: Unkind   (30.03.2007 в 20:16)   письмо автору
 
   для: Владимир55   (30.03.2007 в 20:12)
 

А что в Вашем коде от клика, кроме вывода "Ввод произошел", должно меняться?

   
 
 автор: Владимир55   (30.03.2007 в 20:33)   письмо автору
 
   для: Unkind   (30.03.2007 в 20:16)
 

Там будет целая цепочка операций, которые уже отлажены отдельным массивом. Но зачем их сейчас включать, если даже простой вывод не работает?
Или Вы хотите сказать, что в данном случае echo специфическая команда, она может и не работать, а другие коды будут исполняться?

   
 
 автор: Trianon   (30.03.2007 в 21:08)   письмо автору
 
   для: Владимир55   (30.03.2007 в 20:33)
 

>Или Вы хотите сказать, что в данном случае echo специфическая команда, она может и не работать, а другие коды будут исполняться?

боже упаси. Гоните эту мысль. Это самая настоящая ересь.

   
 
 автор: Владимир55   (30.03.2007 в 21:15)   письмо автору
 
   для: Trianon   (30.03.2007 в 21:08)
 

Ересь то она ересь, а форма то не работает!

Или такая схема ввода невозможна?

   
 
 автор: Unkind   (30.03.2007 в 21:44)   письмо автору
 
   для: Владимир55   (30.03.2007 в 20:33)
 

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

Не понятно...

[поправлено модератором]

   
 
 автор: acdcee   (30.03.2007 в 22:10)   письмо автору
 
   для: Владимир55   (30.03.2007 в 16:34)
 

>Есть форма:
>

><form method="POST" >
><textarea rows="1" name="name_dir" cols="20"></textarea>
><input type="submit" value="Начали!" name="B2">
></form>
>

>
>При этом ввод набранной в окне информации производится кнопкой "Начали!".
>Вместе с тем имеется кнопка button8.gif. Вот как бы видоизменить эту форму так, чтобы вместо "Начали!" там была кнопка button8.gif ?
>
>А еще очень очень нужно сделать так (и это самостоятельная задача), чтобы от клика на кнопку button.gif стартовал некий процесс. То есть после клика на эту кнопку становилось истинным выражение stripslashes ($_POST['start']); Это возможно?

Изменить кнопку на картинку можно, путем применения стиля, стандартно в html-е...

<input type="submit" size='размер картинки в ширину' name="B2" class='image'>

.image{
background-image:url(имя картинки);
}
если картинка не в одной папке с файлом то укажи путь к папке с этой картинкой

[поправлено модератором]

   
 
 автор: Владимир55   (31.03.2007 в 12:16)   письмо автору
 
   для: acdcee   (30.03.2007 в 22:10)
 

Кнопку я встроил, спасибо! В этой части всё нормально работает. Не удается лишь осуществить вторую часть вопроса - сделать так, чтобы от клика на кнопку button.gif становилось истинным выражение $_POST['start']; Причем без ввода какого-либо текста, а просто: есть кнопка button.gif, клик по которой делает истинной переменную $flag = $_POST['start']; .

Выше в ветке предложено несколько вариантов действий. К сожалению, они оказались неработоспособны.

   
 
 автор: Unkind   (31.03.2007 в 13:54)   письмо автору
 
   для: Владимир55   (31.03.2007 в 12:16)
 

Вам же уже несколько раз объясняли, что не $_POST['start'] надо смотреть, а $_POST['start_x'] или $_POST['start_y'].

   
 
 автор: Владимир55   (31.03.2007 в 14:24)   письмо автору
 
   для: Unkind   (31.03.2007 в 13:54)
 

Эту конструкцию я проверял (см. данную ветку 30.03.2007 в 20:12). Там есть такой нюанс, что я даже не пойму, работает ли она или нет.
Запускаю вот этот код:

<form method="POST" >
<input type="image" value="1" name="start" src="button8.gif">
</form>

<?php
if(isset($_POST['start_x']))
{
echo 
"Ввод произошел" ;
}

Все предсказуемо - на экране только кнопка.
Кличу по ней и получаю сообщение "Ввод произошел" .

Вроде все как хотелось бы.

Но если я запущу этот скрипт ещё раз (без клика!), то сообщение "Ввод произошел" уже не исчезает. Какой-то тут нюанс с глобальной переменой, которая не сбрасывается в исходное состояние после считывание. Или как?

   
 
 автор: Unkind   (31.03.2007 в 15:21)   письмо автору
 
   для: Владимир55   (31.03.2007 в 14:24)
 

Вообще-то, браузеры, например Opera, в случае обновления страницы, к которой только что обращались методом POST, посылают те же данные методом POST.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования