2016-10-19 2 views
0

PHP로 작성된 SMS 응용 프로그램을 배포하려고하는데이를 Heroku에 배포하고 Twilio를 사용하여 메시지를 보내고 있습니다. 누군가 Twilio 번호로 메시지를 보내면이 앱은 해당 메시지에 적절한 회신을 보냅니다. 이 응용 프로그램에서 switch 문에 문제가 있습니다. 필자는 PHP로 코딩하는 것을 처음 사용하기 때문에이 코드를 사용할 수 없습니다. 아래 코드를 붙여 넣습니다. 제발 도와주세요. 미리 감사드립니다.heroku에 php 메시징 응용 프로그램을 배포하고 twilio를 사용하여 메시지 보내기

<?php 
    session_start(); 
    header("content-type: text/xml"); 
    switch ($answer) { 
     case 'headache' : { 
      print('OTC Crocin may help!'); 
      break; 
     case 'stomachache' : { 
      print('OTC Tylenol may help!'); 
      break; 
     case 'cough' : { 
      print('OTC Robitussin Cough may help!'); 
      break; 
     case 'cold' : { 
      print('OTC Aspirin may help!'); 
      break; 
     case 'vomiting' : { 
      print('OTC Pepto-Bismol may help!'); 
      break; 
     case 'headache doctor' : { 
      print('Dr. Lorem Ipsum - Here is the address! Call at +1 xxx xxx xxxx'); 
      break; 
     case 'stomachache doctor' : { 
      print('Dr. Lorem Ipsum - Here is the address! Call at +1 xxx xxx xxxx'); 
      break; 
     case 'cough doctor' : { 
      print('Dr. Lorem Ipsum - Here is the address! Call at +1 xxx xxx xxxx'); 
      break; 
     case 'cold doctor' : { 
      print('Dr. Lorem Ipsum - Here is the address! Call at +1 xxx xxx xxxx'); 
      break; 
     case 'vomiting doctor' : { 
      print('Dr. Lorem Ipsum - Here is the address! Call at +1 xxx xxx xxxx'); 
      break; 
    } 




    $from = $_POST['From']; 
    $answer = $_POST['Body']; 
    $reply = array(); 


    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
?> 

<Response> 
    <Sms> 
      <?php 
       if(is_array($reply)){ 
        foreach($reply as $key => $value){ 
         echo $value; 
        } 
       } 
       else{ 
        echo $reply; 
       } 
      ?> 
    </Sms> 
</Response> 
+0

이 SMS는 "이것은 의학적 조언이 아니며, 의사에게 진찰을 받거나 911에 전화하십시오."포기가되어서 고소 당하지 않기를 바랍니다. – ceejayoz

답변

0

여기에 Twilio 개발자 전도사가 있습니다.

<Sms> TwiML verb을 사용하고 있지만 들어오는 SMS 메시지에 응답하고 있습니다. <Sms>은 음성 통화 중에 SMS 메시지를 보내는 경우에만 사용됩니다.

대신 SMS 메시지에 회신하는 <Message> TwiML 동사를 사용하려고합니다. 따라서 코드의 마지막 부분은 다음과 같아야합니다 :

<Response> 
    <Message> 
      <?php 
       if(is_array($reply)){ 
        foreach($reply as $key => $value){ 
         echo $value; 
        } 
       } 
       else{ 
        echo $reply; 
       } 
      ?> 
    </Message> 
</Response> 
관련 문제