#php #forms #post
#php #формы #Публикация
Вопрос:
После того, как я добавлю кнопку и текстовое поле, как я могу запрограммировать эту кнопку, чтобы она просто брала то, что находится в текстовом поле, и помещала это в переменную? Я понятия не имею, как работает событие нажатия кнопки.
<form id="form1" name="form1" method="post" action="">
<label>
<input type="submit" name="Searchbydistro" id="Searchbydistro" value="Submit" onclick="xxxxxxxxx " />
</label>
<label>
<input type="text" name="txtboxsearchbydistro" id="txtboxsearchbydistro" />
</label>
</form>
Могу ли я поместить оператор PHP в пространство, где находится xxxxxxxx
?
Любая помощь была бы отличной!
Комментарии:
1. Это был бы JavaScript, а не PHP. PHP будет обрабатывать данные формы, если вы разрешите кнопке отправки перезагрузить страницу. Событие onclick будет обрабатываться функциями JavaScript.
Ответ №1:
Вы не можете выполнить PHP-код в операторах onclick(), потому что PHP выполняется на сервере до отправки страницы в браузер, а функция onclick() выполняется в браузере.
Решением было бы (предполагая, что эта страница form.php ) установите действие формы для «form.php » и на этой странице есть
if(isset($_POST)){
$variable = $_POST['txtboxsearchbydistro'];
// Here you can run validation on $variable, sanitize it and pass it to a DB query
}
Комментарии:
1. Очевидно, что это только пример… Передача переменной $ в вашу базу данных может нанести большой ущерб при внедрении SQL. Тем не менее, это отличное начало.
2. Абсолютно, согласен. Для простоты я удалил это, однако я просто отредактировал строку комментария, чтобы отразить надлежащую процедуру
Ответ №2:
Нет, php на стороне сервера, а onClick — событие на стороне клиента.
Я не совсем уверен, чего вы пытаетесь достичь. Если вы хотите отправить свое значение txtboxsearchbydistro какому-либо PHP-скрипту, вы бы указали что-то вроде этого:
<form id="form1" name="form1" method="post" action="somePhpScript.php">
Тогда вы бы использовали что-то вроде того, что предложил Бобби.
Если вы хотите что-то сделать перед фактической отправкой формы, или вы хотите что-то сделать на стороне клиента (т. Е. в браузере посетителя), вам нужно будет сделать что-то вроде
<input type="submit" name="Searchbydistro" id="Searchbydistro" value="Submit" onclick="myScript();" />
Затем вам может потребоваться определить свой скрипт и присвоить ему свое значение.
Надеюсь, это поможет.
Комментарии:
1. Спасибо! Я начинаю разбираться в этом бизнесе на стороне клиента и сервера!