php - 如何将 javascript 变量给出的值传递给 PHP 变量?
问题描述
我希望在 PHP 函数中使用screen width
screen height
color depth
和之类的变量。pixel depth
基本上我想做的是当用户进入我的网页时,例如:localhost/try.php
我想知道上面提到的所有客户端详细信息,而不需要设置 cookie 或会话属性或获取参数。是的,当然无需重新加载页面。我知道php
但不知道 AJAX,所以任何人都可以帮助我吗?
解决方案
如果我理解正确,您的问题是当用户访问您的页面时(例如 try.php)如何将 javascript 变量(例如 screen.width screen.height)传递给 PHP 部分,以便您可以将其作为 PHP 变量。
这是一个有效的解决方案。
尝试.php
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="" method="POST" name="myForm" id="myForm">
<input type="hidden" id="screenWidth" name="screenWidth">
<input type="hidden" id="screenHeight" name="screenHeight">
</form>
<script type="text/javascript">
document.getElementById("screenWidth").value = screen.width;
document.getElementById("screenHeight").value = screen.height;
function autoSubmit ()
{
let form = document.getElementById("myForm");
form.submit();
}
window.onload = autoSubmit;
</script>
</body>
</html>
<?php
if($_SERVER["REQUEST_METHOD"] === 'POST')
{
if(!empty($_POST["screenWidth"]))
{
$screenWidth = $_POST["screenWidth"];
echo $screenWidth; // see if it gets the screen.width
}
if(!empty($_POST["screenHeight"]))
{
$screenHeight = $_POST["screenHeight"];
echo $screenHeight; // see if it gets the screen.height
}
}
?>
它基本上是操作 DOM 并将输入值的值更改为 screen.width 和 screen.height ,然后在窗口加载时自动提交表单。
如果服务器接收到 HTTP POST 方法输入,那么它会检查 POST 输入的名称并将其保存到每个 PHP 变量中。
推荐阅读
- javascript - 使用 AdminLTE3 侧边栏树形视图反应问题
- android - 在 Qt 中,如何在 Android 上使用 USB OTG 串行接口?
- erlang - 无法在堆上分配 - 但内存在那里
- java - 无法使用 java 驱动程序发出简单的 SQL 请求,但在 mysql 控制台中工作正常
- node.js - 我应该在 ExpressionAttributeValues 中传递什么类型的整数类型的排序键以在 dynamodb 中查询?
- javascript - 向右滚动时滚动条我需要元素始终保持在右侧
- qt - QML如何通过单击列的标题对tableView进行排序
- android - Flutter:如何在以下文档中检索字段
- jsf - 如何将未定义数量的路径参数映射到 Ocpsoft Rewrite 中的请求参数?
- django - Django:关于使用 get_context_data 扩展 ListView 的两个问题