Session speichern von dynamischen auswahlboxen???
Session speichern von dynamischen auswahlboxen???
Hallo.
Habe eine größeres Formular, diese Anfrage wird mir per Mail zugesandt, wenn ein Kunde eine Bestellung hat.
Das ganze beinhaltet auf ein dynamischen dropdown feld, alles über script gesteuert. wenn ich im ersten menu1 auswähle, wird zunächst eine übersicht mit typen geziegt, diese kann man dann je nachdem was möglich ist im 2. menu gezeigt angezeigt.
wenn ich jedoch nun alles ausgefüllt habe, aber der meckert weil ich ein feld vergessen habe, dann springt der auf eine error-seite, sagt den hinweis und springt zurück.
PROBLEM: die auswahlboxen stehen auf standard, wie kann ich diese speichern?
Danke
Habe eine größeres Formular, diese Anfrage wird mir per Mail zugesandt, wenn ein Kunde eine Bestellung hat.
Das ganze beinhaltet auf ein dynamischen dropdown feld, alles über script gesteuert. wenn ich im ersten menu1 auswähle, wird zunächst eine übersicht mit typen geziegt, diese kann man dann je nachdem was möglich ist im 2. menu gezeigt angezeigt.
wenn ich jedoch nun alles ausgefüllt habe, aber der meckert weil ich ein feld vergessen habe, dann springt der auf eine error-seite, sagt den hinweis und springt zurück.
PROBLEM: die auswahlboxen stehen auf standard, wie kann ich diese speichern?
Danke
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Du müsstest diese in der Meldung als versteckte Felder mitführen, damit Du sie beim Anzeigen des Formulars wieder zur Verfügung hast.
Also wenn die Fehlermeldung angezeigt wird, einfach per
je Wert in das Formular einfügen.
"wert1" kommt dann klar aus dem PHP-Script.
Diese müssen aber dann auch in der Seite mit der Meldung in einem Formular stehen, damit diese auch wirklich übergeben werden.
Also etwas in dieser Art:
Da allerdings dieses Formular abgesendet werden muss, damit die Angaben auch wieder da landen, wo sie hin wollen, wäre es besser, die Meldung mittels Button absenden zu lassen, damit der User die Meldung in Ruhe lesen kann und danach wieder zielsicher auf das Formular kommt.
Also in das Formular einfach vor </form> noch den Senden-Button einfügen:
und im PHP-Script
an die Stelle zur Fehlermeldung hinzufügen.
Schaut besser aus und funktioniert dann auch.
Um zuletzt noch die Werte wieder einzustellen, musst Du diese nur aus $HTTP_POST_VARS, bzw. $_POST abfragen und als Standard-Werte in die einzelnen Felder/Dropdowns einstellen.
Fertig wäre die "Speicherung" der einmal getroffenen Eingaben.
Mehr kann ich Dir aber hier nicht helfen, da ich ja das Script weder kenne noch weiß, wie Du welche Werte woher holst und wohin schreibst...
Also wenn die Fehlermeldung angezeigt wird, einfach per
Code: Alles auswählen
<input type="hidden" name="name_wert1" value="werk1" />"wert1" kommt dann klar aus dem PHP-Script.
Diese müssen aber dann auch in der Seite mit der Meldung in einem Formular stehen, damit diese auch wirklich übergeben werden.
Also etwas in dieser Art:
Code: Alles auswählen
<form action="link_zur_seite">
<input type="hidden" name="name_wert1" value="wert1" />
</form>Also in das Formular einfach vor </form> noch den Senden-Button einfügen:
Code: Alles auswählen
<input type="submit" name="submit" value="{L_SUBMIT}" />Code: Alles auswählen
$template->assign_vars(array('L_SUBMIT' => $lang['Submit']));Schaut besser aus und funktioniert dann auch.
Um zuletzt noch die Werte wieder einzustellen, musst Du diese nur aus $HTTP_POST_VARS, bzw. $_POST abfragen und als Standard-Werte in die einzelnen Felder/Dropdowns einstellen.
Fertig wäre die "Speicherung" der einmal getroffenen Eingaben.
Mehr kann ich Dir aber hier nicht helfen, da ich ja das Script weder kenne noch weiß, wie Du welche Werte woher holst und wohin schreibst...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
danke, ich wusste es, dass du helfen kannst, in 3 anderen foren kanns keiner auf die schnelle, OXPUS 4EVER 
ähm einen submitt-button habe ich bereits, hier 2 links damit du ma die schnipsel angucken kannst!
http://www.carhifi-gehaeuse.de/sonstiges/functions.txt
http://www.carhifi-gehaeuse.de/sonstiges/anfrage.txt
an der stelle schonmal wieder ein fettes danke!
habe leider kaum php erfahrung, müsste man später evtl. genauer erläutern.
ähm einen submitt-button habe ich bereits, hier 2 links damit du ma die schnipsel angucken kannst!
http://www.carhifi-gehaeuse.de/sonstiges/functions.txt
http://www.carhifi-gehaeuse.de/sonstiges/anfrage.txt
an der stelle schonmal wieder ein fettes danke!
habe leider kaum php erfahrung, müsste man später evtl. genauer erläutern.
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Öhm, wie wird denn das Formular ausgewertet?
Ich habe hier nur das Formular und die JS-Funktion für das abhängige DropDown.
Damit kann ich nicht so wirklich was anfangen, denn die Seite mit der Fehlermeldung ist wichtig und das Script, welches die Angaben auswertet.
Nur dann kann man auch die Angaben für das DropDown finden und dieses wieder einstellen...
Vielleicht hilft es auch schon, die Funktion populate() mit dem body-tag als onload=... einzustellen.
Die Fehlermeldung leitet ja auf das Formular weiter, es wird dann also auch geladen und das 2. Dropdown kann dann neu erstellt werden.
Oder die Funktion wird vor </body> aufgerufen, dann geschieht das nach dem Laden auch einmalig und das 2. DropDown dürfte dann auch wieder den ursprünglichen Wert haben.
Der Rest bleibt ja so schon erhalten...
Ich habe hier nur das Formular und die JS-Funktion für das abhängige DropDown.
Damit kann ich nicht so wirklich was anfangen, denn die Seite mit der Fehlermeldung ist wichtig und das Script, welches die Angaben auswertet.
Nur dann kann man auch die Angaben für das DropDown finden und dieses wieder einstellen...
Vielleicht hilft es auch schon, die Funktion populate() mit dem body-tag als onload=... einzustellen.
Die Fehlermeldung leitet ja auf das Formular weiter, es wird dann also auch geladen und das 2. Dropdown kann dann neu erstellt werden.
Oder die Funktion wird vor </body> aufgerufen, dann geschieht das nach dem Laden auch einmalig und das 2. DropDown dürfte dann auch wieder den ursprünglichen Wert haben.
Der Rest bleibt ja so schon erhalten...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
ähm das formular php-script möchte ich eigentlich nicht uppen, weil ich das gekauft hab, da verstoß ich wohl gegen CR!
also die errorseite wird aufgerufen, da steht der hinweis und wird redirected zur anfrage!
naja, das is ma ein kleiner auszug, der wird dir helfen, da wird alles bearbeitet, lösche das aber später wieder!
also die errorseite wird aufgerufen, da steht der hinweis und wird redirected zur anfrage!
naja, das is ma ein kleiner auszug, der wird dir helfen, da wird alles bearbeitet, lösche das aber später wieder!
Code: Alles auswählen
if(ip_sperre()==false)
{
$to = $_POST["to"];
$typ_normal = $_POST["typ"];
$subject = $_POST["subject"];
$pflicht = $_POST["pflicht"];
$pflicht = explode(",", $pflicht);
$EMail =$_POST["EMail"];
for ($i=0; $i<count($pflicht); $i++)
{
if(empty($_POST[$pflicht[$i]]))
{
if (empty($_POST["error"]))
header("location: error.html");
else
header("location:". $_POST["error"]);
exit;
}
}
$typ = Array();
$typ = explode(",", $typ_normal);
$msg = "";
$xtra = "From: $EMail\r";
$xtra2 = "From: Info@CarHiFi-Gehaeuse.de\r";
$msg .= "IP: " . getenv('REMOTE_ADDR')."\r\n\r\n";
for ($i=0; $i<count($typ); $i++)
{
$msg .= $typ[$i]." = ".$_POST[$typ[$i]]."\r\n";
}
$filename = "antwort.txt";
$fd = fopen( $filename, "r" );
$contents = fread( $fd, filesize( $filename ) );
fclose( $fd );
mail("$to","$subject$nummer","$msg","$xtra");
mail("$EMail","Car&HiFi-Gehäuse-Service: $subject$nummer","$contents\r\n\r\n".$msg,$xtra2);
if ($thx == "")
{
$thx = "http://www.CarHifi-Gehaeuse.de/danke.html";
}
header("location:$thx");- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Hm, wenn Du theoretisch
das in die overall_footer.tpl vor </body> einfügst, müsste nach der Fehlermeldung das 2. DropDown berechnet werden.
Theoretisch wie gesagt...
Code: Alles auswählen
<script language="Javascript" type="text/javascript">
<!--
populate('Gehäusebauart');
//-->
</script>Theoretisch wie gesagt...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
aahhhhh danke für den tipp, leider leider klappts nich ganz!
nun is zwar nimmer das feld leer, ABER es steht der standard-wert drin, welcher erscheint, wenn man box 1 angewählt hatte!
mannooooo
aso außerdem, is die box 1 dann tot, wenn man dropped und das gleiche geloggte auswählen will, wenn sich normal das popup öffnet, geschieht auch nichts mehr
nun is zwar nimmer das feld leer, ABER es steht der standard-wert drin, welcher erscheint, wenn man box 1 angewählt hatte!
mannooooo
aso außerdem, is die box 1 dann tot, wenn man dropped und das gleiche geloggte auswählen will, wenn sich normal das popup öffnet, geschieht auch nichts mehr
Zuletzt geändert von moe am Mi 07.Mär, 2007 20:17, insgesamt 1-mal geändert.
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Dann muss ich hier auch passen.
Javascript lerne ich zwar immer wieder dazu, aber hier ist für mich zunächst Übungsende.
Sorry...
Javascript lerne ich zwar immer wieder dazu, aber hier ist für mich zunächst Übungsende.
Sorry...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
ich bekomms nich gebacken
habe es ma so versucht
au einiges anderes, aber bekomms nich hin
habe es ma so versucht
Code: Alles auswählen
session_start();
$_SESSION['NAME']=$_POST['NAME'];
$NAME = $_POST['NAME'];- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Das ist auch keine Sache von PHP, sondern Javascript.
Mit Änderung der 1. DropDown Box wird eine JS-Funktion aufgerufen und die sollte man auch irgendwie mit dem erneuten Laden der Seite nach der Fehlermeldung hinbekommen.
Über das wie habe ich nun nicht wirklich eine Idee, daher muss in an dieser Stelle passen.
Aber ich habe eine komplett andere Idee:
Warum nicht die Felder nach Absenden des Formulars mittels Javascript prüfen und eine "Alert"-Meldung ausgeben?
Ist zwar nicht sooooo schick, aber das Formular wird damit nicht neu geladen und alle Werte bleiben, wie sie sind.
Das macht phpBB mit dem Posting-Formular für einen leeren Titel (neues Topic) ähnlich...
Mit Änderung der 1. DropDown Box wird eine JS-Funktion aufgerufen und die sollte man auch irgendwie mit dem erneuten Laden der Seite nach der Fehlermeldung hinbekommen.
Über das wie habe ich nun nicht wirklich eine Idee, daher muss in an dieser Stelle passen.
Aber ich habe eine komplett andere Idee:
Warum nicht die Felder nach Absenden des Formulars mittels Javascript prüfen und eine "Alert"-Meldung ausgeben?
Ist zwar nicht sooooo schick, aber das Formular wird damit nicht neu geladen und alle Werte bleiben, wie sie sind.
Das macht phpBB mit dem Posting-Formular für einen leeren Titel (neues Topic) ähnlich...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
die idee klingt interessant, darauf wär ich nicht gekommen!
da könnte man sogar alles auflisten WAS fehlt!
ABER, habe ich jetzt nen denkfehler oder? weil wenn ich ja submit klicke, wird ja das formmail php aktiviert was ja die felder prüft und redirected! somit muss das script VOR der php-aktivierung zum zuge kommen
mmhh... javascript checking kenne ich leider nicht, wüsste nicht wie umsetzen
da könnte man sogar alles auflisten WAS fehlt!
ABER, habe ich jetzt nen denkfehler oder? weil wenn ich ja submit klicke, wird ja das formmail php aktiviert was ja die felder prüft und redirected! somit muss das script VOR der php-aktivierung zum zuge kommen
mmhh... javascript checking kenne ich leider nicht, wüsste nicht wie umsetzen
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Es gibt die Eigenschaft onsubmit. Und damit kann man steuern, was geschehen soll.
Wird dieses weggelassen, wird das Formular sofort gesendet.
Somit kann man aber auch erst eine Javascript Funktion aufrufen, die den Inhalt des Formulars prüft.
Wie gesagt: In der posting_body.tpl geschieht das auch schon
Wird dieses weggelassen, wird das Formular sofort gesendet.
Somit kann man aber auch erst eine Javascript Funktion aufrufen, die den Inhalt des Formulars prüft.
Wie gesagt: In der posting_body.tpl geschieht das auch schon
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
GENIE
hat geklappt, bin grade am testen, funktioniert alles super! die auswertung wäre jetzt per alert möglich ABER ich möchte das in ein popup schreiben, also die auswertung was fehlerhaft ist!
so wäre es mit alert möglich:
so habe ich mir das gedacht, leider scheitere ich beim schreiben der auswertungsvariable FALSCH!
wie muss ich die includen?
hat geklappt, bin grade am testen, funktioniert alles super! die auswertung wäre jetzt per alert möglich ABER ich möchte das in ein popup schreiben, also die auswertung was fehlerhaft ist!
so wäre es mit alert möglich:
Code: Alles auswählen
<SCRIPT LANGUAGE="JavaScript">
<!--
function pruef(){
var falsch = ""; // Variable in der die Fehler gespeichert werden
if(document.form.nachname.value == "") falsch += "Nachname\n"
if(document.form.vorname.value == "") falsch += "Vorname\n"
if(falsch == "") return true
else{
alert("Folgende Felder wurden nicht korrekt ausgefüllt:\n\n" + falsch)
return false
}
}
// -->
</script>so habe ich mir das gedacht, leider scheitere ich beim schreiben der auswertungsvariable FALSCH!
wie muss ich die includen?
Code: Alles auswählen
<SCRIPT LANGUAGE="JavaScript">
<!--
function pruef(){
var falsch = "";
if(document.form.Gehäusebauart.value == "") falsch += "Gehäusebauart\n"
if(document.form.Modell.value == "") falsch += "Modell\n"
if(falsch == "") return true
else{
neu=window.open("","fenster1","width=250,height=250,scrollbars=no");
neu.document.open("text/html");
neu.document.write("<p>TEXT</p>");
neu.document.write(+falsch);
neu.document.write("<p><a href=\"javascript:window.close()\">Fenster schliessen</a></p>");
return false
}
}
// -->
</script>- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Einfache Hochkommas, also keine "", sondern ''...
Und nimm auch nicht "falsch", sondern eher "fehler_text" oder so...
Und nimm auch nicht "falsch", sondern eher "fehler_text" oder so...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!