PHP onclick获取文本并生成变量

时间:2011-08-24 20:12:27

标签: php

目标:我想从所选元素中获取文本,然后从中创建一个PHP变量。

我知道如何使用jQuery做到这一点,但无法理解如何在PHP中实现它。基本上可以说我有一些包含一些数据的表格。当用户点击数据时,我想检索该文本,然后将其放在PHP变量中。我可以使用.text();从jQuery创建变量但我无法将该变量传递给PHP以供进一步使用。

我是PHP的新手(一个试图学习后端的前端开发人员)。所以任何解释也会有所帮助。

谢谢!

***好吧我现在明白该怎么做了。感谢您的投入。我没在想。使用_post创建变量然后通过AJAX返回数据非常有意义。抱歉浪费你的时间。感谢回复。

7 个答案:

答案 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请求中更为常见。

快速搜索本教程可能有所帮助(我没有关注)

http://www.php4every1.com/tutorials/jquery-ajax-tutorial/

祝你好运!

答案 5 :(得分:0)

我相信可以通过GET或POST发送所有必需的内容来完成,然后让PHP将其填充到变量中,但是我并不完全确定。

答案 6 :(得分:0)

PHP在服务器上运行。变量来来去去。每次刷新页面(或以其他方式发送请求)时,PHP脚本开始运行,吐出响应,然后再次停止。所以设置一个松散的变量并不是一个真正的选择。

你得到的选择是 - 使用cookie。您可以从Javascript设置它,它将自动与下一个请求一起发送。您的PHP脚本可以读取此cookie。 - 通过执行AJAX(异步)请求发送变量。您可以在网址中发送值或作为发布的数据发送。

在任何一种情况下,您都可以决定只使用一次变量,或将其存储在会话中。我认为除非您明确说明,否则cookie将保留。所以你可以继续使用它。