<?php
include("../conn.php"); if ($_GET[post])
{ $sql = "SELECT * FROM message WHERE id = $_GET[post]"; $query = mysql_query($sql); $row = mysql_fetch_array($query);
} if($_POST['submit'])
{ $sql = "insert into reply (id,id_p,time,content) values('','$_GET[post]',now(),'$_POST[content]')"; mysql_query($sql); echo "<meta http-equiv=refresh content=0";
}?>在$sql = "insert into reply (id,id_p,time,content) values('','$_GET[post]',now(),'$_POST[content]')";中,id_p的值一直是0,其余的取值都正常,不知道为什么.$_GET[post]是有值的,在这段代码上方和下方都能用,但是就在这个SQL语句当中不能用...想了很多办法,比如在代码前面加上$a = $_GET[post],用$row[id](message表中的id其实就是$_GET[post]的值),都不读不到取值;难道是echo "<meta http-equiv=refresh content=0";的问题?
2 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
首先,你要搞清楚,mysql不会执行任何页面提交过来的任何值;
其次,按你贴的代码的意思,php会解析你页提交过来的值,生成sql 语句;
再次,你的代码书写的令人相当难受,乱缩进,毫无层次感;
再次,请确定你的页面的提交方式,到底是 GET,还是 POST,如果不确定,请直接用 REQUEST,一会 GET,一会 POST ,真是别扭啊;
最后,请你在""
里面写复杂变量时,记得加上{},如{$POST['post']}
补充:
确认一下你页面提交过来的参数是否是post
你可以在贴出的这个代码的页面打印出页面提交过来的所有值,在开头部份添加以下代码:echo <xmp>;
var_dump($_REQUEST);
echo </xmp>;
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
把sql中的$_GET[post]
改成{$_GET['post']}
另外,你得加强下编码习惯的培养,这段代码的缩进让人看着抓狂,还有这句echo "<meta http-equiv=refresh content=0";
输出的html居然没有用>
闭合,属性也没有用双引号。
- 2 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消