If $_POST is not empty?
Ik heb een geheime field in mijn form om te zorgen dat als spammers posten dat het niet in de database komt.
Dus wanneer je de field "robots" invuld wordt het niet gepost.
Nu heb ik wel zo dat de if empty functies het niet meer doen, dus wanneer ik alle fields leeg laat wordt het alsnog geplaatst.
Wie kan me helpen?
<input name="naam" type="text" id="naam" size="25" />
<textarea name="limitedtextfield" cols="30" rows="6" maxlength="250"></textarea>
<p class="spammers" id="pot">
Geheime field
<input name="robots" type="text" id="robots" class="robots" />
</p>
<input name="submit" type="submit" id="submit" value="REAGEER" />
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<? if(isset($_POST['submit'])){
echo'<p>';
if(empty($_POST['limitedtextfield'])){
echo'Geen bericht ingevuld.';
}
if(empty($_POST['naam'])){
echo'Geen naam ingevuld.';
}
if($_POST['robots']){
echo'Spammer!';
}
else {
mysql_query("INSERT INTO `db` (naam,limitedtextfield) VALUES ('".$_POST['naam']."', '".$_POST['limitedtextfield']."'");
echo 'Gelukt!';
}
echo'</p>';
}
?>
echo'<p>';
if(empty($_POST['limitedtextfield'])){
echo'Geen bericht ingevuld.';
}
if(empty($_POST['naam'])){
echo'Geen naam ingevuld.';
}
if($_POST['robots']){
echo'Spammer!';
}
else {
mysql_query("INSERT INTO `db` (naam,limitedtextfield) VALUES ('".$_POST['naam']."', '".$_POST['limitedtextfield']."'");
echo 'Gelukt!';
}
echo'</p>';
}
?>
Gewijzigd op 28/04/2013 01:23:39 door Yesyah Deli
daarna ga je controleren of je ook krijgt wat je wilt. dit noemen we validatie
vervolgens test je aan het eind van de validatie of er onjuistheden zijn waargenomen, zo niet dan ga je de gegevens verwerken, zo ja dan keer je terug naar het formulier
Code (php)
Gewijzigd op 28/04/2013 01:48:15 door Frank Nietbelangrijk
Probeer eens een ISSET() in plaats van een EMPTY().
Een <input> veld wordt ook gepost als ie leeg is.
Bedankt voor de reacties het is me gelukt.