目标:我想从所选元素中获取文本,然后从中创建一个PHP变量。
我知道如何使用jQuery做到这一点,但无法理解如何在PHP中实现它。基本上可以说我有一些包含一些数据的表格。当用户点击数据时,我想检索该文本,然后将其放在PHP变量中。我可以使用.text();从jQuery创建变量但我无法将该变量传递给PHP以供进一步使用。
我是PHP的新手(一个试图学习后端的前端开发人员)。所以任何解释也会有所帮助。
谢谢!
***好吧我现在明白该怎么做了。感谢您的投入。我没在想。使用_post创建变量然后通过AJAX返回数据非常有意义。抱歉浪费你的时间。感谢回复。
答案 0 :(得分:2)
后端没有onclick事件,至少不像javascript那样工作
如果要将变量传递给服务器,可以使用表单并通过GET或POST发送数据
示例:
<form action="index.php" method="get">
<input type="button" value="somevalue" name="action" />
</form>
当用户点击时,您会在网址中看到此内容
www.example.com/index.php?action=somevalue
现在您可以使用$ _GET全局变量
在php中检索此值$variable = $_GET['action'];
使用POST也可以这样做,这样变量就不会显示在URL
中答案 1 :(得分:1)
你可以用ajax:
来做$.ajax({
type: "POST",
url: 'your_file.php',
data: 'text='+ text,
success: function(data) {
alert(data);
}
});
在.click()
事件之后,您可以显示一个对话框,其中包含 Is this your text?
。然后发布。
答案 2 :(得分:1)
你可以使用jQuery使用$(elem).text()来获取该文本,然后使用带有jQuery的AJAX请求将捕获的值传递给PHP(参见$.ajax)。您使用AJAX(通过GET或POST)ping的PHP脚本可以获取您传递的值并将其推送到$ _SESSION变量。
session_start();
$_SESSION["text_clicked"] = $_GET["text_string"];
exit;
执行此操作后,使用jQuery(对任何PHP脚本)进行的任何后续ajax调用都可以调用此变量,并提供您已正确启动会话。
答案 3 :(得分:1)
为了让PHP收集任何客户端数据,您必须将该数据传递回服务器。
要将客户端操作中的数据分配给PHP变量,首先必须使用前端解决方案(如上面的jQuery)捕获该数据,然后将该信息传递到服务器应用程序,以便使用AJAX或表单提交进行处理。
然后,您的PHP数据处理程序可以从数据提交中解析出该信息,并将该信息推送到变量中。
你的前端看起来像
$.ajax({
type: "POST",
url: 'your_file.php',
data: 'selected='+ captured_data,
});
并在你的后端...
<?php
...some php code...
$var_to_hold_selected_thing = $_POST["selected"];
...more php code
?>
如何做更多事情的具体细节取决于你的申请......
答案 4 :(得分:1)
Stack 101的答案是您正在寻找的正确执行,但听起来您可以先在上下文中使用更多背景。
基本上,PHP是一种服务器端脚本语言,这意味着它会在页面加载到浏览器之前执行。在这里,它可以查看数据库,连接到其他站点,或执行大量其他内容。一旦它进入浏览器,您的HTML + CSS + jQuery将负责显示+样式+并分别处理该信息。
AJAX通常用于描述将数据发布到PHP脚本,然后将其重新加载回页面而不刷新页面的行为。换句话说,jQuery将数据传递给在服务器上运行的PHP脚本,然后加载PHP脚本输出的任何内容。有时PHP可以输出整个站点(html标签,css,js等等)。其他时候,它可以简单地访问从POST数组获得的一些变量,并输出结果。这在AJAX请求中更为常见。
快速搜索本教程可能有所帮助(我没有关注)
祝你好运!答案 5 :(得分:0)
我相信可以通过GET或POST发送所有必需的内容来完成,然后让PHP将其填充到变量中,但是我并不完全确定。
答案 6 :(得分:0)
PHP在服务器上运行。变量来来去去。每次刷新页面(或以其他方式发送请求)时,PHP脚本开始运行,吐出响应,然后再次停止。所以设置一个松散的变量并不是一个真正的选择。
你得到的选择是 - 使用cookie。您可以从Javascript设置它,它将自动与下一个请求一起发送。您的PHP脚本可以读取此cookie。 - 通过执行AJAX(异步)请求发送变量。您可以在网址中发送值或作为发布的数据发送。
在任何一种情况下,您都可以决定只使用一次变量,或将其存储在会话中。我认为除非您明确说明,否则cookie将保留。所以你可以继续使用它。