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