fout in form
Het werkt wel. Als ik alles goed in vul word het goed verstuurd.
Ik heb nu stukjes er uit gehaald.
Maar als ik 1 ding vergeet in te vullen. zou ik graag willen dat hij alle gegevens die ik heb in gevuld bewaart.
De input van id="telefoon" werkt .
De textarea van id="bericht" werkt ook.
De select van id="dag" doet het niet.
Of zit ik nu moeilijk te zoeken en kan je select niet mee nemen???
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
<?php
$telefoon = trim($_POST['telefoon']);
$dag = trim($_POST['dag']);
$bericht = trim($_POST['bericht']);
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<label [code]<?php if(isset($fout['text']['telefoon'])) { echo 'class="fout"'; } ?>>Uw telefoon nr.:</label>
<input type="text" id="telefoon" name="telefoon" maxlength="11" <?php if(isset($fout['input']['telefoon'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($telefoon)) { echo stripslashes($telefoon); } ?>" /> *
<label <?php if(isset($fout['text']['dag'])) { echo 'class="fout"'; } ?>>dag:</label>
<select type="text" id="dag" name="dag" maxlength="2" <?php if(isset($fout['input']['dag'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($dag)) { echo stripslashes($dag); } ?>" /> *
<label <?php if(isset($fout['text']['bericht'])) { echo 'class="fout"'; } ?>>Heeft u speciale wensen:</br></label>
<textarea id="bericht" name="bericht" <?php if(isset($fout['input']['bericht'])) { echo 'class="fout"'; } ?> cols="45" rows="10"><?php if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea><br />
<input type="submit" id="verzenden" name="verzenden" value="verzenden" />
<input type="submit" id="wis" name="wis" value="Wis velden" />
</form>
?>
$telefoon = trim($_POST['telefoon']);
$dag = trim($_POST['dag']);
$bericht = trim($_POST['bericht']);
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<label [code]<?php if(isset($fout['text']['telefoon'])) { echo 'class="fout"'; } ?>>Uw telefoon nr.:</label>
<input type="text" id="telefoon" name="telefoon" maxlength="11" <?php if(isset($fout['input']['telefoon'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($telefoon)) { echo stripslashes($telefoon); } ?>" /> *
<label <?php if(isset($fout['text']['dag'])) { echo 'class="fout"'; } ?>>dag:</label>
<select type="text" id="dag" name="dag" maxlength="2" <?php if(isset($fout['input']['dag'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($dag)) { echo stripslashes($dag); } ?>" /> *
<label <?php if(isset($fout['text']['bericht'])) { echo 'class="fout"'; } ?>>Heeft u speciale wensen:</br></label>
<textarea id="bericht" name="bericht" <?php if(isset($fout['input']['bericht'])) { echo 'class="fout"'; } ?> cols="45" rows="10"><?php if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea><br />
<input type="submit" id="verzenden" name="verzenden" value="verzenden" />
<input type="submit" id="wis" name="wis" value="Wis velden" />
</form>
?>
Gewijzigd op 21/06/2012 21:33:05 door Ronald E
Je moet php afsluiten voor de html, dus voor de form.
ja dat klopt de eerste en de laatst php gebruik ik nu alleen even om de code beter te laten zien.
Waarom doe je zo moeilijk met die labels?
Code (php)
$_SERVER['PHP_SELF'] is niet nodig, en ook nog onveilig ook.
Dus die mag weg. En wil je hem wel gebruiken, doe dan eens een echo ervoor plaatsen. ;)
In het script wat je laat zien, is er ner$_SERVER['PHP_SELF'] gens controle op de input.
$_SERVER['PHP_SELF'] is inderdaad onveilig.
Wat betreft je vraag: kijk eens op (bv) http://www.w3schools.com/tags/tag_select.asp hoe je een select in een formulier zet. Dat is anders dan dat jij het probeert.
Als alles wekt wil ik het nog wegschrijven in een database als iemand voor de volgende komt dan kan hij de gegevens van de database gebruiken.
Toevoeging op 22/06/2012 01:24:36:
nu zie ik dat ik wat vergeten wat in het voor beeld te zetten. zo hoorde het te zijn van de select
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
<label [code]<?php if(isset($fout['text']['dag'])) { echo 'class="fout"'; } ?>>dag:</label>
<select type="text" id="dag" name="dag" maxlength="2" <?php if(isset($fout['input']['dag'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($dag)) { echo stripslashes($dag); } ?>" /> *
<option >dag</option>
<option >1</option>
<option >2</option>
<option >3</option>
<option >4</option>
<option >5</option>
<option >6</option>
</select>
?>
<label [code]<?php if(isset($fout['text']['dag'])) { echo 'class="fout"'; } ?>>dag:</label>
<select type="text" id="dag" name="dag" maxlength="2" <?php if(isset($fout['input']['dag'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($dag)) { echo stripslashes($dag); } ?>" /> *
<option >dag</option>
<option >1</option>
<option >2</option>
<option >3</option>
<option >4</option>
<option >5</option>
<option >6</option>
</select>
?>
maar de melding komt niet terug als ik niet alles heb ingevuld. dat gaan bij De input
en textarea wel en bij select werkt het niet.
als ik een echo $dag; doe dan zie ik wel het aantal wat ik had ingegeven. maar in het menu van de select geeft hij de eerste weer aan.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<select name="dag">
<option>dag</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option selected="selected">4</option>
<option>5</option>
<option>6</option>
</select>
<option>dag</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option selected="selected">4</option>
<option>5</option>
<option>6</option>
</select>
Verder heeft een select geen type attribute, dat type="text" kan je dus gewoon weglaten.
En misschien goed voor je om eens naar de ternary operator te kijken: http://nl.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary
Dit is een alternatieve schrijfwijze voor simpele if statements, voornamelijk handig bij het opmaken van strings. Dit:
wordt dan
Code (php)
afgezien van het php gedeelte, maar werkt dit? Een select type text en met een maxlength? en waarom
t.a.v. je vraag: de 1e optie wordt 'standaard' getoond. Je zult dus daar moeten controleren of de variabele bestaat --> zo ja: tonen, zo niet: toon dag.
Edit: te langzaam met typen; zie ook bovenstaande reactie.
Gewijzigd op 22/06/2012 09:32:36 door Obelix Idefix