Wie Sie ein Formular auf zwei verschiedenen Seiten, je nachdem auf die Schaltfläche geklickt wird, ohne javascript
Ich habe ein Formular mit einem Textfeld und 2 buttons, ich brauche einen von Ihnen zu senden auf der gleichen Seite sein und die anderen zu Unterwerfen, einem anderen php-Datei. Beide Tasten müssen, um die Bereiche text verwiesen werden, die per post. Wie kann ich dies tun.
Beispiel:
<form action="" method="post"> <textarea></textarea> <input type='submit' value='Preview'> //I want this to submit to the same page <input type='submit' value='Save'> //I want this to submit to save.php </form>
Hinweis: Alle meine html generiert, wird von php durch verschiedene Skripte, die sich je nach Nutzer vorherigen Aktionen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie nur vorsichtig sein, über das, was passiert, wenn der Benutzer drückt die enter-Taste, um das Formular Absenden. I. e. was submit ausgelöst werden.
mysqli_real_escape_string()
,mysql_real_escape_string()
oder noch besser PDO die prepared-statements. php.net/manual/en/pdo.prepared-statements.phpGeben Sie jedem submit-button einen Namen (e.g button1 und button2).
Senden Sie Ihr Formular zu einem einzigen php-Skript.
Auf dieses php-Skript, überprüfen Sie die $_POST-vars, um zu sehen, welche Schaltfläche geklickt wurde.
Dann entsprechend handeln, die Bearbeitung Ihrer Formular-Werte und umleiten zu welcher Seite Sie wollen, danach.
Um zu überprüfen, welcher button geklickt wurde, etwas zu tun:
elseif
?Wenn Ihr mit
CodeIgniter
es gibt bessere Möglichkeiten, dies zu tun. (ein weiterer Beitrag fürCodeIgniter
Punkte zu, dies als doppelte so dachte, ich würde hinzufügen, eine bessere Lösung fürCI
.)In meinem Fall habe ich eine Warenkorb-Formular (zum Beispiel). Auf, dass die form, die ich haben könnte-Tasten : Kasse, Warenkorb aktualisieren und löschen.
Form:
Hier ist die form, die Tasten auf der cart-form-Schirm:
Controller:
Form action verweist auf einen
controller
mit einer Methode save ("cart/save/"
).Save
einfach bestimmt, auf welche Schaltfläche geklickt wurde und leitet auf die entsprechende Warenkorb-Funktion zur Verarbeitung des Formulars.Warenkorb/speichern()
Innerhalb der Steuerung (
cart
), die ich dann einfach habenupdate()
,clear()
undcheckout()
Funktionen, die diesave()
- Methode aufruft. Es gibt keine Notwendigkeit, umleiten, via CI redirect() oder php-header-Umleitungen etc.Ich hoffe, das hilft jemand
können Sie es von der server-Seite (wie schon vor mir beantwortet), Sie können es von client-Seite als auch meine Antwort:(Sie können auch beides machen):
Tun es auf der server-Seite über eine Umleitung.
if
Anweisung auf der server-Seite zu?