De bedoeling is dat wanneer er niets is ingevuld er een melding komt dat er niets is ingevuld. Op onderstaande manier komt hij bij mij meteen al met die opmerking wanneer het script aangeroepen wordt, maar deze moet pas gegeven worden wanneer "submit" is ingedrukt en dus niet eerder. Hoe krijg ik dat wel voor elkaar? Tot nu geven alle mogelijkheden meteen al die melding.


<?php
if (!isset($_POST['zoekterm']) AND empty($_POST['zoekterm'])) {
//niets ingevuld
}
else{
//iets ingevuld
}
?> 
<?php
if (isset($_POST['zoekterm']) AND $_POST['zoekterm'] == '') {
//niets ingevuld
}
else
// hier weet je niet of er al een $_POST/$_GET is.
?>
Je kan het ook op zo'n manier doen :

<?php
if (isset($_POST['check'])) {
	if(empty($_POST['zoekterm'])){
	//niets ingevuld
	echo 'Je hebt niks ingevuld!';
	}
	else{
	//iets ingevuld
	echo 'je hebt <b>'.$_POST['zoekterm'].'</b> ingevuld.';
	}
}
?>
<form method="POST">
<input type="text" name="zoekterm"/>
<input type="submit" name="check"/>
</form>


De reden, dat het bij jou niet werkt is vanwege de "!", dat betekend, als het niet zo is.

Bijv:
!empty = als die niet leeg is
empty = al die leeg is

Jouw script geeft dus aan, als er geen isset is gedaan, activeert die het gedeelte "//niets ingevuld"
@Marco: En wat als ik een 0 (nul) zoek?
- SanThe - op 28/05/2016 13:26:19

@Marco: En wat als ik een 0 (nul) zoek?


Dan kan je dat toch prima maken/zoeken? Ligt eraan wat je zoekt en hoe.
en anders

 if(empty($_POST['zoekterm'])){


veranderen naar :

 if($_POST['zoekterm'] == ''){
Als je een zoekformulier maakt, gebruik dan meteen GET voor de zoekterm. Dan krijgen mensen geen melding meer dat de POST-actie opnieuw plaatsvindt, na een refresh.
Bedankt iedereen! Heel goed. En Marco omdat het nu 100% werkt zoals ik het graag zie.

Reageren