2014-02-05 2 views
0

I 다음 PHP 코드를 가지고PHP 에코 값 밖에서 조건부 경우

관계없이 I 그것이 '이 다른 메시지가' 에코인지 반향을 어디
<?php 
    //Connection to PDO Database 
    ?> 

    <form method="post" action=""> 
    <p>Busisness telephone 1</p><input id="business_telephone_01" name="business_telephone_01" tabindex="auto" value="<?php echo $result['business_telephone_01']; ?>" type="text" /> 
    <input name="submit" type="submit" value="Save Changes"></form> 

    <?php 
    //Get from Form 

    if((empty($_POST['submit']) === false)){ 
    $business_telephone_01 = $_POST['business_telephone_01']; 
//Formating of telephone numbers 
$message = 'This message I want to display'; 
echo 'This is another message'; 
     } 

echo $message; 
    //Code to update table through PDO 
?> 

; 조건부 괄호 안에 또는 _ echo $ message; _ 대괄호 바깥에 아무 것도 표시되지 않고 오류가 표시되지 않습니다.

html 양식과 PDO가 올바르게 작동하고 업데이트 중이지만 아무 반응이 없습니다. 오류 로그에 오류가 표시되지 않습니다.

UPDATE :

  • 내가 if((empty($_POST['submit']) === false)){를 사용하는 경우 내가 PHP를 주의를 얻을 : 정의되지 않은 변수를 : 안녕하세요
  • 내가 if (isset($_POST['submit'])) {를 사용하는 경우 나 PHP 공지 얻을 : 정의되지 않은 변수 : 안녕하세요
  • 만약 I if (!isset($_POST['submit'])) {을 사용하면 내가 사용하는 정의되지 않은 변수 목록을 제공합니다. business_telephone_01

내 전체 코드

if((empty($_POST['submit']) === false)){ 
//Get from Form 
     $address_building_name = $_POST['address_building_name']; 
     $address_building_number = $_POST['address_building_number']; 
     $address_street = $_POST['address_street']; 
     $address_locality = $_POST['address_locality']; 
     $address_postcode = $_POST['address_postcode']; 
     $address_country = $_POST['address_country']; 

//Formating of address 
     $address_building_number = strtoupper($address_building_number); 
     $address_building_number = str_replace(' ','',$address_building_number); 
     $address_building_name = ucwords($address_building_name); 
     $address_street = ucwords($address_street); 
     $address_locality = ucwords($address_locality); 
     $address_postcode = strtoupper($address_postcode); 
     $address_country = ucwords($address_country); 

     echo 'Hello'; 
     $good = 'Good bye'; 

    } 
    echo $good; 
+0

** if ($ _ POST [ 'submit']) {**? 또한 제출시 오류가 있습니까? – ggdx

+0

@ dwhite.me 왜냐하면'$ _POST [ 'submit']'이 존재하지 않는다면 경고를 내게됩니다. –

+0

필요하지는 않지만 이러한 메시지를 끌 수 있습니다. 그러면 isset ($ _ POST [ 'submit'])을 사용해야합니다. – ggdx

답변

2

위 내 코드에서 나는 그것이 초기화 된 적이 있기 때문에 $message이 echo'd되지 않는 내기 기꺼이. (조건이 실패 때문에 초기화 할 예정되는 if 블록이 실행되지 않습니다.)

이 먼저 떨어져, 당신은 POST 변수가 제출되었는지 확인하기 위해 isset을 사용해야합니다

if (isset($_POST['submit'])) { 
이가 제출되지 경우

하거나, 볼 :

if (!isset($_POST['submit'])) { 

둘째, 당신은 당신의 프로그램에 오류보고를 활성화하고 알려해야하는지 오류 (있는 경우) 당신은 점점 재 :

error_reporting(E_ALL); 
ini_set("display_errors", 1); 

당신은 상황에 도움이 되거 도움이되는, 바로 개방 <?php 선 후, 스크립트의 맨 위에 다음 두 줄을 추가 할 수 있습니다.

+0

첫 번째 코드 줄에')'가 없습니다. –

+0

@ JohannesH. 감사. – Leng

+0

@Leng 먼저 도움을 주셔서 감사합니다. 그러나 귀하의 방법을 시도했지만 오류가 있습니다. 제 질문에 대한 업데이트를 참조하십시오. – user3173207

0

문제는 $ message 변수가 if 문 내에서 설정되지 않을 수 있다는 것입니다. 'if'조건이 일치하지 않으면 $ message가 설정되지 않으므로 값을 표시 할 수 없습니다.

if 문을 시작하기 전에 테스트하기 위해 $ message 변수를 일부 값으로 설정할 수 있습니다.

$message = 'condition failed'; 
if(isset($_POST['submit'])){ 
.... 
$message = 'This message I want to display'; 
} 
echo $message; 

조건이 충족되는 경우에, "나는 표시 할이 메시지는"에코 것입니다. 조건이 실패하면 '조건 실패'가 표시됩니다.

더러운 테스트이지만 $ message 변수가 'if'문에서 초기화되는지 알려줍니다.

+0

팁 주셔서 감사합니다. 나는 그것을 사용할 것이다 :-) – user3173207