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!