PHP中如何得到JS 中变量的值

xieguorun 2006-09-22 02:29:03
最近做开发的时候遇到一个很郁闷的问题,我要在PHP中得到脚本里面的值以后再进行数据库操纵,弄了好久一直没有弄出来,特请教各位高手来了。
<script lanauge="JavaScript">
function showDiv(){
var id = "aaaa";
}
</script>

请问怎么样才能在<?php ?> 中得到 id 的值。
...全文
2029 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lantersen 2006-09-22
  • 打赏
  • 举报
回复
/**
现在我要用一个层来显示这些音乐的详细信息,点击歌曲名称的时候显示,现在我想点歌曲名称的时候传一个ID,然后再到库里面去查找,再显示出来。开始把所有的值都查出来,然后用参数传给脚本函数,再用<span>显示出来,但是参数传值的时候有些有空格,还有特殊字符的,所以就出错。上面的方法我都试过了,还试过转换后再传,都不行,就出现了上面这个问题了。大家说说看有什么好的办法没有。
**/
把你去数据库取信息的代码贴出来;
an9ryfr09 2006-09-22
  • 打赏
  • 举报
回复
还是没明白为什么你非要跳转到另外的页面去。算了

你说的那个可以,也几乎没什么安全和效率的问题。

就按你说得,提交到别的页面,然后接收你提交的所有变量,然后把结果保存在global register就可以了。
比如这个id:

$_REQUEST['id'] = $_POST['val'];
$_REQUEST是global register,在任何页面都可直接引用,而且不需要global就可以。
至于怎么返回,你自己决定吧,是加个超链接,还是自动返回之类的。

回到这个页面后,$_REQUEST['id']就可以取到这个值了。
xieguorun 2006-09-22
  • 打赏
  • 举报
回复
在一个页面写的你就在一个页面接收啊

没有提交表单是不能得到值的吧,所以还是没有根本上解决这个问题
<?php
if(isset($_POST['val']) || !empty($_POST['val']))
$id = $_POST['val']";
?>

这样做的话必须要提交表单才能得到值,提交表单后又跳转到另外的页面了。
不过我想是不是我再到另外一个页面把我在这个页面要用到的变量都接收到,然后再返回到这个页面来,这样做可以不可行呢?效率跟安全有没有影响?
an9ryfr09 2006-09-22
  • 打赏
  • 举报
回复
"这样我已经试过了,但是不能提交页面,我是在一个页面上写的,如果在JS里面提交了页面就转发了,浏览器会显示另外的页面。"

在一个页面写的你就在一个页面接收啊

<?php
if(isset($_POST['val']) || !empty($_POST['val']))
$id = $_POST['val']";
?>

<script lanauge="JavaScript">
function showDiv(){
var id = "aaaa";
document.form1.val.value=id;
}
</script>

<form name="form1" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<input type="hidden" name="val" value="">
</form>


你总得有个表单提交吧?否则的话你怎么与php交互呢?用ajax做局部交互和这个也没什么区别。


按照你得想法直接让php得到js得值是不可能得。一个在客户端,一个在服务器端。不提交直接怎么可能得到。ajax也是做了提交,只不过他是局部提交,没刷新整个页面罢了。
xieguorun 2006-09-22
  • 打赏
  • 举报
回复
说下我的需求把,其实我是搞JAVA 的,现在老板要我用PHP做一个音乐网站,这周才开始做的,之前对PHP是一点都不懂啊,所以大家不要笑话我。
我在一个页面上显示一些音乐的列表,现在我要用一个层来显示这些音乐的详细信息,点击歌曲名称的时候显示,现在我想点歌曲名称的时候传一个ID,然后再到库里面去查找,再显示出来。开始把所有的值都查出来,然后用参数传给脚本函数,再用<span>显示出来,但是参数传值的时候有些有空格,还有特殊字符的,所以就出错。上面的方法我都试过了,还试过转换后再传,都不行,就出现了上面这个问题了。大家说说看有什么好的办法没有。
xieguorun 2006-09-22
  • 打赏
  • 举报
回复
你要将id传给php总得提交页面吧?在你要提交的表单内加个hidden,然后提交页面就可以了。
那边的php页面(如果是本页就在本页写)$_POST['val']就可以得到了。

这样我已经试过了,但是不能提交页面,我是在一个页面上写的,如果在JS里面提交了页面就转发了,浏览器会显示另外的页面。

cdm11cn 2006-09-22
  • 打赏
  • 举报
回复
/***************getvar.php***************/
<?php
$id='aaaa';

echo '<script lanauge="JavaScript">';

echo 'function showDiv(){
var id = '.$id.';
}';
echo '</script>';

?>
lantersen 2006-09-22
  • 打赏
  • 举报
回复
或者用框架<iframe>,原理与上面类似,把数据提交到服务器,再另行处理,接收处理结果;
an9ryfr09 2006-09-22
  • 打赏
  • 举报
回复
当用户触发这个showDiv()js函数的事件的时候,就把id的值给了这个hidden,然后你提交表单就可以了
an9ryfr09 2006-09-22
  • 打赏
  • 举报
回复
<script lanauge="JavaScript">
function showDiv(){
var id = "aaaa";
document.form1.val.value=id;
}
</script>

<form name="form1" action="<-提交的页面->" method="post">
<input type="hidden" name="val" value="">
</form>

你要将id传给php总得提交页面吧?在你要提交的表单内加个hidden,然后提交页面就可以了。
那边的php页面(如果是本页就在本页写)$_POST['val']就可以得到了。
kabakaba 2006-09-22
  • 打赏
  • 举报
回复
mark! 学习
yunfeifan 2006-09-22
  • 打赏
  • 举报
回复
从网上找一些ajax的例子,把id 当作一个参数传递给php文件就可以了
xieguorun 2006-09-22
  • 打赏
  • 举报
回复
能否详细点?
iasky 2006-09-22
  • 打赏
  • 举报
回复
ajax

21,886

社区成员

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

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