页面值传递时候play.php?id=l_123,在后面$id=$_GET(id)无法得到id=l_123

作者&投稿:蔺诗 (若有异议请与网页底部的电邮联系)
php 参数传递问题($_GET('id'))~

我自己测试了一下,到是没出现你这样的问题;
感觉上可能问题出在"SELECT * FROM message where id=".$_GET['id'] 这一语句上;
我的测试代码:(用DEDECMS数据库测试的)
<?php
$cfg_dbhost = 'localhost';
$cfg_dbname = 'dedecmsv57utf8';
$cfg_dbuser = 'root';
$cfg_dbpwd = '';

$conn = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);

mysql_select_db($cfg_dbname);

$rs = mysql_query('select * from dede_area',$conn);
while( $row = mysql_fetch_array($rs) ){
//print($row['id']." - ");
//print($row['name']."
");
?>
" >
<?php
}

$id = $_GET['id'] ? $_GET['id'] : 1; //加上这一句我看挺有必要的,可以防止undefinde index的错误发生。个人感觉比直接在查询语句中使用$_GET安全可靠得多。
$rs = mysql_query("select * from dede_area where id = ".$id,$conn);
$row = mysql_fetch_array($rs);
print($row);
?>

再回头看你的问题描述,以及你的代码,感觉楼上说重复赋值的原因就有道理了。
$SQL被你重复赋值后的值为"SELECT * FROM message order by id desc",在执行查询后,返回的是message这张表的全部数据,并且按倒序排列。
所以你无论怎么传值,都只得到该表的最后一行的数据。

看上去并没有什么问题了,,只要确定跳转后地址栏上有这个id参数

注意你取数组元素的用法。$_GET是普通的数组,应该这样使用其中的元素:

<?php
// 使用方括号
// 不是$_GET[id]!字符串要用引号,无引号会被当做常量。如果常量没有定义会出错。
$id = $_GET['id'];

可以查看一下$_GET中所有的内容,注意你传入的GET变量是否被打印:

<?php
var_dump($_GET);

 再看下面一段代码:

<?php
// 这样写是对的,因为id已经定义,且它的值是'id'
define('id', 'id');
echo id;
$_GET[id];


php中,数组的引用是方括号,asp中才是圆括号
你语法错误啊!
$_GET['id'];
这才是正确的语法

中括号


郓城县18886409917: php在输出语句中怎样向另一个页面传值. -
错芝安洛: 可以通过URL传值: 比如: echo '<a href='index.php?id=100'>下一页</a>'; 也可以通过session,cookie 传值 比如: 先声明session,然后在另一页面使用 session_start(); $_SESSION['user'] = 'baidu'; 另一页面,直接使用即可 echo $_SESSION['user'];

郓城县18886409917: 两个php之间传递参数 -
错芝安洛: 比如说你要传递的值是12345那么使用连接字符串b.php?id=12345b页面使用querystring接受,处理完以后比如返回54321使用a.php?id=54321回传

郓城县18886409917: js怎么传递id到php -
错芝安洛: <?php echo 'document.write("'.$_GET['id'].'");';?> 以上是 play.php 的内容,页面的html代码 <script src="play.php?id=1"></script> ,浏览时就会显示输出为1

郓城县18886409917: 想实现htm页面加载的时候传值给指定的php页面,但是页面不跳转 -
错芝安洛: 用AJAX可以实现,以jQuery的AJAX为例:$.post('b.php', {a:'这是要传给PHP的值'}, function(d){ // 在此处理b.php的输出d })

郓城县18886409917: php如何实现页面传值 -
错芝安洛: 一般form里面都有一个action,在action里面写上你要接收参数的后台函数名即可. First name:Last name:

郓城县18886409917: php把值传入到下一个跳转的页面用那种方法
错芝安洛: php里面当页面读取结束的时候,所有的变量将全部清空,所以需要通过别的手段来传值, 1、通过url参数 比如:在跳转链接上加上?id1=$id1&id2=$id2 //这个最常用,也最省资源,但传递的内容有限. 2、保存到session.将数据保存到特定的session中,到下个页面再从session中取出 3、保存到cookie. 4、调用php的curl函数,将数据post到下个页面,

郓城县18886409917: html页面传值时action后面的内容到底要怎么写? -
错芝安洛: 你说的是action,那么就应该是post传值,给你一个demo,看下就明白了: index.html: <form action="a.php" method="post"> <input name="p" type="text" value="123" />//name就是页面取值的索引,value就是参数值 <input type="submit" value="提交" />//提交按钮,点击后提交到action指定的页面 </form> a.php: $var=$_POST["p"];//取到的就是name="p"的参数的值,这里得到的就是 123

郓城县18886409917: php之间怎么传值 -
错芝安洛: 两个页面之间有没有跳转关系?如果有跳转关系,下一个页面用上一个页面的值可以通过url传值,或者设置hidden的input传值.如果没有跳转关系,如果test.php中要用index.php中的值,可以在test.php中require_once('index.php'),然后直接通过$ID和$idclass就可以使用这两个变量.

郓城县18886409917: php怎么用问号传值 -
错芝安洛: PHP没有用问号传值的 那个是浏览器GET传值.浏览器传值主要是2种 GET 和POST get就是浏览器地址栏完整地址比如我页面地址是****/index.php 用GET传值(就是连接传值)****/index.php?变量1=122&变量2=12231 获取是用PHP GET方法获取.POST是用表单传值:

郓城县18886409917: php页面传值 -
错芝安洛: a.php中链接传递时:"传递变量a" 点击转到b.php中时使用$b=$_GET["a_tmp"];如果$a是由form中的元素传递的,那么在b.php中采用$b=$_POST["form元素的name"];

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网