어떤 이유로 제출을 클릭하면 내 페이지가 단순히 비어있는 양식으로 리디렉션됩니다. 그 이유를 알 수없는 것 같습니다. 내 유일한 추측은 "제출"이 사실이며 단순히 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>
맨 아래 줄은'$ action = $ _SERVER [ 'PHP_SELF'];'가 아니어야합니다. – castis
렌더링 된 HTML 코드를 붙여 넣습니다. – Maigret
제안 사항이 구현 된 후 HTML 출력이 추가되었습니다. – Nick