2010-01-04 5 views
0

메신저 PHP에 대한 문제가 아직 다시 ... 나는 그것에 여러 양식이있는 페이지를 만들었습니다. 그리고 테스트 할 때 첫 번째 양식이 (진행중인, 완전하고 거부 된) 값으로 처리되지만 그럼 나는 위와 같은 방식으로 두 번째 양식을 처리하는 것 같습니다. 그게 무슨 문제 야?PHP_SELF를 사용하여 같은 페이지에 두 번 게시하는 데 문제가 있습니까?

어떤 도움을 주시면 감사하겠습니다 ... 사이트의 모든 사용자에게 새해 복 많이 받으십시오!

<? 

    if (array_key_exists('complete',$_POST)) { 
       echo "Sucess!"; 
       exit; 
       }; 

    ?> 

      <?php 

    $days = range (01, 31); 
    $months = range (1, 12); 
    $y1 = date("Y")-2; 
    $y2 = date("Y"); 
    $years = range ($y1, $y2); 

    if (array_key_exists('caseStatus',$_POST)) { 
        $case = $_POST['case']; 

    if ($case == 'complete') 
    { 
    echo 'Please set the date on which the case was <b>completed</b>.<p>'; 
    echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>"; 
    echo '<select name="completeDay">'; 
    foreach (range(1, 31) as $day) { 
     echo '<option value="'.sprintf("%02d", $day).'">'.sprintf("%02d", $day).'</option>'; 
    } echo '</select>'; 
    echo '<select name="completeMon">'; 
    foreach (range(1, 12) as $month) { 
     echo '<option value="'.sprintf("%02d", $month).'">'.sprintf("%02d", $month).'</option>'; 
    } echo '</select>'; 
    echo '<select name="completeYr">'; 
    foreach ($years as $value) { 
     echo '<option value="'.$value.'">'.$value.'</option>'; 
    } echo '</select> 
    <p> 
    <input type="hidden" name="complete" value="1"/> 
    <input name="submit" type="submit" value="Save"/> 
    <input type="button" value="Cancel" onclick="window.location=\'\'"/> 
    </form> 
    '; 
    exit; 
    } 
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'] . '?id=' . intval($client_id); ?>"> 
    <select name="case" class="rta"> 
     <option value="<?php echo $row_caseStatus['progress']; ?>" selected="selected"><?php echo $row_caseStatus['progress']; ?></option> 
     <option value=""></option> 
     <option value="ongoing">ongoing</option> 
     <option value="complete">complete</option> 
     <option value="reject">reject</option> 
     </select> 
    <input type="submit" name="caseStatus" id="caseStatus" value="Save" /> 
            <input type="hidden" name="caseStatus" value="1"/> 
    <br /> 
    </form> 
+2

어디서 문제가 발생했는지 정확하게 파악해야합니다. 두 번째 형식에 대해 생성 된 소스 코드를 살펴보십시오. 그것은 무엇을 말하는가? – MindStalker

+0

실제로 두 번째 양식을 보시겠습니까? – robjmills

+0

.. 또는 "Sucess"라는 단어? – robjmills

답변

0
<?php 

    if (array_key_exists('complete',$_POST)) { 
       echo "Sucess!"; 
       exit; 
       }; 

    ?> 

간단한 오류 ... 여는 PHP 태그를 편집하는 데 필요합니다!

+0

그런 경우 다른 솔루션은 짧은 태그를 사용하도록 설정했을 것입니다. 그것의 나쁜 연습으로 볼 수있는 사실로 인해 항상 - 그리고 그러므로 당신의 문제 -하지만 그들 자신을 사용하는 경향이 있습니다. – robjmills

+0

팁 주셔서 감사합니다. – methuselah

0

자세한 내용 없이는 정확히 무엇이 잘못되었는지 알기가 어렵습니다.

실제로 두 번째 양식 또는 "성공"이라는 단어를 보시겠습니까?

+0

볼 수 있습니다. 두 번째 양식은 게시되지만 두 번째 양식이 게시되면 단어 성공을 볼 수 없습니다 ... 단순히 양식의 이전 상태로 되돌아갑니다. – methuselah

0

자세한 내용없이 문제가 무엇인지 알기가 어렵습니다. 출력 된 HTML을 게시 할 수 있습니까? 메소드 속성에 전달하는 다른 변수에 문제가 없다고 확신합니까?

사실, intval($client_id)을 수행 할 때 문자열이나 정수 이외의 정수를 정수로 변경하려고 할 수 있습니까?

또한 메모와 마찬가지로 엄격한 XHTML을 준수하는 경우 양식의 메소드 속성을 'POST'대신 '게시'로 설정해야합니다.

+0

좋은 캐치. 어떻게 든 나는 그것을 완전히 놓쳤다. 도깨비 :) – robjmills

+0

문제 없습니다. 죄송합니다. 새로운 답변을 게시해야합니다. x.x –

+0

문제는 두 번째 양식 (한 번 제출)이 msg가 "Sucess"로 표시되지 않는다는 것입니다. 맞춤법 변명 – methuselah

관련 문제