[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Своя кнопка с проверкой данных. Это возможно?
kashket
Хочу поменять input на свою кнопку в форме заказа. Вставить ее в форму не проблема, а вот как поставить так, чтобы она проверяла данные, введенные в форму, т.е. работала как input?
Пробовал разные варианты, не получается.
Даю часть скрипта, которая отвечает за проверку:
if ($submit) {
if(empty($name)) $bad = "<p>Веедите Ваше имя</p>";
if (trim($email)!=''){
if(!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $email))
$bad .= "<p>E-mail ?Неправильно введен или содержит недопустимые символы</p>";
}
if(empty($message)) $bad .= "<p>Введите текст сообщения</p>";
if ($bad) {
echo $bad;
?>
<a href="javascript:history.back(1)">Назад</a>
<?

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



Спустя 13 минут, 7 секунд (25.01.2012 - 01:01) Winston написал(а):
Цитата (kashket @ 24.01.2012 - 23:48)
Хочу поменять input на свою кнопку в форме заказа

http://htmlbook.ru/html/input/type
Тип кнопки - image

Спустя 10 минут, 25 секунд (25.01.2012 - 01:11) kashket написал(а):
Нет, это не то. Я это уже проходил. В данной конструкции кнопка не проверяет данные, а после заполнения формы и нажатия на кнопку данные не доходят до ящике.

Спустя 37 минут, 33 секунды (25.01.2012 - 01:49) inpost написал(а):
kashket
Что значит "не проверяет данные"? Тебе надо отправить запрос? Отправляй ею. Проверку делай уже не на нажатие кнопки, потому что она не те данные передаёт, а уже на сами данные.

Спустя 36 минут, 32 секунды (25.01.2012 - 02:25) kashket написал(а):
Это форма заказа с обяз. поляим. Все работает нормально.
Но я поставил свою кнопку и ничего нет - ни отправки, ни проверки.
Вот ссылка на форму: http://yk-tour.crimea.ua/sendzakaz.php
Могу прислать веськод, чтобы ты посмотрел. На какой адрес?

Спустя 1 минута, 24 секунды (25.01.2012 - 02:27) inpost написал(а):
kashket
У тебя проверка идёт на нажатие кнопки, а ты поменяй проверку, и поставь на передачу именно ДАННЫХ полей, а не кнопки.

Спустя 4 минуты, 11 секунд (25.01.2012 - 02:31) kashket написал(а):
В том-то и дело, если бы я знал как.

Спустя 1 минута, 26 секунд (25.01.2012 - 02:32) inpost написал(а):
То есть, что именно из того, что я написал - тебе не понятно?
И кто из нас написал проверку: if($submit) ?

Спустя 15 минут, 1 секунда (25.01.2012 - 02:47) m4a1fox написал(а):
Код в студию

Спустя 16 минут, 8 секунд (25.01.2012 - 03:03) kashket написал(а):
Цитата (inpost @ 24.01.2012 - 23:27)
kashket
У тебя проверка идёт на нажатие кнопки, а ты поменяй проверку, и поставь на передачу именно ДАННЫХ полей, а не кнопки.
И кто из нас написал проверку: if($submit) ?

Это мне как раз понятно.
Я никак не врублюсь, как мне лучше это прописать.

Спустя 47 секунд (25.01.2012 - 03:04) m4a1fox написал(а):
Код в студию!

Спустя 1 минута, 51 секунда (25.01.2012 - 03:06) kashket написал(а):
Цитата (m4a1fox @ 25.01.2012 - 00:04)
Код в студию!

Довай лучше на мыло.
Какой адрес?
Или в личку.

Спустя 1 минута, 53 секунды (25.01.2012 - 03:08) inpost написал(а):
m4a1fox
Да код же сверху.
Он ставит IMG, и вместо $_POST['submit'] кнопка отправляет $_POST['submit']['x'] и $_POST['submit']['y'];
А я говорю, что проверку на существование (которое итак сделано неверно, но по Попову, кажется) надо ставить не на $_POST['submit'], а на данные, которые передаёт форма. Она то передаёт: name,email,message. Из кода видно. Тогда то и будет работать вместо submit -> type="image"

Спустя 4 минуты, 19 секунд (25.01.2012 - 03:12) m4a1fox написал(а):
inpost
Цитата
Да код же сверху.

Да я HTML глянуть хотел... Что в php all wrong это и ежу понятно.... А вот HTML ну малоли..

kashket
Цитата

Довай лучше на мыло.
Какой адрес?
Или в личку.

Не надо присылать ничего... Тут переписать все проще...

Спустя 9 минут, 36 секунд (25.01.2012 - 03:22) kashket написал(а):
Дело в том, что у меня сейчас так и прописано.Но не работает.
Я вчера пробовал такой вариант: "form action= отдельный файл обработчик" и сделал ссылку на кнопку. Вроде заработало, но как-то хреново, а капча вообще не проверялась.
Вообщем, запутался окончательно.

Спустя 4 минуты, 28 секунд (25.01.2012 - 03:26) kashket написал(а):
Цитата (m4a1fox @ 25.01.2012 - 00:12)
inpost
Да код же сверху.
Да я HTML глянуть хотел... Что в php all wrong это и ежу понятно.... А вот HTML ну малоли..


<form action="<? echo $PHP_SELF?>" method=POST>
<table
width=100%>
<tr>
<td
align="left">Имя*: </td>
<td
align="left"><input type=text name=name size=25></td>
</tr>
<tr>
<td
align="left">Ваш телефон: </td>
<td
align="left"><input type=text name=phone size=25></td>
</tr>
<tr>
<td
align="left">Ваше имяe-mail: </td>
<td
align="left"><input type=text name=email size=25></td>
</tr>
<tr>
<td
align="left">Текст сообщения*: </td>
<td
align="left"><textarea cols=40 rows=3 name=message></textarea></td>
</tr>
</table>
<input
name="submit" type=submit value="Отправить">
</form>

Спустя 3 минуты, 58 секунд (25.01.2012 - 03:30) inpost написал(а):
"PHP для знатоков: Здесь разбираются скрипты пользователей, понимающих о чем они спрашивают"
Это так, для раздумий.

Мне кажется, что ты издеваешься. Я уже сказал, как тебе исправить 100 раз. Я так же задал вопрос, и m4a1fox тоже сказал кое-что. Кроме ответа: "я вообще не понимаю, что я написал" - не увидел.

Код хоть твой? Ну я понимаю, что он плохой, неправильный, но он хоть ТВОЙ? Ты не можешь ответить, зачем ты написал обычное условие. Я тебя уже тыкнул в место, где у тебя неправильно...

В начале скрипта для теста напиши:
echo '<pre>'.print_r($_POST).'</pre>';

И посмотри, какие переменные у тебя есть, и почему проверка на if($submit) не проходит. Просто такой переменной НЕТ, image её не передаёт!

Спустя 59 секунд (25.01.2012 - 03:31) inpost написал(а):
kashket
Зачем ты даёшь этот код? Мы разбираем код, в котором IMAGE не работает. и я пишу с большой буквы не потому, что надо писать с большой, ведь надо с маленькой, а чтобы ты видел основную суть!

Спустя 11 часов, 8 минут, 46 секунд (25.01.2012 - 14:40) Winston написал(а):
Цитата (inpost @ 25.01.2012 - 02:08)
Он ставит IMG, и вместо $_POST['submit'] кнопка отправляет $_POST['submit']['x'] и $_POST['submit']['y'];

Нет. Она отправляет $_POST['submit_x'] и $_POST['submit_y'] - координаты нажатия на кнопку.

Спустя 5 минут, 47 секунд (25.01.2012 - 14:46) inpost написал(а):
Winston
Ну да, чуток по другому лишь записал smile.gif
Быстрый ответ:

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