2014-09-26 6 views
0

어떤 이유로 제출을 클릭하면 내 페이지가 단순히 비어있는 양식으로 리디렉션됩니다. 그 이유를 알 수없는 것 같습니다. 내 유일한 추측은 "제출"이 사실이며 단순히 else 절을 ​​통해 자체로 복귀한다는 것을 인식하지 못한다는 것입니다. 그러나 양식의 작업을 정의 된 URL (예 : http://google.com)로 전환하고 대상을 보내주었습니다. 어떤 도움이라도 대단히 감사합니다.왜 양식이 지정된 대상으로 리디렉션되지 않고 자체로 리디렉션됩니까?

편집 : 올바르게 작동하지 않는 양식 태그의 동작 값을 정확하게 표시 할 수있었습니다.

다음 테스트를 수행했습니다. 내 if/else 문의 조건 중 하나에 입력 할 수 있으며 그 값을 조건부 아래에 반영 할 수 있습니다. 그러나 양식 위에 그 값을 반향하려고하면 양식에 입력 한 값이 양식 위에 표시됩니다 (예 : $ _POST [ 'conferenceName']가 양식 위에 echo됩니다).

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Conference Registration [This Page Not Yet Active]</title> 
     <link rel="stylesheet" type="text/css" href="cmxform.css"> 
    </head> 
    <body> 
     <form method="post" action="<?php echo $action; ?>" class="cmxform"> 
     <fieldset> 
      <legend>Example Conference Registration</legend> 
      <ol style="list-style-type: none;"> 
       <li> 
        <label for="conferenceName">Applicant's Name<em>*</em></label> <input name="conferenceName" type="text"> 
       </li> 
       <li> 
        <label for="conferenceAgencySchool">Agency School<em>*</em></label> <input name="conferenceAgencySchool" type="text"> 
       </li> 
       <li> 
        <label for="conferenceAgencyAddress">Agency Address<em>*</em></label> <input name="conferencePhysicalAddress" type="text"> 
       </li> 
       <li> 
        <label for="conferenceCity">City<em>*</em></label> <input name="conferenceCity" type="text"> 
       </li> 
       <li> 
        <label for="conferenceState">State<em>*</em></label> <input name="conferenceState" type="text"> 
       </li> 
       <li> 
        <label for="conferenceZip">Zip<em>*</em></label> <input name="conferenceZip" type="text"> 
       </li> 
       <li> 
        <label for="conferencePhone">Phone<em>*</em></label> <input name="conferencePhone" type="text"> 
       </li> 
       <li> 
        <label for="conferenceExtension">Extension</label> <input name="conferenceExtension" type="text"> 
       </li> 
       <li> 
        <label for="conferenceNumberOfAttendees">Number of Attendees<em>*</em></label> <input name="conferenceNumberOfAttendees" type="text"> 
       </li> 
       <li> 
        <label for="conferencePointOfContactName">P.o.C. Name<em>*</em></label> <input name="conferencePointOfContactName" type="text"> 
       </li> 
       <li> 
        <label for="conferencePointOfContactPhone">P.o.C. Cell Phone<em>*</em></label> <input name="conferencePointOfContactPhone" type="text"> 
       </li> 
       <li> 
        <label for="conferencePointOfContactEmail">P.o.C. Email<em>*</em></label> <input name="conferencePointOfContactEmail" type="text"> 
       </li> 
       <li> 
        <label for="conferenceAdditionalAttendeeInfo">Additional Attendee(s) Info</label> 
        <textarea name="conferenceAdditionalAttendeeInfo" style="height: 100px; width: 90%; max-width: 90%; min-width: 90%;" wrap="soft"></textarea> 
       </li> 
      </ol> 
      <hr> 
      <legend>Method of Payment<em>*</em></legend> 
      <ol style="list-style-type: none;"> 
       <li> 
        <label><input name="payment" type="radio" value="Online">Online</label> 
       </li> 
       <li> 
        <label><input name="payment" type="radio" value="At The Door"> At the Door</label> 
       </li> 
       <li> 
        <label>Invoice # (If Using Invoice)</label><input name="invoiceNumber" type="text"> 
       </li> 
      </ol> 
      <hr> 
     </fieldset><input name="submit" type="submit" value="Submit Application"> 
     </form> 
     <?php 
     if (isset($_POST["submit"]) && 
      (!empty($_POST["conferenceName"])) && 
      (!empty($_POST["conferenceAgencySchool"])) && 
      (!empty($_POST["conferencePhysicalAddress"])) && 
      (!empty($_POST["conferenceCity"])) && 
      (!empty($_POST["conferenceState"])) && 
      (!empty($_POST["conferenceZip"])) && 
      (!empty($_POST["conferencePhone"])) && 
      (!empty($_POST["conferenceNumberOfAttendees"])) && 
      (!empty($_POST["conferencePointOfContactName"])) && 
      (!empty($_POST["conferencePointOfContactPhone"])) && 
      (!empty($_POST["conferencePointOfContactEmail"])) 
     ) 
     { 
     $action="http://example.net/form-submit.php"; 
     } 
     else 
     { 
     $action = '"<?php echo $_SERVER["PHP_SELF"]; ?>"'; 
     } 
     ?> 
    </body> 
</html> 

여러분이 제공 한 제안을 따른 후에 출력됩니다. 당신은 다음 줄에서 수행하는 잘못된 방법이다 따옴표에서 PHP 에코를 둘러싸고있다

<!DOCTYPE html> 
<!-- saved from url=(0044)http://example.net/conference-registration.php --> 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <title>Conference Registration [This Page Not Yet Active]</title> 
     <link rel="stylesheet" type="text/css" href="./Conference Registration [This Page Not Yet Active]_files/cmxform.css"> 
    </head> 
    <body> 
     <form method="post" action="" class="cmxform"> 
     <fieldset> 
      <legend>Example Conference Registration</legend> 
      <ol style="list-style-type: none;"> 
       <li> 
        <label for="conferenceName">Applicant's Name<em>*</em></label> <input name="conferenceName" type="text"> 
       </li> 
       <li> 
        <label for="conferenceAgencySchool">Agency School<em>*</em></label> <input name="conferenceAgencySchool" type="text"> 
       </li> 
       <li> 
        <label for="conferenceAgencyAddress">Agency Address<em>*</em></label> <input name="conferencePhysicalAddress" type="text"> 
       </li> 
       <li> 
        <label for="conferenceCity">City<em>*</em></label> <input name="conferenceCity" type="text"> 
       </li> 
       <li> 
        <label for="conferenceState">State<em>*</em></label> <input name="conferenceState" type="text"> 
       </li> 
       <li> 
        <label for="conferenceZip">Zip<em>*</em></label> <input name="conferenceZip" type="text"> 
       </li> 
       <li> 
        <label for="conferencePhone">Phone<em>*</em></label> <input name="conferencePhone" type="text"> 
       </li> 
       <li> 
        <label for="conferenceExtension">Extension</label> <input name="conferenceExtension" type="text"> 
       </li> 
       <li> 
        <label for="conferenceNumberOfAttendees">Number of Attendees<em>*</em></label> <input name="conferenceNumberOfAttendees" type="text"> 
       </li> 
       <li> 
        <label for="conferencePointOfContactName">P.o.C. Name<em>*</em></label> <input name="conferencePointOfContactName" type="text"> 
       </li> 
       <li> 
        <label for="conferencePointOfContactPhone">P.o.C. Cell Phone<em>*</em></label> <input name="conferencePointOfContactPhone" type="text"> 
       </li> 
       <li> 
        <label for="conferencePointOfContactEmail">P.o.C. Email<em>*</em></label> <input name="conferencePointOfContactEmail" type="text"> 
       </li> 
       <li> 
        <label for="conferenceAdditionalAttendeeInfo">Additional Attendee(s) Info</label> 
        <textarea name="conferenceAdditionalAttendeeInfo" style="height: 100px; width: 90%; max-width: 90%; min-width: 90%;" wrap="soft"></textarea> 
       </li> 
      </ol> 
      <hr> 
      <legend>Method of Payment<em>*</em></legend> 
      <ol style="list-style-type: none;"> 
       <li> 
        <label><input name="payment" type="radio" value="Online">Online</label> 
       </li> 
       <li> 
        <label><input name="payment" type="radio" value="At The Door"> At the Door</label> 
       </li> 
       <li> 
        <label>Invoice # (If Using Invoice)</label><input name="invoiceNumber" type="text"> 
       </li> 
      </ol> 
      <hr> 
     </fieldset><input name="submit" type="submit" value="Submit Application"> 
     </form> 

<script type="text/javascript" async="" src="./Conference Registration [This Page Not Yet Active]_files/si.js"></script></body></html> 
+0

맨 아래 줄은'$ action = $ _SERVER [ 'PHP_SELF'];'가 아니어야합니다. – castis

+0

렌더링 된 HTML 코드를 붙여 넣습니다. – Maigret

+0

제안 사항이 구현 된 후 HTML 출력이 추가되었습니다. – Nick

답변

1

는 :

$action = '"<?php echo $_SERVER["PHP_SELF"]; ?>"'; 

이 코드는 ""를 반환합니다.

$action = $_SERVER["PHP_SELF"]; 
0

변경 그것은 당신이 "#"을 사용하거나 행동 변수에 $ _SERVER [ 'PHP_SELF를 "] 할당 할 수 있습니다.