[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: отправка данных формы через input type="image"
biz87
на сервер не отправляются данные методом POST через input type="image", если type заменить на submit, отправка данных без проблем работает, скрипт выполняется (поиск по базе), но кнопка получается стандартная, а мне бы желательно использовать ту, которая задумана дизайном сайта.
Вопрос: как совместить картинку кнопки с корректной отправкой данных на сервер.
PS работаю на последнем денвере



Спустя 3 часа, 22 минуты, 31 секунда (22.07.2011 - 20:58) DySprozin написал(а):
biz87
попробуй простейший код:
<form method="post">
<
input type="text" name="text">
<
input type="image" src="test.jpg">
</
form>
<?php
if(!empty($_POST)) echo $_POST['text'];

все равно не работает?

Спустя 19 минут, 57 секунд (22.07.2011 - 21:18) biz87 написал(а):
нет все равно не работает.
для примера привожу код скрипта
 <!-- Search -->
<
div id="search" class="noprint">
<
form action="view_search.php" method="POST" name="form_s">

<
legend>Поиск</legend>
<
label><span class="noscreen">Найти:</span> <span id="search-input-out">
<
input name="search" type="text" name="search" id="search-input" size="30" >
</
span></label>
<
input type="submit" src="design/search_submit.gif" id="search-submit"
name="submit_s" value="OK" >
</
form>
</
div>
<!-- /
search -->

Если вместо submit написать тип image то все работает, но картинка стандартная.

Спустя 14 минут, 55 секунд (22.07.2011 - 21:32) twin написал(а):
$_POST['submit_s_х']
помоему так. или икс спереди - не помню.

Спустя 10 минут, 8 секунд (22.07.2011 - 21:43) biz87 написал(а):
Цитата (twin @ 22.07.2011 - 18:32)
$_POST['submit_s_х']

помоему так. или икс спереди - не помню.

и что мне с этим делать? Я забыл сказать, я только несколько дней как узнал что такое PHP.

Спустя 5 минут (22.07.2011 - 21:48) inpost написал(а):
biz87
Смотри, ты в скрипт передаёшь лишь 1 параметр, $_POST['text'], вот его наличие и проверяй, if(isset($_POST['text'])) - если есть текст, то осуществлять поиск по этому тексту.
Нажатие на кнопку хорошо, но если простая форма, то лови передаваемый аргумент, или же лучше уж на CSS оформить стили для type="submit", тогда кнопка будет передавать так параметры, как тебе надо.

Спустя 4 минуты, 43 секунды (22.07.2011 - 21:52) Winston написал(а):
Цитата (biz87 @ 22.07.2011 - 21:43)
я только несколько дней как узнал что такое PHP

А, что такое PHP ?
1 - People Helping People
2 - Personal Home Page
3 - Personal Hypertext Processor
А? smile.gif

Спустя 7 минут, 40 секунд (22.07.2011 - 22:00) biz87 написал(а):
Цитата (PHPprogrammer @ 22.07.2011 - 18:52)
Цитата (biz87 @ 22.07.2011 - 21:43)
я только несколько дней как узнал что такое PHP

А, что такое PHP ?
1 - People Helping People
2 - Personal Home Page
3 - Personal Hypertext Processor
А? smile.gif

Ну ладно ладно уж. Я то знаю что Php это...
короче...
ну....
Ну вы поняли.

Спустя 4 минуты, 23 секунды (22.07.2011 - 22:04) biz87 написал(а):
Цитата (inpost @ 22.07.2011 - 18:48)
biz87
Смотри, ты в скрипт передаёшь лишь 1 параметр, $_POST['text'], вот его наличие и проверяй, if(isset($_POST['text'])) - если есть текст, то осуществлять поиск по этому тексту.
Нажатие на кнопку хорошо, но если простая форма, то лови передаваемый аргумент, или же лучше уж на CSS оформить стили для type="submit", тогда кнопка будет передавать так параметры, как тебе надо.

Вот за это спасибо, я понял мысль. Единственное убрав несколько строк на проверку кнопки я получил ошибку
Parse error: syntax error, unexpected T_ELSE in ***\view_search.php on line 10

подскажите что не так? и что означает ошибка?
вот код
 <?php include ("blocks/db.php");
if (isset($_POST['search'])) {$search = $_POST['search'];}

{

if (empty($search) or strlen($search) < 4)
{exit ("<p>Поисковый запрос не введен, либо он менее 4 символов.</p>" );}

}


else
{

exit ("<p>Вы обратились к файлу без необходимых параметров.</p>");
$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);
}

?>

Спустя 2 минуты, 32 секунды (22.07.2011 - 22:07) inpost написал(а):
У тебя снова лишние скобки:
if(условие) {действие}
{ - а это что такое?


Спустя 1 минута, 47 секунд (22.07.2011 - 22:09) Winston написал(а):
biz87
Стиль кодирования пора уже вырабатывать.
<?php
include ("blocks/db.php");
if(isset($_POST['search']))
$search = $_POST['search'];

if (empty($search) or strlen($search) < 4)
exit ("<p>Поисковый запрос не введен, либо он менее 4 символов.</p>" );

else
{
$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);
exit ("<p>Вы обратились к файлу без необходимых параметров.</p>");
}
?>

Спустя 2 минуты, 7 секунд (22.07.2011 - 22:11) biz87 написал(а):
Цитата (inpost @ 22.07.2011 - 19:07)
У тебя снова лишние скобки:
if(условие) {действие}
{ - а это что такое?

Вроде все скобки парные. После какой строчки лишнее?

Спустя 2 минуты, 18 секунд (22.07.2011 - 22:13) inpost написал(а):
я указал скобку, которая лишняя, нельзя писать
if() {} {}!
Есть if() {}
и есть: if() {} else {}

Спустя 8 минут, 57 секунд (22.07.2011 - 22:22) biz87 написал(а):
Цитата (inpost @ 22.07.2011 - 19:13)
я указал скобку, которая лишняя, нельзя писать
if() {} {}!
Есть if() {}
и есть: if() {} else {}

Вот так правильно?
 <?php include ("blocks/db.php");
if (isset($_POST['search'])) {$search = $_POST['search'];}
if (empty($search) or strlen($search) < 4)
{exit ("<p>Поисковый запрос не введен, либо он менее 4 символов.</p>" );}
else
{
exit ("<p>Вы обратились к файлу без необходимых параметров.</p>");
$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);
}
?>

Спустя 5 минут, 29 секунд (22.07.2011 - 22:27) DeeKeiD написал(а):

if(...)
{

}

elseif(...)
{

}

else
{

}


Спустя 44 секунды (22.07.2011 - 22:28) Winston написал(а):
Цитата (biz87 @ 22.07.2011 - 22:22)
if (isset($_POST['search'])) {$search = $_POST['search'];}


Это лучше заменить на это

$search = !empty($_POST['search'])) ? $_POST['search'] : NULL;


А это
Цитата (biz87 @ 22.07.2011 - 22:22)
if (empty($search) or strlen($search) < 4)

Так
if (!$search || strlen($search) < 4)

Цитата (biz87 @ 22.07.2011 - 22:22)
else
{
  exit ("<p>Вы обратились к файлу без необходимых параметров.</p>");
$search = trim($search);
  $search = stripslashes($search);
  $search = htmlspecialchars($search);
}

Этот код, до одного места... ты останавливаешь скрипт, а потом производишь манипуляции с переменными, какой смысл? Ведь обработаны они уже не будут!"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.