web-dev-qa-db-fra.com

Appeler une fonction particulière PHP sur le formulaire de soumission

J'essayais d'appeler une fonction php particulière en soumettant un formulaire à la fois le formulaire et les scripts php sont dans la même page. Mon code est ci-dessous (il ne fonctionne pas et j'ai donc besoin d'aide)

<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>
32
Piklu Guha

Dans la ligne suivante

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

l'action doit être le nom de votre script et vous devez appeler la fonction, quelque chose comme ça

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

vous n'avez pas besoin de ce code

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

À la place, vous pouvez vérifier si le formulaire est soumis en vérifiant les variables de publication à l'aide de isset.

voici le code

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

cliquez ici pour le manuel php pour isset

8
kushalbhaktajoshi

En supposant que votre script s'appelle x.php, essayez ceci

<?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>
5
Hernan Velasquez

PHP est exécuté sur un serveur, votre navigateur est un client. Une fois que le serveur a envoyé toutes les informations au client, rien ne peut être fait sur le serveur jusqu'à ce qu'une autre demande soit faite.

Pour faire une autre demande sans actualiser la page, vous allez devoir regarder ajax. Regardez dans jQuery car cela facilite les requêtes en ajax

1
Kris

Écrire ce code

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

Si vous souhaitez appeler une fonction en cliquant sur le bouton d'envoi, vous devez
pour utiliser ajax ou jquery, si vous souhaitez appeler votre fonction php après la soumission du formulaire, vous pouvez le faire en tant que:

<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>
0
Tarun