ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
9093
9093
EMPFEHLEN
-
In meinem PHP Script für mein Formular brauche ich den Befehl
if($submit)...
Ich finde jedoch den submitt button beim Formular sehr hässlich und würde den gerne durch text ersetzen. In JavaScript gibt es ja eine Methode, doch bei mir erkennt das PHP Script diesen JavaScript Befehl nicht als Submitt.
Gibt es da in PHP eine Lösung oder sonst irgend eine Art dieses Problem zu lösen?
Vielen Dank schon mal
Gruss Jonas
-
24.10.04 14:37 #2
- Registriert seit
- Jul 2003
- Ort
- Gronau, Nordrhein-Westfalen, Germany, Germany
- Beiträge
- 634
Per Get villeicht...
PHP-Code:<?
if ($_REQUEST['submit'] == 1) {
//...
}
?>
<form name="form" action="<?=$_SERVER['PHP_SELF']?>?submit=1" method="POST">
<a href="javascript:document.form.submit()">Text</a>
</form>
-
24.10.04 14:37 #3
Wie wär's denn mit einem Hidden-Field?
Code :1
<input type="hidden" name="submit" value="foo">
Operator_Jon: Ein Formular per GET übermitteln ist in den seltensten Fällen sinnvoll, da eine URL auf eine bestimmte Zeichenlänge beschränkt ist.<Florian> Ihr seit alles so Real Life Ruler, oder?
<SirRobin> Lineale?
-
Oder vielleicht per CSS. Da kannst du ihn ja so aussehen lassen wie Text...
-
Vielen Dank für die schnellen Antworten.
Mit einem hidden button sollte es eigentlich gehen. Dumm dass ich nicht selber darauf gekommen bin, mal schaun.
Mit css hab ich's schon versucht. Geht aber leider nicht in jedem Browser und darum leider keine gute Lösung.
Danke
Gruss Jonas
-
Hallo zusammen
Ich habe schon alles ausprobiert, geht leider nichts, SCH*****!
Kann mir jemand weiter helfen? Gibt es vielleicht eine Möglichkeit anstatt ein submitt button eine Grafik zu laden?
Vielen Dank
Gruss Jonas
-
25.10.04 18:46 #7
- Registriert seit
- Jul 2003
- Ort
- Gronau, Nordrhein-Westfalen, Germany, Germany
- Beiträge
- 634
Meine Methode funktioniert zu 100%...
Grafik musst du statt
einfach einCode :1
<input type="submit"...>
nehmen!Code :1
<input type="image"...>
Also nochmal zum Mitschreiben:
Lösung mit einem Bild als Submit-Button
Lösung mit einem Hiddenfeld:PHP-Code:<html>
<head>
<title>Test</title>
</head>
<body>
<?
if ($_REQUEST['submit']) {
//Aktion...
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<input type="image" name="submit" src="...">
</form>
</body>
</html>
Lösung mit Get-ParameterPHP-Code:<html>
<head>
<title>Test</title>
</head>
<body>
<?
if ($_REQUEST['submit']) {
//Aktion...
}
?>
<form name="form" action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<input type="hidden" name="submit" value="foo"><br>
<a href="javascript:document.form.submit()">Text</a>
</form>
</body>
</html>
Du siehst:PHP-Code:<html>
<head>
<title>Test</title>
</head>
<body>
<?
if ($_REQUEST['submit']) {
//Aktion...
}
?>
<form name="form" action="<?=$_SERVER['PHP_SELF']?>?submit=1" method="POST">
<a href="javascript:document.form.submit()">Text</a>
</form>
</body>
</html>
Ganz einfach das Ganze
Geändert von Operator_Jon (25.10.04 um 18:51 Uhr)
-
Dankeschön
Ich versuche es dann mal mit der Grafik Variante. Die GET Methode hatte nicht funktioniert, obwohl sie eigentlich logisch wäre. Tja.
-
Also mit dem Hidden-Field muss es funktionieren. Das Hidden-Field ist ja quasi nichts anderes als ein weiteres Formular-Element, was beim abschicken in das globale $_POST-Array geschrieben wird. Und genau das passiert ja mit einem Button auch so.
Zitat von webdesign
Die Methode per GET würde ich auf keinen Fall wählen. Da der Parameter, der festlegt, ob das Formular abgesendet wurde oder nicht, in diesem Fall per URL übergeben wird. Das ganze lässt sich dann ganz einfach ungehen, in dem manuell in der URL den Parameter übergeben wird. Somit ist die Abfrage eigentlich sinnlos.
Außerdem: Warum muss eigentlich das Formular und die Formular-Logik (sprich: das Script auf welches das Formular postet) in ein und der selben Datei liegen? Mach doch einfach einmal ein normales HTML-Formular wo Du als Ziel-URL ein PHP-Script angibst, was die Daten aus dem Formular verarbeitet.
Nur mal so als Hinweis/Anregung ...
You want me to be, something I can never ever be!
-
Hallo Chino
Danke für deine Antwort.
Ich weiss auch nicht, wieso das mit dem hidden feld nicht funktioniert, hatte einfach noch keine Zeit dies ausführlich zu testen. Es musste jetzt einfach sehr schnell dieses Formular aufs Netz, darum habe ich nun mal kurzfristig die einfachste Variante genommen. Ich habe bewusst alles in eine Datei gepackt und keine externe Datei zum ausführen des Formulars gewählt. Ich möchte die Fehlerausgabe direkt beim Formular haben und finde es einfach nicht schön bei der externen Datei als Fehlermeldung das ganze Formular per echo noch einmal auszugeben.
Trotzdem, vielen Dank für deine Antwort. Ich werde es später noch einmal mit dem Hidden Feld versuchen.
Gruss Jonas
-
Das brauchst Du auch nicht. In der HTML-Datei, die das Formular enthält, prüfst Du ob (sofern vorhande) Pflichtfelder ausgefüllt sind. Willst Du die Daten noch genauer prüfen (z.b. E-Mail Adresse, PLZ oder andere Daten) prüfst Du diese natürlich auch auf Richtigkeit.
Zitat von webdesign
Hat der User alles richtig ausgefüllt, schickst Du das Formular (an eine externe Datei) ab. Und nicht vorher. Im PHP-Script, was den Datenbank-Eintrag o.ä. vornimmt, kannst Du aus Sicherheit nochmal die Daten prüfen, ob Sie generell ausgefüllt sind.
Warum zweimal prüfen? Ganz einfach: Der User sieht BEVOR
er das Formular abschicken will, ob er eventuell Eingaben vergessen hat oder eingaben falsch angegeben hat (zu kurze PLZ, E-Mail Adresse ist falsch usw) und nicht erst nachdem er das Formular bereits abgeschickt hat. Stichwort: Usability
Natürlich kannst Du die Prüfung im Script auch weglassen, aber sicher ist nunmal sicher. So vermeidest Du mögliche Leereinträge in der Datenbank oder andere dadurch resultierende Fehler. Für denn Fall, dass Du im Script prüfst und trotz der JavaScript-Prüfung einen Fehler feststellst, gibst Du einfach eine entsprechende Fehlermeldung aus, die zusätzlich noch einen "Zurück"-Link enthält. Leitest Du mittels JavaScript auf die vorige Formularseite, sind auch alle eingebenen Werte vom User noch im Formular enthalten (außer als Passwort deklarierte Felder).
Nur fürs nächste mal ;o)You want me to be, something I can never ever be!
-
Hallo Zusammen
Ich weiss auch nicht was ich falsch mache, aber bei mir funktioniert einfach nur die Methode mit dem normalen Button. Das mit dem Bild oder mit dem Hidden Feld geht leider auch nicht. Ich weiss nicht genau an was es liegt, aber ich denke, dass es daran liegen muss, dass beim Javascript Befehle:javascript:document.form.submit()
die Formulardaten nicht übergeben werden, denn wenn sie übergeben geworden wären, dann hätte auch meine Fehlerabfrage funktionieren müssen.
Ich versuche es mal, wenn ich das hidden Feld anders benenne, vielleicht geht es dann.
"Das Problem ist: Wenn ich die Fehlerabfrage im gleichen Script mache, muss ich ein
if ($submit) benutzen. Wenn ich diese jedoch in einem externen Script mache, brauche ich das nicht. Da ich aber bei einer falschen Eingabe die Fehlerausgabe per Variable welche sich verändert beim Formular selbst anzeigen möchte, muss ich die Abfrage in der gleichen Datei machen, da ich nicht weiss wie man in einer externen PHP Datei eine Variable in einer anderen Datei ändern kann. Oder könnt ihr mir dabei helfen?
Konkret geht es darum:
Ich habe ein Formular, ganz einfach, wo man nur die E-Mail Adresse eingeben kann. Wenn die E-Mail Adresse falsch oder nicht eingegeben wurde und das Formular trotzdem abgeschickt wurde, möchte ich, dass sich ein Pop Up Fenster öffnet in welchem die Fehlerausgabe kommt. Ich habe das Problem so gelöst, dass ich im body-tag eine PHP- Variable eingesetzt habe: <? echo("$onload")?>, welche ich am Anfang auf null setze. Wenn jetzt beim Formular auf submit gedrückt wurde, prüfe ich ob die Daten richtig eingegeben wurden. Wenn die Daten falsch sind, dann gebe ich der Variable folgenden Wert: $onload='onload="error()"';
Wenn alle Daten richtig sind, sende ich die Daten per email an eine mailadresse und übergebe folgenden Wert der Variable: $onload='onload="danke()"';
Irgendwie funktioniert diese Art bei mir nur mit einem Submitt Button. Mit einem Hidden Feld geht es irgendwie auch nicht, obwohl es theoretisch gehen müsste. Ich frage mich langsam, ob es denn wirklich nur mit einem Button geht, oder ob mich mein Browser einfach verarscht
So, ich hoffe, dass ich mein Problem gut geschildert habe und hoffe, dass ihr mir helfen könnt.
Gruss JonasGeändert von webdesign (29.10.04 um 14:01 Uhr)
-
Judihuiiiiiiiiiiiiii
Es geht!
Es lag daran,dass ich das Hidden Feld unbennen musste. Irgendwie gab es Probleme damit, dass ich das hidden Feld submit nannte. Ich habe es jetzt absenden genannt und es funktioniert tadellos.
Tja, was so kleine Veränderungen bewirken können, einfach genial
Vielen Dank an alle, ihr habt mir sehr viel weitergeholfen.
Ähnliche Themen
-
PHP Variablen eines Skripts an ein anderes übergeben ohne Formular oder Submit Button
Von Maks im Forum PHPAntworten: 6Letzter Beitrag: 09.11.10, 23:50 -
Formular mit 2 x submit button
Von uwej72 im Forum HTML-EditorenAntworten: 1Letzter Beitrag: 03.11.10, 13:35 -
Formular Problem mit 2 Submit Button
Von Giovanni im Forum PHPAntworten: 12Letzter Beitrag: 07.11.07, 09:41 -
Mehrere SUBMIT Button in ein Formular
Von Tabuk im Forum PHPAntworten: 7Letzter Beitrag: 04.05.05, 15:36 -
Formular submit button ...
Von EraserOfEarth im Forum HTML & XHTMLAntworten: 5Letzter Beitrag: 27.07.03, 18:00





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren