我是来自访问者的获取ID的html表单
<form action="show.php" method="post">
<p>Your id: <input type="text" name="id" /></p>
<p><input type="submit" /></p>
</form>
和用于行动的php文件。
<?php
$id = ((int)$_GET["id"]);
$con=mysql_connect('localhost','user','pass');
mysql_select_db('dbname',$con);
$query="SELECT * FROM `users` WHERE id = '$id'";
$select=mysql_query($query);
while($row=mysql_fetch_array($select)){
echo $row['name'];
}
mysql_close($con);
?>
但它无法正常工作,无法读取ID,pelase帮助我解决此问题
谢谢
答案 0 :(得分:8)
您正在通过POST提交数据。 这是由表单标记中的属性“method”定义的:
<form action="show.php" method="post">
因此数据不会存储在$ _GET中,而是存储在$ _POST中。
所以访问ID使用$ _POST ['id']而不是$ _GET ['id']
答案 1 :(得分:4)
由于您使用了form方法&#34; post&#34;,id变量将在全局$ _POST数组中可用,因此请使用:
<?php
$id = ((int)$_POST["id"]);
....
答案 2 :(得分:3)
使用POST代替Get,因为对表单使用set post方法。
$id = ((int)$_POST["id"]);
答案 3 :(得分:2)
您的表单是通过POST提交数据的,因此您必须通过POST方法接受
<?php
$id = $_POST['id'];
?>
否则将方法更改为GET并将其写为
$id = ((int)$_GET["id"]);