首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Contenteditable/Jquery/Ajax/PHP/mysql -无法从URL识别$_GET变量

问Contenteditable/Jquery/Ajax/PHP/mysql -无法从URL识别$_GET变量
EN

Stack Overflow用户
提问于 2012-11-18 21:30:06
回答 2查看 1.1K关注 0票数 2

我试图建立一个网站,在那里你可以修改和更新mysql数据库直接使用内容与jquery,ajax和PHP相结合。代码通过$_POST‘’content‘使用一些jquery/ajax来捕获数据,以加载一个php文件(save.php)。save.php文件运行mysql更新,使用用户提供的contenteditable输入的$_POST‘’content‘信息更新数据库。

在save.php文件中,我使用一个惟一的ID来标识必须更新哪一行。可通过URL访问此ID。我尝试通过$_GET' ID‘捕获id,并将其转换为$var_id=$_GET'id’。我的问题是,当我试图访问从URL获得的id ($var_id)变量时

例如。http://www.website.org/selectedvariant.php?id=100

在save.php文件中无法识别$var_id,并且mysql更新不起作用。我知道这是访问$var_id变量的一个问题,因为当我手动设置变量_id=‘100’时,它可以正常工作。指示save.php文件没有为$var_id变量获取正确的值。

任何帮助解决这个长期挑战的人都将不胜感激!

save.php

代码语言:javascript
复制
<?php mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$content=mysql_real_escape_string ($_POST['content']); //gets the posted content
$var_id=$_GET['id'];

$sql="update table_list set column='$content' where id='$var_id'";
if (mysql_query($sql))
{echo 1;
}
?>

other.php文件(仅相关(我认为?))信息

代码语言:javascript
复制
 $(document).ready(function() {

    $("#save").click(function (e) {         
        var content = $('#editable').html();    

        $.ajax({
            url: 'save.php',
            type: 'POST',
            data: {
            content: content
            },

本教程中的大部分代码都摘自:

http://gazpo.com/2011/09/contenteditable/

谢谢,罗恩

EN

回答 2

Stack Overflow用户

发布于 2012-11-18 21:42:24

在进行ajax调用时,需要通过某种方法(get或post)传递content和id。在您的代码中,通过POST方法将content数据发送到save.php。无论如何,ID不会被发送到你的php脚本。将您的url参数更改为-

代码语言:javascript
复制
url:'save.php?id='+WhatYouHaveInHand
票数 2
EN

Stack Overflow用户

发布于 2012-11-18 21:40:22

您不能在任何地方传递ID。这就是问题所在。

要使AJAX POST调用也返回GET参数,参数必须在查询字符串中。举个例子,如果你想传递一个随机的ID,你可以这样做

代码语言:javascript
复制
$("#save").click(function (e) {         
    var content = $('#editable').html();    
    var randomID = Math.floor(Math.random()*1000);
    $.ajax({
        url: 'save.php?id='+randomID,
        type: 'POST',
        data: {
        content: content
        },this:

很明显,你需要调整它来提供一个真实的ID。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13440582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档