【发布时间】:2014-09-26 04:34:31
【问题描述】:
由于某种原因,单击提交后,我的页面只是重定向回一个空的表单。我似乎无法弄清楚原因。我唯一的猜测是它没有认识到“提交”是真的,只是通过 else 子句返回到自己。但是,我已将表单的操作切换到定义的 URL(例如http://google.com)并让它将我发送到目标。非常感谢任何帮助。
编辑:我已经能够可靠地表明这是我的表单标签的行为值不正确。
我执行了以下测试:我可以输入我的 if/else 语句的任一条件,并让该值在条件句下方回显。但是,如果我尝试在表单上方回显它,它不会返回任何内容,但我输入到表单中的值将在表单上方回显(例如,会议名称作为 $_POST['conferenceName'] 将在表单上方回显)。
<!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>
按照各位好心人提供的建议后的输出。
<!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'];吗? -
粘贴渲染的html代码。
-
在建议实施后添加了 HTML 输出。
标签: php html redirect forms http-post