select datum validation

Status
Niet open voor verdere reacties.

arienlans

Gebruiker
Lid geworden
15 aug 2008
Berichten
172
ik heb dit stukje scipt
PHP:
function dropdownbox_Datum()
{
  global $maanden;
  $dag=(isset($_POST['dag']))?$_POST['dag']:date('dag');
  $maand=(isset($_POST['maand']))?$_POST['maand']:date('m');
  $jaar=(isset($_POST['jaar']))?$_POST['jaar']:date('Y');
  echo "<select name=\"dag\">";
          for($a=0;$a<=31;$a++){
            echo '<option value="'.$a.'"';
            echo ($a==$dag)?' selected': $dag;
            echo '>'.$a.'</option>'."\n";
          }
  echo "</select>";
  echo "<select name=\"maand\">";
          for($a=1;$a<=12;$a++){
            echo '<option value="'.$a .'"';
            echo ($a==$maand)?' selected':$maand;
            echo '>'.$a.'</option>'."\n";
          }
  echo "</select>";
  echo "<select name=\"jaar\">";
          for($a=1985;$a<=1997;$a++){
            echo '<option value="'.$a.'"';
            echo ($a==$jaar)?' selected':'';
            echo '>'.$a.'</option>'."\n";
          }
  echo "</select>";
}
kan ik van dit script als leeg veld bv --dag-- --maand-- en --jaar-- als begin waarde weer laten geven?
kan ik van de maanden januari, februari, enz maken?
en kan ik als er niets is ingevuld een fout melding laten weergeven
 
Laatst bewerkt door een moderator:
Het weergeven van de standaardvalue is heel gemakkelijk:

PHP:
function dropdownbox_Datum()
{
  global $maanden;
  $dag=(isset($_POST['dag']))?$_POST['dag']:date('dag');
  $maand=(isset($_POST['maand']))?$_POST['maand']:date('m');
  $jaar=(isset($_POST['jaar']))?$_POST['jaar']:date('Y');
  echo "<select name=\"dag\">";
  echo '<option value="">-- dag --</option>';
          for($a=0;$a<=31;$a++){
            echo '<option value="'.$a.'"';
            echo ($a==$dag)?' selected': $dag;
            echo '>'.$a.'</option>'."\n";
          }
  echo "</select>";
  echo "<select name=\"maand\">";
 echo '<option value="">-- maand --</option>';
          for($a=1;$a<=12;$a++){
            echo '<option value="'.$a .'"';
            echo ($a==$maand)?' selected':$maand;
            echo '>'.$a.'</option>'."\n";
          }
  echo "</select>";
  echo "<select name=\"jaar\">";
  echo '<option value="">-- jaar --</option>';
          for($a=1985;$a<=1997;$a++){
            echo '<option value="'.$a.'"';
            echo ($a==$jaar)?' selected':'';
            echo '>'.$a.'</option>'."\n";
          }
  echo "</select>";
}

Het weergeven van een foutmelding zul je bij je validatie moeten doen. Niet in de code waar je de dropdown weergeeft.

[EDIT]
regels: 8, 16 en 24 zijn toegevoegd
[/EDIT]
 
validation van drop down menu

Super bedankt probleem 1 opgelost

kan iemand me helpen met probleem 2

PHP:
if (strlen($dag) < 1) {
            $fout['dag']  .= "Voer uw <strong>geboorte dag</strong> in.<br>";
			$vervuild  = TRUE;}	
			
		if (strlen($maand) < 1) {
            $fout['maand']  .= "Voer uw <strong>geboorte maand</strong> in.<br>";
			$vervuild  = TRUE;}
			
		if (strlen($jaar) < 1) {
            $fout['jaar']  .= "Voer uw <strong>geboorte jaar</strong> in.<br>";
			$vervuild  = TRUE;}

zo controleer ik nu mijn dropdown menu maar dat werkt niet.
Wat is een goede manier om te kijken of ze daad werkelijk van --dag-- een dag ingevoerd hebben?
Mod: Graag zelf PHP-tags om je code zetten.
 
Laatst bewerkt door een moderator:
Is het nu zo dat ie geen foutmelding geeft als je geen datum hebt ingevoerd, of is het zo dat ie wel een foutmelding geeft als je wel een datum hebt ingevoerd?

Anyhow,

Als je in plaats van:

PHP:
if (strlen($dag) < 1) {

nou eens:

PHP:
if ( $dag == '' || $dag == '-- dag --' ) {

gebruikt. Werkt het dan ook niet?
 
Dit werkt.
ook geeft die de dag en de maand van vandaag weer
 
Laatst bewerkt:
Ja, dat is logisch dat ie de dag van vandaag weergeeft. Dat staat duidelijk in je code dat ie dat moet doen.

Maak van:

PHP:
$dag=(isset($_POST['dag']))?$_POST['dag']:date('dag');
  $maand=(isset($_POST['maand']))?$_POST['maand']:date('m');
  $jaar=(isset($_POST['jaar']))?$_POST['jaar']:date('Y');

eens:

PHP:
$dag=(isset($_POST['dag']))?$_POST['dag']:'';
  $maand=(isset($_POST['maand']))?$_POST['maand']:'';
  $jaar=(isset($_POST['jaar']))?$_POST['jaar']:'';
 
OK super ErikBooy007 ook op gelost
maar hoe krijg ik de dag, maand en jaar gecontroleerd?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan