小编Per*_*yCS的帖子

混淆了使用json的正确方法

我是jquery的新手,昨晚才刚开始阅读json. 我有一个工作的ajax调用,它将简单数据传递给php脚本,处理数据并返回单个值.效果很好.

我想要来回添加数组和非数组数据的传递,并在阅读成堆文章后说json是要走的路!!!! 但是......也就是json不安全,...戴上牙套,不要戴牙箍 - 使用json解码,不要使用它,确保顶部物品是一个物体,有人说把"d"放在顶部,有些使用序列化,有些则不使用它.我是否必须在数据周围放置curley括号?或者是Jquery.有些人说还添加了一个标题,指定了application/json或其他一些标题......其他人说它打破了IE7 ...有些人说要添加......

"dataType" : json

在ajax电话中.你知道为什么我现在感到困惑吗?

... ...在PHP中我还必须使用rawurldecode吗?在json解码之前,因为我的ajax urlencodes数据...它太混乱......

我不希望这是一个比现在更大的安全漏洞...我想要正确地做到和SPEC.如果有规格.

谢天谢地,大多数人都说...这是关于你如何使用它(jquery,JSON)等,这使它"安全".安全......我的意思是,使用得当.客户端没有任何东西是安全的.

我坚持的很简单我很确定但是在阅读超过9个小时后我找不到明确的答案.为什么不能使这些语言的人(Jquery)写一个例子说...现在我们已经包含了json支持,这是正确的方法!

是的,我在这个最重要的部分有点罗嗦,因为我之前已经提出过短期问题并且遭到了抨击和批评,并被指责没有研究或者没有"充分研究",当我从来没有在这里问过问题时至少5个多小时的激烈阅读,扫描网站等等.通常我只会在9个多小时后来到这里...

...但我发现的信息是破碎的,陈旧的,而且太多了,我想完美地做到这一点!:)我到目前为止找到的最好的网站是用于拉动闪烁图片,但它没有显示如何正确发送所以我离开那里很高兴找到文章...但不知道如何应用于我的情况. ..

请查看我的代码中的注释以获取我需要的提示,甚至更好 - 修复我的代码以便我可以来回发送这两个数据,并且在每种语言中都可以为tmp变量赋值,这样我就可以看到你的方式了从传递的数据中提取信息?谢谢...

JQUERY/JS(我的旧代码)(代码snippits)

    //Here's some sample data... - HOW DO I SEND THIS AS JSON (please) back and forth?
    var myarray = new Array();
    myarray.push("One");
    myarray.push("Two");
    myarray.push("Three");
    var someOtherData = "helpmeplease";

    $.ajax({
        url: "../../ajax/ajax.php",
        type: 'POST',
        data: ({
            "testarray" : myarray,
            "somemoredata" : someOtherData
        }),
        success: function(results) {
            // what do I do with results?  please alert …
Run Code Online (Sandbox Code Playgroud)

php ajax jquery json

6
推荐指数
1
解决办法
692
查看次数

mb_strlen()&strlen()不会从对Ajax的Ajax调用中返回正确的值

如何在PHP中添加一个检查传递的$ username的长度.该网站是UTF-8,但我相信Javascript使用的是不同的编码.你可以在评论中看到我在PHP中尝试了不同的东西而且它们不起作用.

我尝试过但没有用的东西:

  • 更改Ajax(javascript)以通过UTF-8而不是javascript编码传递变量
  • strlen,PHP中的mb_strlen - 都返回不正确的值

更多信息

我的Ajax向我的PHP发送一个用户名,用于检查SQL DB并返回可用或不返回.我决定在检查数据库之前尝试在PHP中做一些额外的检查(比如mb_strlen($username). mb_internal_encoding("UTF-8");也设定了.

我打算尝试以UTF-8发送Ajax请求,但没有看到这样做的方法.

是UPPER在MySQL中正确使用? - 对于UTF-8的东西?

PHP低于***********

// Only checks for the username being valid or not and returns 'taken' or 'available'
require_once('../defines/mainDefines.php'); // Connection variables
require_once('commonMethods.php');
require_once('sessionInit.php');    // start session, check for HTTP redid to HHHTPs

sleep(2);   // Looks cool watching the spinner

$username = $_POST['username'];

//if (mb_strlen($username) < MIN_USERNAME_SIZE) echo 'invalid_too_short';

//if (mb_strlen($username, 'UTF-8') < 10) { echo …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax encoding utf-8

4
推荐指数
1
解决办法
2191
查看次数

不确定PHP数组在分配时正在做什么

我在这里有一个数据库snippit代码......我会发布相关的行而不进行错误检查以使其变小...

if ($stmt->bind_result($row[0], $row[1]) === false) etc...
Run Code Online (Sandbox Code Playgroud)

然后下面我...

<pre><code>
    //fill the array up with an array of rows, then increment $ddp.
    //$data[$ddp] is the row,
    //$data[$dpp][0] is the rows first argument,
    //$data[$dpp][1] is the rows 2nd argument returned etc...

    $ddp = 0; // this increments up every fetch

    while ($stmt->fetch()) {
        $data[$ddp][0] = $row[0];
        $data[$ddp][1] = $row[1];
        $ddp++;
    }
</code></pre>
Run Code Online (Sandbox Code Playgroud)

我上面的方式工作....但这里是我以前做过的事情和一些奇怪的事情......

<pre><code>
    $ddp = 0; // this increments up every fetch

    while ($stmt->fetch()) {
        $data[$ddp++] = $row;
        // I ECHOd …
Run Code Online (Sandbox Code Playgroud)

php arrays mysqli

3
推荐指数
1
解决办法
68
查看次数

如何在javascript中创建自己的字符串,好像我在键盘上点击ALT代码(UTF-8)

我试图在javascript中创建一些随机的unicode字符串,并想知道是否有一个简单的方法.我尝试过做这样的事......

var username = "David Perry" + "/u4589";
Run Code Online (Sandbox Code Playgroud)

但它只是将/ u4589附加到预期的结尾,因为它只是一个字符串.我想要做的是将其转换为字符串中的unicode字符(如果我在键盘上键入ALT 4589).我正在尝试在javascript中构建字符串,因为我想用各种符号和东西测试我的表单而且我已经厌倦了尝试ALT代码来查看那些奇怪的字符...所以我想...我会循环遍历所有FUN的unicode字符并填充我的表单并自动提交...

我打算从/ u0000开始,然后去/ uffff看看哪些代码在输出时会破坏我的网站:)

我知道JS中有不同的功能,但我似乎无法弄清楚为什么我不能构建一串unicode字符.大声笑.

如果它太复杂,不要担心它.这只是我想要修补的东西.

javascript unicode utf-8

2
推荐指数
2
解决办法
2105
查看次数

如何更改此代码以显示插入失败的原因?PHP,MySQLi,准备好的陈述

我坚持这个问题,所有错误示例都使用$ stmt->错误或我不明白的东西.我用程序式写作而不是OOP.我的插入失败所以我很想调试它,请...

    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_USER_PASSWORD, DB_NAME) or die(DB_CONNECT_ERROR);
    if (!$stmt = mysqli_prepare($dbc, $query)) die('SEL:mysqli_prepare');
    call_user_func_array('mysqli_stmt_bind_param', array_merge(array($stmt, 'sssssssssssssssssssssbsssss')), $idb);
    mysqli_stmt_execute($stmt);

    if (!mysqli_stmt_affected_rows($stmt)) {
            // Failed to insert
    } else {
            // Success
            }
Run Code Online (Sandbox Code Playgroud)

我的插入失败了......我怎么知道原因是什么?请提前谢谢!我也只是学习准备好的语句,所以如果我做错了,请建议......代码将其归结为// FAILED TO INSERT行,当检查cpanel时,查询确实失败了(DB中没有任何内容).

如果你想使用我上面使用的编程风格编写你自己的例子,并告诉我如何检查插入是否失败也很酷.一旦我看到你如何做你的我就可以改变我的代码.:)

php error-handling mysqli prepared-statement

1
推荐指数
1
解决办法
860
查看次数