php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.10.2005, 11:52  
Gast
 
Beiträge: n/a
Standard leeres Formular

Hallo zusammen!

Ich hab ein Formular, in dem man seine Daten eingeben kann.
Da dieses Formular Teil eines Adressverwaltungsprogramms ist, kann man gleich wenn man einen neuen Eintrag erstellt, auch schon eine Adresse aus einer Auswahl nehmen.

Wenn man also auf Adresse wählen klickt (ist sinnvoll, wenn mehrere Personen im selben Haushalt sind) kommt man auf eine Seite, auf der alle verfügbaren Adressen sind. Wenn man nun eine davon wählt, kommt man wieder zurück und die Felder, die für die Adresse zuständig sind (Wohnort, PLZ,...) sind nun ausgefüllt (mit der gewählten Adresse).

Soweit sogut, aber das ganze hat noch einen kleinen Haken...
Hat man nämlich zuvor schon etwas im Formular eingegeben (zB seinen Namen) dann ist das dann alles weg (weil die Seite neu geladen wird und nur die gewählten Adress-Daten wieder in die Felder kommen).

Nun könnte ich ganz einfach jedes Feld via get zur Auswahlseite und wieder zurück schicken, aber das ist 1. sehr umständlich, 2. unschön und 3. schlecht, wenn sich das Formular mal ändert (neue Felder dazu oder alte weg).

Also suche ich nun nach einer anderen Lösung.

Hat jemand eine Idee?
Wär eine Session hier richtig? (hab ich noch nie verwendet)

Vielen Dank im Vorraus für jede Antwort!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.10.2005, 12:50  
Erfahrener Benutzer
 
Registriert seit: 12.07.2004
Beiträge: 219
d-jango zeigte ein beschämendes Verhalten in der Vergangenheit
d-jango eine Nachricht über ICQ schicken
Standard

hmm.. $_SESSION ist da meiner Meinung nach die Beste Lösung.

Andere Möglichkeit wäre JavaScript. Dazu muss der Nutzer aber JavaScript im Browser aktiviert haben.
__________________
http://www.fun2stay.de
d-jango ist offline  
Alt 05.10.2005, 13:03  
Gast
 
Beiträge: n/a
Standard

Hm, und $_SESSION geht immer, egal was der User im Browser aktiviert hat oder nicht?
 
Alt 05.10.2005, 13:07  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 532
PHP-Kenntnisse:
Fortgeschritten
schifti
Standard

wenn du es richtig machst, Ja.

schau mal hier:
http://forum.developers-guide.net/thread29.html
__________________
MFG Schifti
auch ein Forum (PHP)
schifti ist offline  
Alt 05.10.2005, 13:39  
Gast
 
Beiträge: n/a
Standard

Ok, ich werd's mit Sessions versuchen.

Dazu starte ich zu Beginn der Datei eine neue Session
--> session_start();

Dann werden für alle Felder im Formular Variablen erstellt und vorläufig mal "" belegt.
--> $_SESSION["NAME"] = "";

Dann hab ich aber schon ein Problem:
Wie kann ich $_SESSION["NAME"] den Wert zuweisen, der gerade im Formular steht?
 
Alt 05.10.2005, 13:57  
Gast
 
Beiträge: n/a
Standard

Hm, vielleicht hab ich unverständlich erklärt, ich versuch's nochmal:

Bisher hab ich immer via GET die Werte hin und her geschickt.

Wenn man im Formular auf einen bestimmten Button klickt verläßt man das Formular. Man wählt eine Adresse, dadurch kommt man wieder zurück, und die Werte für die Adresse werden via GET mitgeschickt. Auf diese Weise steht jetzt im Formular schon was drin.

Wenn man aber vorher schon was in das Formular geschrieben hat ist das nun weg.

Ich möchte also also alle eingegebenen Werte in der Session speichern und beim zurückkehren die Felder damit ausfüllen.

Das Problem ist aber, dass ich nicht weiß wie ich die Werte in die Session bekomme

Es ginge, wenn ich das Formular abschicken würde, dann wären sie in POST drin, aber ich darf das Formular zu dem Zeitpunkt noch nicht wegschicken, weil sonst ein neuer Eintrag in der Datenbank erstellt wird. Dann würde jeder Eintrag unsinnigerweise mindestens 2 mal vorkommen (je nachdem wie oft sich der User umentscheidet...)

Weiß jemand wie ich die Werte in die Session bekomme?
 
Alt 05.10.2005, 14:10  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 532
PHP-Kenntnisse:
Fortgeschritten
schifti
Standard

du schickst das Formular an sich selber (<form action="$_SERVER['PHP_SELF']" method="post">) und ich w�rde Methode POST nehmen.

Dann:
PHP-Code:
<?
if(isset($_POST['name_des_senden_buttons']))
  {
    foreach(
$_POST as $key => $value)
        {
           
$_SESSION[$key] = $value;
        }
  
// ï¿½berpr�fung der Fehler...
//  Dann weiterleiten mit header("Location: weiter.php?PHPSESSID=".session_id());
  
}
?>
Code:
<form action.....>
  <input name="user" value="<?php echo $_SESSION['user']; ?>">
</form>
__________________
MFG Schifti
auch ein Forum (PHP)
schifti ist offline  
Alt 05.10.2005, 14:45  
Gast
 
Beiträge: n/a
Standard

Hm,... ich schicke also das Formular an sich selbst, ok.

Und wenn man den Absendebutton (Eintrag speichern) drückt, DANN ERST wird das Formular an die richtige Adresse geschickt, soweit ist mir das klar.

Aber das hier verstehe ich nicht ganz:
PHP-Code:
<?
if(isset($_POST['name_des_senden_buttons'])) 
  { 
    foreach(
$_POST as $key => $value
        { 
           
$_SESSION[$key] = $value
        } 
  
// ï¿½berpr�fung der Fehler... 
//  Dann weiterleiten mit header("Location: weiter.php?PHPSESSID=".session_id()); 
  

?>
Was wird hier gemacht?
Wo soll ich das in mein Script einfügen?
 
Alt 05.10.2005, 14:56  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 532
PHP-Kenntnisse:
Fortgeschritten
schifti
Standard

mit foreach($_POST .... werden alle $_POST Daten mit dem Name => $key (Name des Feldes, oder Button) und dem Wert => $value) geholt und dann sieht es z.B. so aus:
PHP-Code:
<?
// nach dem Absenden:
foreach($_POST as $key => $value)
  {
    echo 
$key.' : '.$value.'
'
;
    
$_SESSION[$key] = $value;
// ist das gleiche, wie jedes Feld einzeln in die Session speichern
    
$_SESSION['user_feld'] = $_POST['user_feld'];
  }
echo 
'<form ....>';
echo 
'<input type="text" name="user_feld" ....>';
?>
__________________
MFG Schifti
auch ein Forum (PHP)
schifti ist offline  
Alt 05.10.2005, 15:17  
Gast
 
Beiträge: n/a
Standard

Ok, das hab ich jetzt auch verstanden.

Das ist ja echt toll, da muss ich nicht jedes Feld einzeln speichern!

Aber das hier hab ich noch nicht verstanden, was wird hier gemacht? :
Code:
<form action.....> 
  <input name="user" value="<?php echo $_SESSION['user']; ?>"> 
</form>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP: Formular Generator Zergling-new Tutorials 16 06.07.2010 03:14
Ergebnis von Formular in iFrame zeigen PsychoEagle HTML, Usability und Barrierefreiheit 2 22.07.2009 21:07
Formular Pflichtfelder für Frontpage Formular erstellen Caruso JavaScript, Ajax und mehr 5 21.06.2008 09:17
Wert aus Textfeld in neues Formular übernehmen (kein Submit) PsychoEagle HTML, Usability und Barrierefreiheit 9 02.01.2007 14:51
formular an mehrere email-empfänger katarzyna PHP Tipps 2006 2 22.08.2006 07:42
formular includen samspa5 PHP Tipps 2006 13 18.03.2006 11:37
Datenbank auslesen, in Formular darstellen und �ndern PHP Tipps 2006 8 22.02.2006 17:51
[Erledigt] Formular in Formular HTML, Usability und Barrierefreiheit 4 19.10.2005 12:18
[Erledigt] Formular testen .... HTML, Usability und Barrierefreiheit 7 19.09.2005 14:03
[Erledigt] PHP Formular ~~wichtig~~ PHP Tipps 2005 27 29.05.2005 19:38
[Erledigt] Im Formular user abfragen? Datenbanken 3 06.01.2005 10:51
[Erledigt] PHP Formular - Daten an nächsten Schritt weiter geben - Wie? PHP Tipps 2005 14 02.01.2005 20:05
[Erledigt] Daten in einem Formular ausgeben und ändern PHP Tipps 2004-2 7 07.12.2004 17:22
Brauche PHP Formular Beitragsarchiv 9 16.08.2004 16:23
[Erledigt] Daten in neuem Formular anzeigen PHP Tipps 2004 6 21.07.2004 10:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
leeres formular php, php leeres formular, leres formular für adressen, php kein leeres formular, leere formulare php, leeres aufsichtsformular, php leerers formular, html php bei leeres formular zurück, eingegebene werte auf formular seite beim zurückkehren verschwunden php, http://www.php.de/php-tipps-2005-2/31911-leeres-formular.html, leeres formular abschicken, leeresformular, html leere formulare, leeres formular, php formular abschicken zurückkehren, jedes formular einzeln abspeichern

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.