Autor |
Nachricht |
burnout
Threadersteller
Dabei seit: 31.01.2002
Ort: Osnabrücker Land
Alter: 44
Geschlecht:
|
Verfasst Sa 02.10.2004 09:35
Titel [PHP-Formular] Seite nach Auswahl aus Optionsfeld neu laden |
|
|
Moin,
also folgendes Problem:
Ich habe ein PHP-Formular, das Daten aus einer DB ausliest und die Input-Felder damit füllt.
Hier kann der Nutzer Änderungen machen, die er dann per Submit-Button auch speichern kann.
Das Formular besteht allerdings nicht nur aus Input-Feldern, sondern auch aus Option-Feldern.
Wenn man in einem der Option-Felder einen Datensatz auswählt (da stehen Namen drin), sollen unter dem Options-Feld zusätzlich noch die Kontakt-Daten des ausgewählten Namens angezeigt werden.
Mein Formular schickt die gespeicherten Daten an eine andere Datei weiter, die die Daten dann in die DB schreibt.
Also ist mein <form action=""> quasi schon besetzt. Muss ich mein Formular jetzt so umbasteln, dass ich die Daten auch in dieser Datei verarbeite oder wie kann ich das sonst einigermaßen praktikabel hinbekommen?
Danke für alle Tipps
|
|
|
|
|
beeviZ
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 02.10.2004 10:34
Titel
|
|
|
kannste nich einfach dem optionsfeld n <select onChange="bla()">... geben und ins javascript dann quasi noch n formular was abgeschickt wird?
|
|
|
|
|
Anzeige
|
|
|
burnout
Threadersteller
Dabei seit: 31.01.2002
Ort: Osnabrücker Land
Alter: 44
Geschlecht:
|
Verfasst Sa 02.10.2004 10:56
Titel
|
|
|
hab's vielleicht noch nicht ganz ausreichend erklärt. Ich will erreichen,
dass ich die gleichen Daten bei dem "onchange" wieder angezeigt bekomme, auch wenn jemand schon im formular etwas geändert hat. wenn ich dann einen namen auswähle und die seite neu geladen wird, um die daten aus der DB abzufragen, gehen mir diese Änderungen ja verloren, es sei denn ich übergebe sie wieder per $_POST oder ich speichere sie irgendwie zwischendurch schon in der DB.
|
|
|
|
|
eye-fx
Dabei seit: 24.10.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Sa 02.10.2004 11:05
Titel
|
|
|
also zwischendurch in die DB würde ich nix speichern. Mach das doch per Session...
Code: | session_start();
$_SESSION["name"] = $name;
$_SESSION["nachname"] = $nachname;
...
etc |
und auslesen mit
Code: | $name= @$HTTP_SESSION_VARS['name'];
$nachname= @$HTTP_SESSION_VARS['nachname']; |
|
|
|
|
|
burnout
Threadersteller
Dabei seit: 31.01.2002
Ort: Osnabrücker Land
Alter: 44
Geschlecht:
|
Verfasst Sa 02.10.2004 12:29
Titel
|
|
|
hmm, hab ich noch nie gemacht. ich werd's mal testen...
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 02.10.2004 12:35
Titel
|
|
|
http://de3.php.net/manual/de/ref.session.php hat geschrieben: |
Anmerkung: Seit PHP 4.1.0 steht $_SESSION genau wie $_POST, $_GET, $_REQUEST und so weiter, als globale Variable zur Verfügung. Im Gegensatz zu $HTTP_SESSION_VARS ist $_SESSION immer global. Deshalb brauchen Sie für $_SESSION nicht das Schlüsselwort global zu verwenden. Bitte beachten Sie, dass in dieser Dokumentation nun überall $_SESSION verwendet wird. Sie können $_SESSION durch $HTTP_SESSION_VARS ersetzen, wenn Sie Letzteres bevorzugen. Beachten Sie auch, dass Sie Ihre Session mit session_start() starten müssen, bevor die Verwendung von $_SESSION zur Verfügung steht.
Für die Schlüssel des assoziativen $_SESSION-Arrays gelten die selben Beschränkungen, wie für die Bezeichnungen von regulären Variablen in PHP, d.h. sie dürfen nicht mit einer Zahl, sondern müssen mit einem Buchstaben oder Unterstrich beginnen. Um weitere Deteils zu erhalten, siehe Abschnitt Variablen. |
http://de3.php.net/manual/de/ref.session.php
Dazu vielleicht auch noch folgendes .. bisse Lesestoff zum Thema
Sessions: http://www.php-faq.de/ch/ch-version4_session.html
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Sa 02.10.2004 13:04
Titel
|
|
|
Das ganze per session ist doch eigentlich total unnütz, da sich werte ja auch mit der "Formularabarbeitung" ändern können, ein Serverrequest also unerlässlich ist. $_SESSION zu verwenden setzt voraus, zu Beginn ALLE möglichen Werte zu laden. Und das ist irgendwie nicht besser als zwischendurch die Datenbank upzudaten. Falls ich das jetzt richtig verstanden hab.
//
nee, hab ich nicht. Sorry . Aber!: Sessions sind hier dennoch fehl am Platze. Du musst wirklich ALLE Kontaktdaten auslesen. Dann brauchst du eine (Clientseitige) Struktur, um diese temporär zu speichern und gegebenenfalls (wenn der User das Dropdown betätigt) auszugeben. Das machst du am besten mit nem Javascript-Array. Wart mal...
Bitte, hier ein Schnipsel als Beispiel, läuft in Firefox und IE 6
Code: |
<html>
<head>
<script language="Javascript">
function load() {
var daten=new Array(0,1,2);
daten[0]=new Array();
daten[1]=new Array();
daten[2]=new Array();
daten[0]["Name"]="Hans Meiser";
daten[0]["Anschrift"]="Schlossallee 12";
daten[1]["Name"]="Ulrike Dicketittschen";
daten[1]["Anschrift"]="Parkstraße 5";
daten[2]["Name"]="Max Porn";
daten[2]["Anschrift"]="Poststraße 254";
return daten;
}
daten=load();
</script>
</head>
<body>
<select onChange="alert(this.value)" name="name">
<script language="Javascript">
for (var i=0; i < daten.length; ++i) {
document.write("<option value='Id: "+i+"\nName: "+daten[i]["Name"]+"\nAdresse: "+daten[i]["Anschrift"]+"'>"+daten[i]["Name"]+"</option>");
}
</script>
</select>
</body>
</html>
|
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 04.10.2004 15:14
Titel
|
|
|
Keine Ursache
|
|
|
|
|
|
|
|
Ähnliche Themen |
Formular über JS verschicken und Rückmeldung in Seite laden
PDF Formular Optionsfeld wird ausgedruckt
Dreamweaver Formular: Kalenderfelder als Auswahl?!?
Formular Dropdown je nach Erster Auswahl ändern
[PHP/MySQL] Daten aus der Datenbank in ein Formular laden
seite neu laden
|
|