Подтвердить что ты не робот

Вызов конкретной функции PHP в форме submit

Я пытался вызвать определенную функцию 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>
4b9b3361

Ответ 1

В следующей строке

<form method="post" action="display()">

действие должно быть именем вашего script, и вы должны вызвать функцию, что-то вроде этого

<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();
} 
?>

Ответ 2

вам не нужен этот код

<?php
function display()
{
echo "hello".$_POST["studentname"];
}
?>

Вместо этого вы можете проверить, отправляется ли форма, проверяя почтовые переменные с помощью isset.

здесь идет код

if(isset($_POST)){
echo "hello ".$_POST['studentname'];
}

нажмите здесь для руководства php для isset

Ответ 3

Предполагая, что ваш script имеет имя 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>

Ответ 4

PHP запускается на сервере, ваш браузер - клиент. Как только сервер отправит всю информацию клиенту, на сервере ничего не будет сделано, пока не будет сделан другой запрос.

Чтобы сделать другой запрос без обновления страницы, вам придется заглянуть в ajax. Посмотрите на jQuery, поскольку он упрощает запросы ajax

Ответ 5

Если вы хотите вызвать функцию при нажатии кнопки отправки, то у вас есть использовать 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>

Ответ 6

Введите этот код

<?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>