Nieuw lid |
|
Dag mensen.
Ik heb een formulier waarbij men een datum kan kiezen. Dit is (met externe hulp) als volgt weergegeven:
<?php
// Pak de standaard-opties
$arrayOpties = array(
'empty' => '',
'dontcare' => 'geen voorkeur',
'0' => 'vandaag',
'1' => 'morgen',
);
// Zet er enkele dagen in de toekomst bij
$intAantalDagenVooruit = 7;
for ( $intTeller = 2; $intTeller <= $intAantalDagenVooruit; $intTeller++ )
{
$arrayOpties[$intTeller] = date( 'd-m-Y', strtotime( '+' . $intTeller . ' day' ) );
}
// Default '0'
if ( !isset($_POST['voorkeursdatum']) or !isset($arrayOpties[$_POST['voorkeursdatum']]) ) {
$_POST['voorkeursdatum'] = 'empty';
}
// Geef alles weer
echo '<select name="voorkeursdatum">' . PHP_EOL;
foreach ( $arrayOpties as $value => $description )
{
$strSelected = $_POST['voorkeursdatum'] == $value
? ' selected="selected"'
: '';
echo '<option value="' . $value . '"' . $strSelected . '>' . htmlspecialchars($description) . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL; ?>
<?php // Pak de standaard-opties 'empty' => '', 'dontcare' => 'geen voorkeur', '0' => 'vandaag', '1' => 'morgen', ); // Zet er enkele dagen in de toekomst bij $intAantalDagenVooruit = 7; for ( $intTeller = 2; $intTeller <= $intAantalDagenVooruit; $intTeller++ ) { $arrayOpties[$intTeller] = date( 'd-m-Y', strtotime( '+' . $intTeller . ' day' ) ); } // Default '0' if ( !isset($_POST['voorkeursdatum']) or !isset($arrayOpties[$_POST['voorkeursdatum']]) ) { $_POST['voorkeursdatum'] = 'empty'; } // Geef alles weer echo '<select name="voorkeursdatum">' . PHP_EOL ; foreach ( $arrayOpties as $value => $description ) { $strSelected = $_POST['voorkeursdatum'] == $value ? ' selected="selected"' : ''; echo '<option value="' . $value . '"' . $strSelected . '>' . htmlspecialchars($description) . '</option>' . PHP_EOL ; } echo '</select>' . PHP_EOL ; ?>
Je ziet dat men dus uiteindelijk in het menu een keuze kan maken tussen; leeg veld, geen voorkeur, vandaag, morgen, en data tot 7 dagen vooruit.
Nu gaan er 2 dingen mis.
1) Wanneer men nu op het formulier komt staat het veld "vandaag" automatisch geselecteerd, terwijl ik graag het lege veld als standaard geselecteerd veld wil. Hoe komt dat?
2) Hoe kan ik het bovenstaande script kloppend laten mailen? Nu heb ik
<?php ' <table><tr>
<td align="left" valign="top" width="130">Voorkeursdatum: </td>
<td align="left" valign="top" width="auto">'. $arrayOpties[ $_POST['voorkeursdatum'] ] . '</td>
</tr></table>'?>
<?php ' <table><tr> <td align="left" valign="top" width="130">Voorkeursdatum: </td> <td align="left" valign="top" width="auto">'. $arrayOpties[ $_POST['voorkeursdatum'] ] . '</td> </tr></table>'?>
Hij geeft nu wel alle standaard waarden neer(die zijn gefefinieerd in de array) maar als ik op een latere datum dan morgen klik mailt hij de datum van vandaag. Hoe kan ik dit oplossen?
Enorm bedankt voor alle hulp!
|