2 votes

GET passer à la chaîne de caractères

Je reçois donc une valeur de mon $_GET par exemple 403 et je l'envoie par la poste. Mais je veux être sûr que s'il y a des retours 403, il y aura des retours. sent dans le courrier.

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

L'interrupteur ne fonctionne pas pour moi.

2voto

teeyo Points 2486

Vous ne changez pas la variable globale $_GET['status'] en utilisant echo et je ne pense pas que vous devriez l'être, utilisez plutôt une variable :

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;

0voto

ino Points 1361

Vous êtes ici :

Convertit la valeur reçue de $_GET en nombre entier et ajoute l'élément default valeur du cas.

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

  case 404:
    echo 'delivered';
    break;

 default:
    echo 'unknown status';
    break;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X