это правильный способ использовать оператор переключателя PHP - PullRequest
1 голос
/ 18 апреля 2011

привет, я новичок в php Как отправить почту в выбранный город с неуверенными идентификаторами электронной почты с $ subject $ message $ headers

$selectcity = array("Bengaluru","Coimbatore","Chennai");                                                                                                         
switch(trim($selectcity))
{
        case "Bengaluru":
        {
        $to = 'one@gmail.com''$subject''$message''$headers';
        break;
        }
        case "Coimbatore":
        {
        $to = 'two@gmail.com''$subject''$message''$headers';
                break;
        }
        case "Chennai":
        {
        $to = 'three@gmail.com''$subject''$message''$headers';
                break;
        }       
    }

Ответы [ 4 ]

1 голос
/ 18 апреля 2011

Вы не можете включить массив.У вас должно быть определенное значение для включения, например, элемент массива.

$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 = 'one@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
      break;

    case "Coimbatore":
      $to = 'two@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
      break;
    case "Chennai":
      $to = 'three@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
      break;
    default:
      $to = 'four@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
}
1 голос
/ 18 апреля 2011

Вам не нужны скобки {} внутри каждого оператора 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;
}
?>
1 голос
/ 18 апреля 2011

trim () в PHP не поддерживает массив. Внутри оператора switch вы должны поместить выбранный результат вместо доступных опций.

Ссылка: http://php.net/manual/en/function.trim.php

Пример:

Предположим, у вас есть форма для отправки опции выбора (например, раскрывающийся список в форме):

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

Также, чтобы отправить электронное письмо, проверьте функцию mail () в PHP (http://php.net/manual/en/function.mail.php). Ваш текущий синтаксис неправильный.

0 голосов
/ 18 апреля 2011
$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 = "'one@gmail.com''$subject''$message''$headers'";
          break;

        case "Coimbatore":
          $to = "'two@gmail.com''$subject''$message''$headers'";
          break;

        case "Chennai":
          $to = "'three@gmail.com''$subject''$message''$headers'";
          break;

}
...