Я пытался вызвать определенную функцию php при отправке формы, и скрипты формы и php находятся на одной странице. Мой код ниже. (Он не работает, поэтому мне нужна помощь)
<html> <body> <form method="post" action="display()"> <input type="text" name="studentname"> <input type="submit" value="click"> </form> <?php function display() { echo "hello".$_POST["studentname"]; } ?> </body> </html>
В следующей строке
<form method="post" action="display()">
действие должно быть именем вашего скрипта, и вы должны вызвать функцию, что-то вроде этого
<form method="post" action="yourFileName.php"> <input type="text" name="studentname"> <input type="submit" value="click" name="submit"> <!-- assign a name for the button --> </form> <?php function display() { echo "hello ".$_POST["studentname"]; } if(isset($_POST['submit'])) { display(); } ?>
вам не нужен этот код
<?php function display() { echo "hello".$_POST["studentname"]; } ?>
Вместо этого вы можете проверить, отправляется ли форма, проверяя переменные post с помощью isset
.
здесь идет код
if(isset($_POST)){ echo "hello ".$_POST['studentname']; }
нажмите здесь, чтобы получить руководство по php для isset
Предполагая, что ваш скрипт называется x.php, попробуйте это
<?php function display($s) { echo $s; } ?> <html> <body> <form method="post" action="x.php"> <input type="text" name="studentname"> <input type="submit" value="click"> </form> <?php if($_SERVER['REQUEST_METHOD']=='POST') { display(); } ?> </body> </html>
PHP запускается на сервере, ваш браузер – клиент. Как только сервер отправляет всю информацию клиенту, на сервере не может быть сделано ничего, пока не будет сделан другой запрос.
Чтобы сделать другой запрос, не обновляя страницу, вам придется заглянуть в ajax. Посмотрите на jQuery, поскольку он упрощает запросы ajax
Если вы хотите вызвать функцию при нажатии кнопки отправки, то у вас есть
для использования ajax или jquery, если вы хотите вызвать свою php-функцию после отправки формы, вы можете сделать это как:
<html> <body> <form method="post" action="display()"> <input type="text" name="studentname"> <input type="submit" value="click"> </form> <?php function display() { echo "hello".$_POST["studentname"]; } if($_SERVER['REQUEST_METHOD']=='POST') { display(); } ?> </body> </html>
Напишите этот код
<?php if(isset($_POST['submit'])){ echo 'Hello World'; } ?> <html> <body> <form method="post"> <input type="text" name="studentname"> <input type="submit" name="submit" value="click"> </form> </body> </html>