2010-03-22 6 views
0

J'ai ce formulaire. Fondamentalement, ce que je veux est d'envoyer une réponse automatique avec une URL différente en fonction de ce que l'utilisateur choisit dans la liste de sélection "attn". J'ai pensé que je pourrais avoir une variable différente pour chaque valeur déroulante. Il transmettra ensuite cette variable au script de messagerie qui choisira l'URL à insérer dans la réponse automatique envoyée. Cela me donne parfois mal à la tête d'y penser. Quelle est la manière la plus facile d'accomplir ceci?Choisir la variable en fonction du choix de l'utilisateur parmi la liste de sélection

Est-ce que je fais plus de travail pour moi-même? Je ne sais vraiment pas parce que je ne suis pas programmeur. Merci d'avance!

Voici la forme:

<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> 

Voici le script mail:

<?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"); 
?> 

Répondre

0

Je ne suis pas tout à fait sûr d'avoir bien compris votre demande. Laissez-moi comprendre: Vous voulez écrire une certaine URL dans le courrier en fonction de ce que l'utilisateur a choisi dans le menu déroulant? Si oui, je voudrais utiliser quelque chose comme ceci:

$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]; 

Après cela, vous pouvez utiliser $url dans votre courrier et il sera différent, en fonction de la valeur de la liste déroulante fournie par l'utilisateur.

+0

Oui c'est correct c'est ce que je voudrais faire. – Kelbizzle

+0

Ensuite, mon code ci-dessus devrait fonctionner. Il suffit d'utiliser '$ url' dans le texte du message, et l'utilisateur recevra différentes URL en fonction de la valeur sélectionnée dans la liste déroulante. Cela vous dérangerait-il de supprimer une ligne si cela corrigeait votre problème? – Turbotoast

+0

Je suis désolé d'avoir été dérouté par autre chose. J'ai fait les changements que vous avez suggérés. Le script de messagerie se termine et dans l'e-mail, l'URL $ n'affiche pas l'URL correspondante. – Kelbizzle

0

Pour rediriger l'utilisateur vers une URL différente en fonction du champ 'Attn', remplacez la ligne suivante dans votre fichier php:

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

Avec l'instruction switch suivante:

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; 

}

Questions connexes