0
votes

Impossible d'obtenir la valeur du formulaire PHP en cliquant sur "Soumettre"

Je suis nouveau à PHP et tente de créer un formulaire simple à l'aide de HTML et de PHP. J'utilise Apache Netbeans avec XAMPP pour exécuter le fichier PHP sur Google Chrome. Voici le code:

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <h1>An example website</h1>
        <p>This is an example website to test HTML & PHP</p>
        <form action="myform.php" method="post">
            Name: <input type="text" name="name"><br>
            <input type="submit" name="formSubmit" value="Submit">
        </form>a
        <?php
        if($_POST['formSubmit'] == "Submit") {
            echo $_POST['name'];
        }                 
        ?>
    </body>
</html>


0 commentaires

4 Réponses :


1
votes

Première fois que le script est exécuté, le formulaire n'a pas été soumis. Donc, il existe différentes manières de vérifier que le script PHP fonctionne à la suite d'une soumission, il s'agit d'un xxx

La seconde erreur peut être provoquée car vous essayez d'exécuter un autre script à l'aide de un action = "myform.php"

est le script que vous nous montrez appelé myform.php sinon vous pouvez laisser tha t param Ceci xxx

et ce script sera exécuté pour traiter les données de formulaire


0 commentaires

-1
votes

C'est parce que vous avez défini votre formulaire action sur MyForm.php, mais il n'existe pas de page MyForm.php

Définissez votre formulaire d'action sur vide si vous souhaitez imprimer le nom sur la même page

et remplacez votre code PHP par ce xxx


0 commentaires

2
votes

Vous avez quelques problèmes différents ici ...

Tout d'abord, sur le "avis" que vous obtenez pour la variable n'est pas défini - ceci est parce que vous essayez de vérifier la valeur de la variable de poste avant tout ce qui a été affiché à la page. p>

Vous pouvez surmonter cela en vérifiant si la valeur est définie en premier comme suit: p> xxx pré>

Vous obtenez le message d'erreur ci-dessus parce que e_notitice est activé - voir Rapport d'erreur pour plus de Les documents PHP P>

Deuxièmement, votre formulaire pointe vers une page qui n'existe pas. Il semble que votre formulaire et la pièce qui vérifie la valeur postale est sur index.php code> mais votre formulaire pointe vers myform.php code>. P>

Vous avez besoin Pour mettre à jour votre à pointer sur index.php code> à la place p> xxx pré>

pour le mettre tous ensemble: P >

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <h1>An example website</h1>
        <p>This is an example website to test HTML & PHP</p>
        <form action="index.php" method="post">
            Name: <input type="text" name="name"><br>
            <input type="submit" name="formSubmit" value="Submit">
        </form>a
        <?php
        if(isset($_POST['formSubmit']) && $_POST['formSubmit'] == "Submit") {
            echo $_POST['name'];
        }                 
        ?>
    </body>
</html>


1 commentaires

Donc, votre réponse combinée avec @ Riggsfolly m'a tous deux aidé à résoudre le problème et j'accepterais volontiers les deux. J'accepte le vôtre à cause de l'explication détaillée qui m'a aidé à comprendre pourquoi mon code s'est trompé. Merci à la fois pour les réponses rapides de la foudre!



0
votes

Si vous souhaitez soumettre des données sur la même page, vous pouvez utiliser

    <form method="post" action="<?=$_SERVER['PHP_SELF'];?>">





0 commentaires