[英]HTML form doesn't post or retrieve values
这是一个标准的HTML / PHP表单。 我的代码看起来很好,但由于某种原因,echo语句(标准调试措施)不起作用。 有什么想法吗?
<html>
<head>
<title>Search</title>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">
Symbol: <input type="text" name="symbol" />
<br />
Start Date:
<select name="month_start">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<br />
...
<input type="submit" value="Submit">
</form>
</body>
</html>
<?php
if(isset($_POST['submit'])) {
$SYMBOL = $_POST['symbol'];
echo "$SYMBOL";
$MONTH_START = $_POST['month_start'] - 1;
echo "$MONTH_START;
?>
非常感谢。
那么我注意到你缺少一个右"
的最后回音,而不是更改为:
echo "$MONTH_START;"
(假设它不是拼写错误)
3个问题 - 首先你的表单操作应该是<?php echo $_SERVER['PHP_SELF'] ?>
,第二,你的第二个echo语句中有一个语法错误,应该echo "$MONTH_START";
(你错过了收尾报价,虽然如果你只回显变量就不需要引号。)最后,当你发布变量时,你需要在你的提交按钮中添加name="submit"
显示条件的正确提交密钥
你没有设置$_POST['submit']
,所以它永远不会回应任何东西。
测试是否设置了一个字段(您正在使用的字段):
<?php
if(isset($_POST['symbol'])) {
$SYMBOL = $_POST['symbol'];
echo "$SYMBOL";
$MONTH_START = $_POST['month_start'] - 1;
echo "$MONTH_START";
}
?>
为了获得action
属性中的任何值,你必须从变量中输入一个echo,如下所示: <?php echo $_SERVER['PHP_SELF']; ?>
<?php echo $_SERVER['PHP_SELF']; ?>
。 但是,这没有用,因为你可以这样做<form method="post" action="">
,它仍然会POST到同一页面。
其次,你需要一个额外的"
在最后一行,让它echo "$MONTH_START";
此外,您尝试捕获的变量永远不会被设置,因为它不是您表单的一部分。 尝试使用print_r($_POST);
查看。
你得到两个变量: $_POST['symbol']
和$_POST['month_start']
- 你应该在采取任何行动之前检查它们中是否有一个(或两个)。
希望能帮助到你! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.