fout in form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ronald E

Ronald E

21/06/2012 21:31:15
Quote Anchor link
Ik heb een formulier gemaakt en heb een bestaan formulier gebruikt.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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); } ?>" /> * &nbsp;&nbsp;

<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); } ?>" /> * &nbsp;&nbsp;

<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
 
PHP hulp

PHP hulp

24/11/2024 02:53:11
 
Jeroen VD

Jeroen VD

21/06/2012 21:34:55
Quote Anchor link
Je moet php afsluiten voor de html, dus voor de form.
 
Ronald E

Ronald E

21/06/2012 21:39:57
Quote Anchor link
ja dat klopt de eerste en de laatst php gebruik ik nu alleen even om de code beter te laten zien.
 
Jeroen VD

Jeroen VD

21/06/2012 21:42:13
Quote Anchor link
Waarom doe je zo moeilijk met die labels?
 
Bart V B

Bart V B

21/06/2012 21:42:32
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$telefoon
= trim($_POST['telefoon']);
$dag = trim($_POST['dag']);
$bericht = trim($_POST['bericht']);
?>

    
        
<form method="post" action="">


$_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. ;)
 
Obelix Idefix

Obelix Idefix

21/06/2012 21:45:38
Quote Anchor link
(Zinloos) Kopiëren van variabelen op de eerste regels.
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.
 
Ronald E

Ronald E

21/06/2012 22:25:12
Quote Anchor link
Ok ik ga dat zo gelijk aanpassen en jullie adviesen uit proberen. Maar kan je een select wel mee nemen ?
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)
PHP script in nieuw venster Selecteer het PHP script
1
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); } ?>" /> * &nbsp;&nbsp;
<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.
 
Erwin H

Erwin H

22/06/2012 09:23:56
Quote Anchor link
Omdat je bij een select niet de value in het select moet zetten, maar de option die geselecteerd is een selected="selected" attibute moet geven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(isset($fout['text']['dag'])) { echo 'class="fout"'; }
?>

wordt dan
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
((isset($fout['text']['dag'])? 'class="fout"': '')
?>
 
Obelix Idefix

Obelix Idefix

22/06/2012 09:31:49
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<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); } ?>" /> * &nbsp;&nbsp;

afgezien van het php gedeelte, maar werkt dit? Een select type text en met een maxlength? en waarom &nbsp;&nbsp;

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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.