Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php HTML表单没有';t发布或检索值_Php_Html_Forms - Fatal编程技术网

Php HTML表单没有';t发布或检索值

Php HTML表单没有';t发布或检索值,php,html,forms,Php,Html,Forms,这是一个标准的HTML/PHP表单。我的代码看起来不错,但由于某种原因,echo语句(标准调试度量)不起作用。你知道为什么吗 <html> <head> <title>Search</title> </head> <body> <form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST"> Symbol: <input type="tex

这是一个标准的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\u开始;“
(假设不是打字错误)

3个问题-首先,表单操作应该是
,其次,第二个echo语句中出现语法错误,应该是
echo“$MONTH\u START”;
(缺少结束引号,但如果只是回显变量,则不需要引号。)最后,当post变量包含适合显示条件的提交键时,您需要在提交按钮中添加
name=“submit”
,因为您没有设置
$\u post['submit']
,所以它不会回显任何内容。
测试是否设置了(您正在使用的)字段:


要在
操作
属性中获取任何值,必须在变量的中插入一个回音,如:
。 但是,这不会有任何帮助,因为您可以只执行此操作,而它仍然会发布到同一页面

其次,您需要在最后一行添加一个
,使其
回显“$MONTH\u START”

另外,您试图捕获的变量永远不会被设置,因为它不是表单的一部分。尝试使用
print\r($\u POST)以查看

您将得到两个变量:
$\u POST['symbol']
$\u POST['month\u start']
-在采取任何操作之前,您应该检查是否设置了其中一个(或两个)


希望有帮助!:)

你说的回音是什么意思?你是说这个吗?
$\u POST['submit']
集在哪里?@drbr0wn很好。不要忘记通过单击答案分数下方的勾号来接受答案:)开始了。这个name=“submit”是我所缺少的。谢谢。谢谢,我在每个输入字段上都缺少name=“fieldname”
<?php
 if(isset($_POST['symbol'])) {

   $SYMBOL = $_POST['symbol'];
   echo "$SYMBOL";
   $MONTH_START = $_POST['month_start'] - 1;
   echo "$MONTH_START";
}
?>