2017-12-14 5 views
2

예를 들어, $_GET에서 403과 같은 값을 받고 있습니다. 메일을 보내고 있습니다. 하지만 나는 403에 반환하면 메일에 sent을 반환합니다 싶습니다.문자열로 전환하십시오.

<?php 
require_once 'vendor/autoload.php'; 

switch($_GET['status']) 
{ 
    case 403: 
     echo 'sent'; 
     break; 
} 
switch($_GET['status']) 
{ 
    case 404: 
     echo 'delivered'; 
     break; 
} 

if (!empty($_GET['MsgId'])) { 
    $transport = (new Swift_SmtpTransport('xxx', xxx)) 
     ->setUsername('xxx') 
     ->setPassword('xxx'); 

    $mailer = new Swift_Mailer($transport); 

    $message = (new Swift_Message('Status SMS ' . $_GET['MsgId'] . '.')) 
     ->setFrom(['xxx' => 'xxx']) 
     ->setTo(['xxx' => 'xxx', 'xxx' => 'xxx']) 
     ->setBody("ID Wiadomości : " . $_GET['MsgId'] . "Status Wiadomości" . $_GET['status'] . "."); 

    $result = $mailer->send($message); 

    echo 'OK'; 
} 
else { 
    echo 'Coś nie śmigło.'; 
} 
exit; 

스위치가 작동하지 않습니다.

+1

스위치가 작동하는 방식이 아닙니다. – teeyo

+0

'switch' 문을'if' 문처럼 사용하고 있습니다. – Dimi

답변

2

당신은 echo를 사용하여 전역 변수 $_GET['status']을 변경하지 않는, 내가, 당신이해야한다고 생각 대신에 변수를 사용하지 않는 : 당신이 여기

require_once 'vendor/autoload.php'; 
// we set a variable to hold the status code 
$status = ''; 
switch($_GET['status']) 
{ 
    case 403: 
     $status = 'sent'; 
     break; 
    case 404: 
     $status = 'delivered'; 
     break; 
} 


if (!empty($_GET['MsgId'])) { 
    $transport = (new Swift_SmtpTransport('xxx', xxx)) 
     ->setUsername('xxx') 
     ->setPassword('xxx'); 

    $mailer = new Swift_Mailer($transport); 

    $message = (new Swift_Message('Status SMS ' . $_GET['MsgId'] . '.')) 
     ->setFrom(['xxx' => 'xxx']) 
     ->setTo(['xxx' => 'xxx', 'xxx' => 'xxx']) 
     // and here you use that variable we prepared :) 
     ->setBody("ID Wiadomości : " . $_GET['MsgId'] . "Status Wiadomości" . $status . "."); 

    $result = $mailer->send($message); 

    echo 'OK'; 
} 
else { 
    echo 'Coś nie śmigło.'; 
} 
exit; 
0

을 :

는 값을 변환 $ _GET에서 정수로 수신하여 default 대소 문자를 추가했습니다.

switch((int)$_GET['status']) 
{ 
    case 403: 
    echo 'sent'; 
    break; 

    case 404: 
    echo 'delivered'; 
    break; 

default: 
    echo 'unknown status'; 
    break; 
} 
관련 문제