根据选项列表中的用户选择选择变量

时间:2010-03-22 15:24:53

标签: php forms variables

我有这个表格。基本上我想要的是根据用户在“attn”选项列表中选择的内容发送带有不同URL的自动回复。我一直在想我可以为每个下拉值设置一个不同的变量。然后,它会将此变量传递给邮件脚本,该脚本将选择要在发送的自动响应中插入的URL。它有时会让我头疼。最简单的方法是什么?

我为自己做了更多工作吗?我真的不知道,因为我不是程序员。提前谢谢!

以下是表格:

<form name="contact_form" method="post" action="sendemail_reports.php" onsubmit="return validate_form ( );">
      <div id='zohoWebToLead' align=center>
      <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="txt_body">
      <table border=0 cellspacing=0 cellpadding=5 width=480 style='border-bottom-color: #999999; border-top-color: #999999; border-bottom-style: none; border-top-style: none; border-bottom-width: 1px; border-top-width: 2px; background-color:transparent;'>
        <tr>
          <td width='75%'><table width=480 border=0 cellpadding=5 cellspacing=0 style='border-bottom-color: #999999; border-top-color: #999999; border-bottom-style: none; border-top-style: none; border-bottom-width: 1px; border-top-width: 2px; background-color:transparent;'>
            <input type="hidden" name="ip" value="'.$ipi.'" />
            <input type="hidden" name="httpref" value="'.$httprefi.'" />
            <input type="hidden" name="httpagent" value="'.$httpagenti.'" />
            <tr></tr>
            <tr>
              <td colspan='2' align='left' style='border-bottom-color: #dadada; border-bottom-style: none; border-bottom-width: 2px; color:#000000; font-family:sans-serif; font-size:14px;'><strong>Send us an Email</strong></td>
            </tr>
            <tr>
              <td nowrap style='font-family:sans-serif;font-size:12px;font-weight:bold' align='right' width='25%'> First Name   : </td>
              <td width='75%'><input name='visitorf' type='text' size="48" maxlength='40' /></td>
            </tr>
            <tr>
              <td nowrap style='font-family:sans-serif;font-size:12px;font-weight:bold' align='right' width='25%'>Last Name   :</td>
              <td width='75%'><input name='visitorfl' type='text' size="48" maxlength='80' /></td>
            </tr>
            <tr>
              <td nowrap style=
        'font-family:sans-serif;font-size:12px;font-weight:bold' align='right' width='25%'> Email Adress  : </td>
              <td width='75%'><input name='visitormail' type='text' size="48" maxlength='100' /></td>
            </tr>
            <tr>
              <td nowrap style='font-family:sans-serif;font-size:12px;font-weight:bold' align='right' width='25%'> Phone   : </td>
              <td width='75%'><input name='visitorphone' type='text' size="48" maxlength='30' /></td>
            </tr>
            <td nowrap style='font-family:sans-serif;font-size:12px;font-weight:bold' align='right' width='25%'> Subject   : </td>
              <td width='75%'><select name="attn" size="1">
                <option value=" Investment Opportunities ">Investment Opportunities </option>
                <option value=" Vacation Rentals ">Vacation Rentals </option>
                <option value=" Real Estate Offerings ">Real Estate Offerings </option>
                <option value=" Gatherings ">Gatherings </option>
                <option value=" General ">General </option>
              </select></td>
            <tr>
              <td nowrap style=
        'font-family:sans-serif;font-size:12px;font-weight:bold' align='right' width='25%'> Message   :<br />
                <em>(max 5000 char)</em></td>
              <td width='75%'><textarea name='notes' maxlength='5000' cols="48" rows="3"></textarea></td>
            </tr>
            <tr>
              <td colspan=2 align=center style=''><input name='save' type='submit' class="boton" value=Send mail />
                &nbsp; &nbsp;
                <input type='reset' name='reset' value=Reset class="boton" /></td>
            </tr>
          </table></td>
        </tr>
      </table>
      </div>
    </form>

这是邮件脚本:

    <?php
//the 3 variables below were changed to use the SERVER variable  
$ip = $_SERVER['REMOTE_ADDR'];  
$httpref = $_SERVER['HTTP_REFERER'];   
$httpagent = $_SERVER['HTTP_USER_AGENT'];   

$visitorf = $_POST['visitorf'];   
$visitorl = $_POST['visitorl'];   
$visitormail = $_POST['visitormail'];   
$visitorphone = $_POST['visitorphone'];   
$notes = $_POST['notes'];  
$attn = $_POST['attn'];   

//additional headers   
$headers = 'From: Me <myemail@domain.com>' . "\n" ;  
$headers = 'Bcc: myemail@domain.com' . "\n";  


if (eregi('http:', $notes)) {
    die ("Do NOT try that! ! ");
}

if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))  
{  
    echo "<h2>Use Back - Enter valid e-mail</h2>\n";  
    $badinput = "<h2>Feedback was NOT submitted</h2>\n";  
    echo $badinput;  
    die ("Go back! ! ");  
}  

if(empty($visitorf) || empty($visitormail) || empty($notes )) {  
    echo "<h2>Use Back - fill in all fields</h2>\n";  
    die ("Use back! ! ");  
}  

$todayis = date("l, F j, Y, g:i a") ;  
$subject = "I want to download the report about $attn";  
$notes = stripcslashes($notes);  
$message = "$todayis [EST] \nAttention: $attn \nMessage: $notes \nFrom: $visitorf   $visitorl ($visitormail) \nTelephone Number: $visitorphone \nAdditional Info : IP = $ip   \nBrowser Info: $httpagent \nReferral : $httpref\n";  

//check if the function even exists  
if(function_exists("mail"))  
{  
    //send the email  
    mail($_SESSION['email'], $subject, $message, $headers) or die("could not send   email");  
} else {  
    die("mail function not enabled");  
}  

header( "Location: http://www.domain.com/thanks.php" );  
?>  

2 个答案:

答案 0 :(得分:0)

我不完全确定我理解你的要求 让我直截了当地说:你想根据用户从下拉菜单中选择的内容在邮件中写一个特定网址? 如果是这样,我会使用这样的东西:

$lookup = array(
    'Investment Opportunities' => 'http://someurl.com/',
    'Vacation Rentals' => 'http://someotherurl.com/',
    // et cetera for your other values
);

$attn = trim($_POST['attn']);
$url = $lookup[$attn];

在此之后,您可以在邮件中使用$url,并且根据用户提供的下拉值,它会有所不同。

答案 1 :(得分:0)

要根据'attn'字段将用户重定向到其他网址,请替换php文件中的以下行:

header( "Location: http://www.domain.com/thanks.php" );  

使用以下switch语句:

Switch ($_POST['attn']){
Case  " Investment Opportunities ":
    header( "Location: http://www.domain.com/thanks1.php" ); 
    break;
Case  " Vacation Rentals ":
    header( "Location: http://www.domain.com/thanks2.php" ); 
    break;
Case  " Real Estate Offerings ":
    header( "Location: http://www.domain.com/thanks3.php" ); 
    break;
Case  " Gatherings ":
    header( "Location: http://www.domain.com/thanks4.php" ); 
    break;
Case  " General ":
    header( "Location: http://www.domain.com/thanks5.php" ); 
    break;

}