2011-04-18 131 views
1

嗨,我是新的PHP 如何将邮件发送到PHP中所选城市与缺乏自信的电子邮件ID与$主题$消息$头是用PHP switch语句这个正确的方式

$selectcity = array("Bengaluru","Coimbatore","Chennai");                           
switch(trim($selectcity)) 
{ 
     case "Bengaluru": 
     { 
     $to = '[email protected]''$subject''$message''$headers'; 
     break; 
     } 
     case "Coimbatore": 
     { 
     $to = '[email protected]''$subject''$message''$headers'; 
       break; 
     } 
     case "Chennai": 
     { 
     $to = '[email protected]''$subject''$message''$headers'; 
       break; 
     }  
    } 

回答

1

装饰()不支持数组。在switch语句中,应该放置一个选定的结果,而不是可用的选项。

参考:http://php.net/manual/en/function.trim.php

例子:

假设你有一个表格发送选择选项(例如下拉表单中箱):

$selected = trim($_POST['ddb_city']); 
switch($selected) { 
    // the cases 
} 

此外,发送电子邮件,检查PHP(http://php.net/manual/en/function.mail.php)中的邮件()函数。你当前的语法是错误的。

+0

ü可以给我一些例子,说明如何做到这一点???我迫切需要添加 – Abhijeet 2011-04-18 03:29:12

+0

示例。 – Raptor 2011-04-18 03:39:27

1

您无法打开阵列。你需要有一个特定的值来打开,就像数组中的一个元素一样。

$selectcity = array("Bengaluru","Coimbatore","Chennai");                           
$i=0; // this doesn't really make sense in the context, just used for the example 
switch(trim($selectcity[$i])) 
{ 
    case "Bengaluru": 
     $to = '[email protected]'; 
     $subject="subject"; 
     $message="message"; 
     $headers="test"; 
     break; 

    case "Coimbatore": 
     $to = '[email protected]'; 
     $subject="subject"; 
     $message="message"; 
     $headers="test"; 
     break; 
    case "Chennai": 
     $to = '[email protected]'; 
     $subject="subject"; 
     $message="message"; 
     $headers="test"; 
     break; 
    default: 
     $to = '[email protected]'; 
     $subject="subject"; 
     $message="message"; 
     $headers="test"; 
} 
+0

嘿,我试过你说,但它给错误这样的解析错误:语法错误,意想不到的T_CONSTANT_ENCAPSED_STRING第6行中的示例代码 – Abhijeet 2011-04-18 03:41:11

+0

多数民众赞成多数民众赞成,因为你的价值引用是在你的'$到'值搞砸了。 – prodigitalson 2011-04-18 03:43:29

+0

你的语句'$ to ='[email protected]''$ subject''$ message''$ headers';'会产生解析错误,可能是这样的'$ to = array('one @ gmail。 com',$ subject,$ message,$ headers);',您可能因此必须更改其他3个语句。 – Kumar 2011-04-18 03:47:01

1

您不需要每个case语句中的{}大括号。如果你从一个窗体中选择的城市,也许像下面这样将有助于:

<?php 
$selectedCity = $_GET['city']; 
switch(trim($selectedCity)) 
{ 
    case 'Chennai': 
     $to = "<contents>"; 
     break; 
    case 'Bengaluru': 
     $to = "<contents>"; 
     break; 
    default: // do whatever you want when they've selected something unexpected. 

     break; 
} 
?> 
0
$selectcity = array_map('trim',array("Bengaluru","Coimbatore","Chennai")); 

// the assumiing your value for city is coming form a form and you want to determine 
// address to send to  
switch($_POST['city'];) 
{ 
     case "Bengaluru": 
      $to = "'[email protected]''$subject''$message''$headers'"; 
      break; 

     case "Coimbatore": 
      $to = "'[email protected]''$subject''$message''$headers'"; 
      break; 

     case "Chennai": 
      $to = "'[email protected]''$subject''$message''$headers'"; 
      break; 

}