Maison >développement back-end >tutoriel php >Comment créer des formulaires à soumission automatique en PHP ?

Comment créer des formulaires à soumission automatique en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 03:26:30577parcourir

How to Create Self-Submitting Forms in PHP?

Création de formulaires PHP à soumission automatique

Dans le développement Web, il peut être nécessaire de créer des formulaires qui se soumettent des données. Ce type de formulaire est connu sous le nom de formulaire d'auto-publication ou d'auto-soumission.

Solution

Il existe deux méthodes principales pour créer des formulaires d'auto-soumission en PHP :

1. Utilisation de $_SERVER["PHP_SELF"]

Cette approche est recommandée à la fois pour des raisons de sécurité et d'accessibilité. Voici comment procéder :

<code class="php"><form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
    ... (form fields) ...
    <input type="submit" value="Submit">
</form></code>

Dans ce code, htmlspecialchars() est utilisé pour empêcher les exploits potentiels.

2. Omettre l'attribut d'action

Bien que non conforme au W3C, l'omission de l'attribut d'action peut également permettre l'auto-soumission. Les navigateurs se soumettent généralement par défaut au formulaire si l'attribut d'action est vide.

<code class="php"><form method="post">
    ... (form fields) ...
    <input type="submit" value="Submit">
</form></code>

Exemple

Voici un exemple de formulaire à soumission automatique qui collecte un nom et email de l'utilisateur :

<code class="php"><?php
if (!empty($_POST)) {
    echo "Welcome, " . htmlspecialchars($_POST["name"]) . "!<br>";
    echo "Your email is " . htmlspecialchars($_POST["email"]) . ".<br>";
} else {
    ?>
    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
        Name: <input type="text" name="name"><br>
        Email: <input type="text" name="email"><br>
        <input type="submit" value="Submit">
    </form>
    <?php
}
?></code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn