百思不得其解:PHP数据类型字符串转整数型出错?

发布网友 发布时间:2022-04-28 02:51

我来回答

3个回答

热心网友 时间:2022-04-28 04:20

问题出在$screenX= "<script>document.write(screen.width);</script>"上,变量$screenX的值并不是执行JavaScript语句后的结果,如1024,你这样定义$screenX,是把字符串<script>document.write(screen.width);</script>赋给了$screenX,再用intval()函数来转换,当然得出了是0.

告诉你一种方法,把JavaScript得到的值写到cookie里,再通过PHP来拿这个cookie值,JavaScript的变量是不能直接赋值给PHP的。

例如:
<script>
document.cookie("screen",screen.width);
</script>

PHP里
<?php
$screen = $_COOKIE['screen'];
echo intval($screen);
?>
大概的思路是这样的。

=========================================================
昨天JavaScript写cookie的语法我写错了,我在公司调试了一下,下面的代码是没有问题的。首次进入页面时请刷新一下页面。
<script type="text/javascript">
var width = window.screen.width;
document.cookie="screen="+width;
</script>

<?php
$screen = $_COOKIE['screen'];
echo intval($screen);
?>

热心网友 时间:2022-04-28 05:38

你想获取客户端的显示器分辨率 ?

换个方法实现吧

<script type="text/javascript">
document.write('<img src="screen.php?w='+window.screen.width+'&h='+window.screen.height+'"/>');
</script>
然后 screen.php 用 $_GET 就可以获取到了。

热心网友 时间:2022-04-28 07:13

哈哈,根本不是代码问题, 是执行顺序问题
js 是前台代码,php是服务器程序

先运行完php程序输出到浏览器后,才执行js

所以你思路错了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com