|
Posted by Csaba Gabor on 11/20/07 01:20
Bill H wrote:
> /* Initialize a clean array to replace $_POST with clean data */
> $etype = $_POST['etype'];
> $errmsg = 'etype-: '.$etype.' | Case value-: ';
>
> /* Define the mailto address
> switch ($etype) {
> case 0:
> $mailto = 'sales@mycorp.net';
> $errmsg .= '0';
> break;
> case 1:
> $mailto = 'support@mycorp.net';
> $errmsg .= '1';
> break;
> case 2:
> $mailto = 'webmaster@mycorp.net';
> $errmsg .= '2';
> break;
> case 3:
> $mailto = 'myacct@mycorp.net';
> $errmsg .= '3';
> break;
> default:
> $mailto = 'me@mycorp.net';
> $errmsg .= 'default';
> }
> .
> .
> builds an email and sends it to myself.
> ?>
>
> The email shows up at the "me" address instead of the "myacct" address. The
> problem is the email shows "etype-: 3 | Case value-: ". This indicates
> that the switch didn't work at all. Can anyone tell me why?
>
Isn't it simpler to do:
$aMailTo = array('sales@mycorp.net', 'support@mycorp.net',
'webmaster@mycorp.net', 'myacct@mycorp.net');
$mailTo = 'me@mycorp.net'; // default
if (array_key_exists($etype, $aMailTo))
$mailTo = $aMailTo[$etype];
$errmsg .= "$etype";
By the way, in your code above, you haven't closed off
the comment that starts on the Define the mailto address line.
Also, though it shouldn't make a difference in the switch
statement, the type of $etype is string.
Csaba Gabor from Vienna
Navigation:
[Reply to this message]
|