2010-03-22 118 views
0

我有这种形式。基本上我想要的是根据用户在“attn”选项列表中选择的内容发送不同网址的自动回复。我一直在想我可以为每个下拉值都有一个不同的变量。然后它会将该变量传递给邮件脚本,该脚本将选择要在发送的自动响应中插入哪个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 <[email protected]>' . "\n" ; 
$headers = 'Bcc: [email protected]' . "\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"); 
?> 

回答

0

我不能完全肯定我理解正确你的要求。
让我直截了当:你想根据用户从下拉菜单中选择的内容在邮件中编写一个特定的URL? 如果是的话,我会用这样的:

$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,这将是不同的,根据用户所提供的下拉值。

+0

是的,这是正确的,这是我想要做的。 – Kelbizzle 2010-03-22 15:52:06

+0

然后我的代码应该可以工作。 只需在邮件文本中使用'$ url',并且用户将根据下拉列表中选定的值接收不同的网址。 你是否介意放弃一条线,如果这解决了你的问题? – Turbotoast 2010-03-22 16:20:46

+0

对不起,我在别的东西旁边。我已经做出了您所建议的更改。邮件脚本完成并在邮件中$ url不显示相应的URL。 – Kelbizzle 2010-03-22 20:14:54

0

为了将用户重定向到基于“收件人”字段中输入不同的网址,在你的PHP文件替换以下行:

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

用下面的开关语句:

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; 

}