Hier ist mein Problem:
Ich habe eine .php-Datei in meinem WordPress, die Folgendes tut:
- mit einem Formular fragt ein NAME und an den Benutzer
- veröffentlicht die Daten auf derselben Seite (action = "")
- Wenn NAME nicht leer ist, tun Sie etwas, oder fragen Sie erneut nach dem NAME
Hier ist der Code:
function loginForm(){
echo'
<div id="loginform">
<form action="" method="post">
<p>Please enter your name to continue:</p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" />
<input type="submit" name="enter" id="enter" value="Enter" />
</form>
</div>
';
}
if(isset($_POST['enter'])){
if(isset($_POST['name']) && $_POST['name'] != ""){
//do smth
}
else{
echo '<span class="error">Please type in a name</span>';
}
}
Aber hier ist das Problem: Wenn ich klicke, ohne einen Namen einzugeben, ist es in Ordnung, es funktioniert wie erwartet: Es gibt dieselbe Seite mit einer Fehlermeldung zurück. Wenn ich jedoch einen Namen eingebe, wird "Seite nicht gefunden" zurückgegeben, und die POST-Anforderung schlägt fehl (404).
Was könnte passieren, damit so etwas passiert?
PS: Entschuldigung für mein wahrscheinlich schlechtes Englisch
2 Antworten
<input type="text" name="name" id="name" />
Dies führt zu spezifischen WordPress-Problemen. Es handelt sich um einen reservierten Feldnamen. Also ändere den Namen.
<input type="text" name="aname" id="name" />
Sollte ohne Probleme funktionieren.
In WordPress müssen Sie ein action
angeben. Das sollte funktionieren:
action="<?php echo get_permalink(); ?>
Verwandte Fragen
Neue Fragen
php
PHP ist eine weit verbreitete, übergeordnete, dynamische, objektorientierte und interpretierte Skriptsprache, die hauptsächlich für die serverseitige Webentwicklung entwickelt wurde. Wird für Fragen zur PHP-Sprache verwendet.