Velden onthouden van formulier na controle
Hier het script als dat het wat meer duidelijk maakt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
error_reporting(E_ALL ^ E_NOTICE);
if(isset($_POST['verzenden'])) {
if ($_POST['telefoon'] == "") {
$error = "Telefoon is niet ingevuld<BR />";
}
if ($_POST['voornaam'] == "") {
$error .= "Voornaam is niet ingevuld<BR />";
}
if ($_POST['naam'] == "") {
$error .= "Naam is niet ingevuld<BR />";
}
if ($_POST['winkel'] == "") {
$error .= "Winkel is niet ingevuld<BR />";
}
if ($_POST['klacht'] == "") {
$error .= "Klacht is niet ingevuld<BR />";
}
}
if (!isset($error) && isset($_POST['verzenden'])) { ######## als $error niet bestaat ########
$winkel = addslashes($_POST['winkel']);
$naam = addslashes($_POST['naam']);
$voornaam = addslashes($_POST['voornaam']);
$telefoon = addslashes($_POST['telefoon']);
$mobiel = addslashes($_POST['mobiel']);
$aankoop = addslashes($_POST['aankoop']);
$bon = addslashes($_POST['bon']);
$os = addslashes($_POST['os']);
$av = addslashes($_POST['av']);
$backup = addslashes($_POST['backup']);
$test = addslashes($_POST['test']);
$aarde = addslashes($_POST['aarde']);
$klacht = addslashes($_POST['klacht']);
$inname = addslashes($_POST['inname']);
$ingenomen = addslashes($_POST['ingenomen']);
$bijzonderheden = addslashes($_POST['bijzonderheden']);
$ww = addslashes($_POST['ww']);
$onderzoek = addslashes($_POST['onderzoek']);
mysql_query("INSERT INTO formulier (winkel, naam, voornaam, telefoon, mobiel, aankoop, bon, os, av, backup, test, aarde, klacht, inname, ingenomen, bijzonderheden, ww, onderzoek) VALUES ('".$winkel."', '".$naam."', '".$voornaam."', '".$telefoon."', '".$mobiel."', '".$aankoop."', '".$bon."', '".$os."', '".$av."', '".$backup."', '".$test."', '".$aarde."', '".$klacht."', '".$inname."', '".$ingenomen."', '".$bijzonderheden."', '".$ww."', '".$onderzoek."')") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else if(isset($error)) { ######## anders doet hij dit ########
echo "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />";
echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";
echo '<script type=""text/javascript"">history.go(-1);</script>';
}
else { ######## anders als $error bestaat ########
?>
error_reporting(E_ALL ^ E_NOTICE);
if(isset($_POST['verzenden'])) {
if ($_POST['telefoon'] == "") {
$error = "Telefoon is niet ingevuld<BR />";
}
if ($_POST['voornaam'] == "") {
$error .= "Voornaam is niet ingevuld<BR />";
}
if ($_POST['naam'] == "") {
$error .= "Naam is niet ingevuld<BR />";
}
if ($_POST['winkel'] == "") {
$error .= "Winkel is niet ingevuld<BR />";
}
if ($_POST['klacht'] == "") {
$error .= "Klacht is niet ingevuld<BR />";
}
}
if (!isset($error) && isset($_POST['verzenden'])) { ######## als $error niet bestaat ########
$winkel = addslashes($_POST['winkel']);
$naam = addslashes($_POST['naam']);
$voornaam = addslashes($_POST['voornaam']);
$telefoon = addslashes($_POST['telefoon']);
$mobiel = addslashes($_POST['mobiel']);
$aankoop = addslashes($_POST['aankoop']);
$bon = addslashes($_POST['bon']);
$os = addslashes($_POST['os']);
$av = addslashes($_POST['av']);
$backup = addslashes($_POST['backup']);
$test = addslashes($_POST['test']);
$aarde = addslashes($_POST['aarde']);
$klacht = addslashes($_POST['klacht']);
$inname = addslashes($_POST['inname']);
$ingenomen = addslashes($_POST['ingenomen']);
$bijzonderheden = addslashes($_POST['bijzonderheden']);
$ww = addslashes($_POST['ww']);
$onderzoek = addslashes($_POST['onderzoek']);
mysql_query("INSERT INTO formulier (winkel, naam, voornaam, telefoon, mobiel, aankoop, bon, os, av, backup, test, aarde, klacht, inname, ingenomen, bijzonderheden, ww, onderzoek) VALUES ('".$winkel."', '".$naam."', '".$voornaam."', '".$telefoon."', '".$mobiel."', '".$aankoop."', '".$bon."', '".$os."', '".$av."', '".$backup."', '".$test."', '".$aarde."', '".$klacht."', '".$inname."', '".$ingenomen."', '".$bijzonderheden."', '".$ww."', '".$onderzoek."')") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else if(isset($error)) { ######## anders doet hij dit ########
echo "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />";
echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";
echo '<script type=""text/javascript"">history.go(-1);</script>';
}
else { ######## anders als $error bestaat ########
?>
<!--
.style1 {color: #FFFFFF}
.style2 {color: #FF0000}
-->
</style>
</br>
<form action="" method="POST">
<table width="95%" border="0" align="center" cellspacing="0">
<tr>
<td colspan="5" bordercolor="#FFFFFF" bgcolor="#FF0000"><div align="center" class="style1">FORM V1.0 </div></td>
</tr>
<tr>
<td colspan="5" bgcolor="#FF0000"><div align="center"></div></td>
</tr>
<tr>
<td width="272">Winkel: </td>
<td width="144"><select name="winkel">
<option value="">Kies winkel..</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td width="4"> </td>
<td width="124">Datum:</td>
<td width="159"><input name="inname" type="text" id="inname" value="" readonly="true"/></td>
</tr>
<tr>
<td>Naam: </td>
<td><input type="text" name="naam" /></td>
<td> </td>
<td>Voornaam:</td>
<td><input name="voornaam" type="text" maxlength="15" /></td>
</tr>
<tr>
<td>Telefoonnummer:</td>
<td><input type="text" name="telefoon" /></td>
<td> </td>
<td>Mobiel:</td>
<td><input name="mobiel" type="text" maxlength="15" /></td>
</tr>
<tr>
<td height="23">Aankoopdatum:</td>
<td><input type="text" name="aankoop" /></td>
<td> </td>
<td>Factuur/Bonnr:</td>
<td><input name="bon" type="text" maxlength="15" /></td>
</tr>
<tr>
<td>Orginele OS? Welke? </td>
<td><input type="text" name="os" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Ingenomen Produkt(en) </td>
<td colspan="4"><input name="ingenomen" type="text" id="ingenomen" /></td>
</tr>
<tr>
<td>Bijzonderheden</td>
<td><input name="bijzonderheden" type="text" id="bijzonderheden" /></td>
<td> </td>
<td>Wachtwoord(en)</td>
<td><input name="ww" type="text" id="ww" maxlength="15" /></td>
</tr>
<tr>
<td>Welke Antivirus? </td>
<td><input type="text" name="av" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2">Moet er een onderzoek gedaan worden? </td>
<td> </td>
<td><input name="onderzoek" type="checkbox" id="onderzoek" value="Ja" />
Ja
<input name="onderzoek" type="checkbox" id="onderzoek" value="Nee" />
Nee</td>
<td> </td>
</tr>
<tr>
<td colspan="2">Moet er een backup worden gemaakt?</td>
<td> </td>
<td><input name="backup" type="checkbox" value="Ja" />
Ja
<input name="backup" type="checkbox" id="backup" value="Nee" />
Nee</td>
<td><div align="right" class="style2">
<div align="center">*zoja waarvan! </div>
</div></td>
</tr>
<tr>
<td colspan="2">Mag er een testinstall gedaan worden?</td>
<td> </td>
<td><input name="test" type="checkbox" value="Ja" />
Ja
<input name="test" type="checkbox" id="test" value="Nee" />
Nee</td>
<td> </td>
</tr>
<tr>
<td height="23" colspan="2"><p>Staat de pc geaard? </p> </td>
<td> </td>
<td><input name="aarde" type="checkbox" value="ja" />
Ja
<input name="aarde" type="checkbox" id="aarde" value="nee" />
Nee</td>
<td> </td>
</tr>
<tr>
<td height="23">Klachtomschrijving:</td>
<td colspan="4" rowspan="3"><textarea name="klacht" cols="50" rows="5"></textarea></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td><input name="Clear" type="reset" id="Clear" value="Clear" /></td>
<td><input type="submit" name="verzenden" value="verzenden" /></td>
</tr>
</table>
</form>
Voor me inlog gedeeltje is sesion start al gestart wie weet er een makkelijke manier om dit te realiseren
Gewijzigd op 01/01/1970 01:00:00 door Roy
Ik heb de volgende code gebruikt om de post als het formulier niet compleet is ingevuld in een sessie op te slaan:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
else if(isset($error)) { ######## anders doet hij dit ########
echo "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />";
echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";
$naam = addslashes($_POST['naam']); //zorgt dat de variable wel de waarde overneemt
$_SESSION["naam"] = $naam; //maakt de sessie naam aan
$voornaam = addslashes($_POST['voornaam']);//zorgt dat de variable wel de waarde overneemt
$_SESSION["voornaam"] = $voornaam;
}
?>
else if(isset($error)) { ######## anders doet hij dit ########
echo "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />";
echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";
$naam = addslashes($_POST['naam']); //zorgt dat de variable wel de waarde overneemt
$_SESSION["naam"] = $naam; //maakt de sessie naam aan
$voornaam = addslashes($_POST['voornaam']);//zorgt dat de variable wel de waarde overneemt
$_SESSION["voornaam"] = $voornaam;
}
?>
vervolgens geef ik het formulier weer en echo ik de waardes uit de sessies in de velden met de volgende code.
</tr>
<tr>
<td>Naam: </td>
<td><input type="text" name="naam" value="" /></td>
<td> </td>
<td>Voornaam:</td>
<td><input name="voornaam" type="text" value="" maxlength="15" /></td>
</tr>
<tr>
en tot slot heb ik waar de gegevens de db in worden gezet dat de sessies leeggemaakt worden met de volgende code.
Code (php)
1
2
3
4
2
3
4
<?php
session_unset('naam'); //legen sessie na het invoegen in de db
session_unset('voornaam'); //legen sessie na het invoegen in de db
?>
session_unset('naam'); //legen sessie na het invoegen in de db
session_unset('voornaam'); //legen sessie na het invoegen in de db
?>
Ik weet niet of het noodzakelijk is om de sessie volledig te verwijderen.
Nu staan alle geposte waarden in de sessie $_SESSION['_POST'].
Als je bijvoorbeeld de voornaam wil hebben gebruik je: $_SESSION['_POST']['voornaam'].
Bij een succesvolle verzending kun je de _POST sessie unsetten.
$naam = addslashes($_POST['naam']); //zorgt dat de variable wel de waarde overneemt
$_SESSION["naam"] = $naam; //maakt de sessie naam aan
vervangen voor:
$_SESSION['_POST']['naam'].
?
Tip: Zet de magic_quotes nog even uit, die gaan er t.z.t. in PHP ook weer uit. Kun je in php.ini of .htaccess regelen.