2016-04-06 4 views
0

Mein Problem ist, dass ich Werte meines Formulars nach dem Einreichen erinnern möchte. Lassen Sie mich erklären: Meine Form sieht wie folgt aus:PHP-Formular Werte des Formulars beim Neuladen beibehalten oder zum vorherigen gehen

<fieldset> 
<legend> Indicateur : </legend> 
<select name="indicateur" id="indicateur" onchange="choixindic(this.value);" > 
<option value="indic1">Indic1</option> 
<option value="indic2">Indic2</option> 
<option value="indic3">Indic3</option> 
<option value="indic4">Indic4</option> 
<option value="indic5">Indic5</option> 

</select> 
</fieldset> 
<br> 

<fieldset> 
<legend> Catégorie : </legend> 
<div> 
<table > 
<tr> 
<td><div class="part"> 
<input type="checkbox" id="part" name="part"><label for="part">Particuliers</label> 
</div></td> 
<td><div class="pro"> 
<input type="checkbox" id="pro" name="pro"><label for="pro">Petits Pros</label> 
</div></td> 
</tr> 
</table> 
</div> 
</fieldset> 

So habe ich zwei Eingangstypen, dh eine wählen und 2 Kontrollkästchen.

Dann lege ich das Formular aus und gehen Sie zu „main.php“ das Ergebnis (mit highcharts Grundstück von Performance Indicators) zu sehen

Aber wenn ich klicken Sie vor meiner Form zurück zu gehen, letztere ist leer, und meine Entscheidungen sind weg (wenn ich „Profis“ überprüft, wenn ich zurückkomme kein Kontrollkästchen aktiviert ist)

Mein Header wie folgt aussieht, vielleicht einige js-Skripte sind in Ursache:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>OTIS</title> 

<link rel="stylesheet" href="css/bootstrap.min.css"> 
<link rel="stylesheet" href="testform.css"> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 


<script type="text/javascript" src="js/scriptSat.js"></script> 
<script src="js/Respond-Master/Respond-Master/dest/respond.min.js"></script> 

<script> 


</script> 
</head> 

Meine Frage ist

Wie Werte nach einem Benutzer beibehalten werden Aktion?

+1

Das Beste von allem verwenden Sie SESSIONS für das: http://php.net/manual/en/book.session.php – djot

Antwort

0

Sie können den folgenden Vorschlag berücksichtigen.

Wenn der Benutzer Ihre Seite besucht und das Formular abschickt, speichern Sie alle Werte des Formulars in einem localStorage mit html5.

Shop, wenn Form vorgelegt

localStorage.setItem("lastname", "Smith"); 
localStorage.setItem("choice", "1"); 

Wenn der Benutzer wieder Besuche Ihrer Seite, müssen Sie überprüfen, ob die Elemente, die Sie existieren gespeichert haben. Wenn dies nicht der Fall ist, geben die Werte null zurück.

Wenn dies jedoch der Fall ist, können Sie Ihre Felder auf diese Weise ausfüllen.

überprüfen und abrufen, wenn Form besucht

var lastname = localStorage.getItem("lastname"); 
if(lastname != null) { document.getElementById("result").innerHTML(lastname); } 

Erinnern Sie Ihre Einzelteile an jedem Punkt zu entfernen, wenn Sie sie nicht mehr benötigen. Das stellt sicher, dass Ihr Benutzer eine saubere Form hat, wenn er es erwartet.

+0

Wenn Js deaktiviert ist, wird das nicht funktionieren. Sitzung ist eine bessere Idee, denke ich. –

+0

@ksno ja das ist wahr. Ich antwortete nach seinen Tags – sihao

1

Sie können das Beispiel von @siha verwenden oder sie einfach an Ihre Sitzungsvariable übergeben. Was ich bevorzuge

+0

Okay, ich habe alle Werte in $ SESSION-Variable gespeichert, aber wie kann ich dann mein Formular mit diesen Daten füllen? –

+0

'' Einfaches php var echo in html :) –

+0

zum Beispiel wenn wird vom Benutzer geprüft, dann mache ich $ _SESSION ['formvalues'] ['pro'] = $ _ POST ['pro']. Wie kann ich dann zum Kontrollkästchen für den Eingabetyp sagen, dass ich es überprüfen möchte, wenn ich vorher klicke? funktioniert nicht Ich denke –