Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich selbsteinreichende Formulare in PHP?

Wie erstelle ich selbsteinreichende Formulare in PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 03:26:30538Durchsuche

How to Create Self-Submitting Forms in PHP?

Selbst einreichende PHP-Formulare erstellen

Bei der Webentwicklung kann es notwendig sein, Formulare zu erstellen, die Daten an sich selbst übermitteln. Diese Art von Formular wird als selbstveröffentlichendes oder selbsteinreichendes Formular bezeichnet.

Lösung

Es gibt zwei Hauptmethoden, um selbsteinreichende Formulare in PHP zu erstellen:

1. Verwendung von $_SERVER["PHP_SELF"]

Dieser Ansatz wird sowohl aus Gründen der Sicherheit als auch der Zugänglichkeit empfohlen. So geht's:

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

In diesem Code wird htmlspecialchars() verwendet, um potenzielle Exploits zu verhindern.

2. Weglassen des Aktionsattributs

Obwohl es nicht W3C-konform ist, kann das Weglassen des Aktionsattributs auch zur Selbstunterwerfung führen. Browser senden das Formular normalerweise standardmäßig an sich selbst, wenn das Aktionsattribut leer ist.

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

Beispiel

Hier ist ein Beispiel für ein selbstübermittelndes Formular, das a sammelt Name und E-Mail des Benutzers:

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

Das obige ist der detaillierte Inhalt vonWie erstelle ich selbsteinreichende Formulare in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn