Whitespace delete in $POST
Jan de Vries
23/12/2007 18:51:00heyy
weet iemand misschien wat hier ervoor zorgt dat er achter de whitespace de rest wordt gedelete?
ik heb een form staan, waarin elke waarde ook een sessiewaarde heeft...
dit is zo omdat wanneer iemand een verkeerde waarde invult niet de form gelijk leeg is(hier een voorbeeld van de type die toevallig fout gaat ):
wanneer de form wordt gesubmit gaat dit id deze controle functie door:
Gaat dit fout doet hij dit:
MAAR waneer hij de form include verandert hij de waarde van de POST/SESSION
bijv:
wanneer je "2728 BC" invult wordt dit "2728"
ziet iemand waarom dit zo gebeurd?
Alvast Bedankt...
weet iemand misschien wat hier ervoor zorgt dat er achter de whitespace de rest wordt gedelete?
ik heb een form staan, waarin elke waarde ook een sessiewaarde heeft...
dit is zo omdat wanneer iemand een verkeerde waarde invult niet de form gelijk leeg is(hier een voorbeeld van de type die toevallig fout gaat ):
Code (php)
1
2
3
2
3
<label>Postcode
<?php echo '<input type="text" name="postcode" value='.$_SESSION["postcode"].'>'; ?>
</label>
<?php echo '<input type="text" name="postcode" value='.$_SESSION["postcode"].'>'; ?>
</label>
wanneer de form wordt gesubmit gaat dit id deze controle functie door:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//controleer postcode
$check1 = postcodeCheck($_POST['postcode']);
if ($_POST['postcode'] == NULL || !$check1)
{
$fouten.='<li>Postcode niet goed in gevuld!</li>';
$error = 1;
}
...........
function postcodeCheck($voornaam) {
$check = true;
$voornaam = trim($voornaam);
for($i=0; $i < strlen($voornaam); $i++) {
$t = $voornaam[$i];
if(!(ctype_digit($t) || ctype_alpha($t) || $t==' ')) {
$check = false;
}
}
return $check;
}
$check1 = postcodeCheck($_POST['postcode']);
if ($_POST['postcode'] == NULL || !$check1)
{
$fouten.='<li>Postcode niet goed in gevuld!</li>';
$error = 1;
}
...........
function postcodeCheck($voornaam) {
$check = true;
$voornaam = trim($voornaam);
for($i=0; $i < strlen($voornaam); $i++) {
$t = $voornaam[$i];
if(!(ctype_digit($t) || ctype_alpha($t) || $t==' ')) {
$check = false;
}
}
return $check;
}
Gaat dit fout doet hij dit:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
if ($error == 1)
{
$_SESSION['postcode'] = $_POST['postcode'];
echo '<div style="margin-top:8"><fieldset>
<legend>Fouten!</legend><ul>'.$fouten.'</ul></fieldset></div>';
//en include hij de form weer
{
$_SESSION['postcode'] = $_POST['postcode'];
echo '<div style="margin-top:8"><fieldset>
<legend>Fouten!</legend><ul>'.$fouten.'</ul></fieldset></div>';
//en include hij de form weer
MAAR waneer hij de form include verandert hij de waarde van de POST/SESSION
bijv:
wanneer je "2728 BC" invult wordt dit "2728"
ziet iemand waarom dit zo gebeurd?
Alvast Bedankt...
Gewijzigd op 01/01/1970 01:00:00 door Jan de Vries
PHP hulp
22/12/2024 18:35:34Joren de Wit
23/12/2007 18:56:00Omdat de dubbele quotes bij het value attribuut missen:
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit