在一个php文件中定义的变量,无法被该文件使用。。。。

taoran12 2011-06-14 11:18:18
代码如下:
<?php
if($_GET["index"]==1){
$title="校园信息发布论坛--书刊信息";
$table=bk_topic;
}
if($_GET["index"]==2){
$title="校园信息发布论坛--家电信息";
$table=e_topic;
}
if($_GET["index"]==3){
$title="校园信息发布论坛--求助信息";
$table=help_topic;
}
if($_GET["index"]==4){
$title="校园信息发布论坛--家教信息";
$table=teach_topic;
}
echo $table;
if(($_POST["addtopic"])&&($islogin===true)){

$sql="insert into ".$table." values('','$_SESSION[id]','$_POST[topic_name]','$_POST[topic]',now())";
echo $sql;
mysql_query($sql);
echo "<script>alert('发表成功');</script>";
}


那条insert语句显示的时候没有$table的值,但是我在if外面显示的时候$table有值.怎么回事啊?
...全文
189 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yier1013 2011-06-15
  • 打赏
  • 举报
回复
关注下一个问题……
xuzuning 2011-06-15
  • 打赏
  • 举报
回复
你是把几个文件中的代码拼凑在一起给我们看吗?
taoran12 2011-06-15
  • 打赏
  • 举报
回复
顺便问一下,怎么提交表单而不刷新页面
taoran12 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yangball 的回复:]
PHP code

echo $table . '<br/>';
//if(($_POST["addtopic"])&&($islogin===true)){

$sql="insert into ".$table." values('','$_SESSION[id]','$_POST[topic_name]','$_POST[topic]',now())……
[/Quote]

我觉得是不是这个问题,我的$_GET[index]是从url得到的,当单击表单的提交按钮执行你贴出来的if语句,但是单击提交按钮会刷新页面,改变了url的值没有了index参数,使得要执行if语句时$table没有值。是这样的吗?
by53008749 2011-06-15
  • 打赏
  • 举报
回复
= =! 这代码看着比较郁闷
wxhbbdd 2011-06-15
  • 打赏
  • 举报
回复
if else 输出一下呀
床上等您 2011-06-15
  • 打赏
  • 举报
回复

echo $table . '<br/>';
//if(($_POST["addtopic"])&&($islogin===true)){

$sql="insert into ".$table." values('','$_SESSION[id]','$_POST[topic_name]','$_POST[topic]',now())";
echo $sql;
//mysql_query($sql);
//echo "<script>alert('发表成功');</script>";
//}
//把这里运行的结果帖出来
taoran12 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 flykobesummer 的回复:]
推测这个应该是php的变量作用域的问题。你的table定义是在全局环境还是函数内部?
table的使用是紧跟在定义之后,还是进入到其他函数了?


引用 6 楼 flykobesummer 的回复:

lz这个代码是伪代码? 请给出原始代码,这个代码肯定会报错的啊

PHP Notice: Use of undefined constant bk_topic - assumed '……
[/Quote]

这只是notice不是错误,不影响结果。你看我的代码就知道了并没有进入其他函数
flykobesummer 2011-06-15
  • 打赏
  • 举报
回复
推测这个应该是php的变量作用域的问题。你的table定义是在全局环境还是函数内部?
table的使用是紧跟在定义之后,还是进入到其他函数了?

[Quote=引用 6 楼 flykobesummer 的回复:]

lz这个代码是伪代码? 请给出原始代码,这个代码肯定会报错的啊

PHP Notice: Use of undefined constant bk_topic - assumed 'bk_topic'
[/Quote]
flykobesummer 2011-06-15
  • 打赏
  • 举报
回复
lz这个代码是伪代码? 请给出原始代码,这个代码肯定会报错的啊

PHP Notice: Use of undefined constant bk_topic - assumed 'bk_topic'
taoran12 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xuzuning 的回复:]
...
echo $table; //这里显示有值,表示确有 index 传入
if(($_POST["addtopic"])&&($islogin===true)){//这个 $islogin 是在哪里定义的?
[/Quote]

$islogin是在if语句前面定义的 判断有没有登录用的 它的值是为true
xuzuning 2011-06-15
  • 打赏
  • 举报
回复
...
echo $table; //这里显示有值,表示确有 index 传入
if(($_POST["addtopic"])&&($islogin===true)){//这个 $islogin 是在哪里定义的?
taoran12 2011-06-15
  • 打赏
  • 举报
回复
get得到的是上一个页面的超链接传的值,post处理的是表单的本页面表单的信息。不一样的
床上等您 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 taoran12 的回复:]

引用 14 楼 xuzuning 的回复:
你是把几个文件中的代码拼凑在一起给我们看吗?


这是一个文件的,只是不完整,我把重要的贴出来了。不过这个问题我已经知道是怎么回事了,我也只是刚开始学很多都不知道。你能回答我另外一个问题吗?如何提交表单的信息只刷新表单而不刷新页面?最好给个例子。谢谢!!
[/Quote]
搜 ajax , 局部刷新
taoran12 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xuzuning 的回复:]
你是把几个文件中的代码拼凑在一起给我们看吗?
[/Quote]

这是一个文件的,只是不完整,我把重要的贴出来了。不过这个问题我已经知道是怎么回事了,我也只是刚开始学很多都不知道。你能回答我另外一个问题吗?如何提交表单的信息只刷新表单而不刷新页面?最好给个例子。谢谢!!
黄袍披身 2011-06-15
  • 打赏
  • 举报
回复
嗯 上面是GET 下面判断的是POST...将POST修改为GET.
panghuhu250 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 taoran12 的回复:]
if(($_POST["addtopic"])&&($islogin===true)){
[/Quote]

_POST应该是_GET吧?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧