我是 PHP 新手,所以我基本上了解不多 刚开始学习php和mysql这本书 按照书上说的做同样的事情,但是如果我使用 Post 方法,我的代码不会获取数据,但如果我使用 Get 方法,我的代码会工作。这本书使用了帖子,所以这里有点困惑:/ 这是 html 部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="processorder.php" method="POST">
<table border="0">
<tr bgcolor="#cccccc">
<td width="150">Item</td>
<td width="15">Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="3"
maxlength="3" /></td>
</tr>
<tr>
<td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="3"
maxlength="3" /></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="3"
maxlength="3" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="SUBMIT ORDER" /></td>
</tr>
</table>
</form>
</body>
</html>
php代码是这样的
<html>
<?php
// create short variable names
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
?>
<head>
<title>Bob’s Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob’s Auto Parts</h1>
<h2>Order Results</h2>
<?php
echo "<p>Order processed at " .date('H:i, jS F Y')."</p>";
echo '<p>Your order is as follows: </p>';
echo $tireqty.' tires<br />';
echo $oilqty.' bottles of oil<br />';
echo $sparkqty.' spark plugs<br />';
?>
</body>
</html>
如果我使用 _GEt 方法,则会显示此变量的值,但使用 post 方法则不会检索到任何内容。
最佳答案
那么,您确定帖子不起作用吗?请使用以下方法检查帖子方法是否包含数据。
var_dump($_POST); and var_dump($_REQUEST);
如果您在帖子中没有找到任何内容,那么它将在请求中,如果是,那么您的请求将通过 get 方法提交。
如果它显示一个数组,其中包含在帖子中输入的数组,则您的帖子方法正常工作,问题出在您的文件上,并且您的文件由于某些安全问题/不正确的路径或可能由于文件权限而无法打开。所以请检查并告诉我。
关于php - $_Post 未检索数据,而 $_Get 正在检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34451020/