-1

我通过 php 脚本从 AS3 接收变量并插入到数据库中。正如您在地址栏中看到的那样,所有变量都被传递..(我想对公众隐藏但不知道如何)..然后我得到变量并插入到 db 表中。我想所有的桌子都设置好了。我也在捕捉 vars 以获得回声。所有 vars 都可以工作,但 "image_name" 并且它也没有转换为 echo 的 $tmp_name。关于这个的任何想法.. 这是浏览器中保存变量的行。

http://xx.xxx.xx.xxx/wordpress/?page_id=81imageName=WhitetailJackalope%2Epng&imageURL=http%3A%2F%2Flocalhost%2Fxxx%2Fxxx%2FserverImages%2FwhiteTailJackalopeEgg%2Epng&imageID=40

这是PHP

<?php


$tmp_id=$_GET['imageID'];
$tmp_url=$_GET['imageURL'];
$tmp_name=$_GET['imageName'];

mysql_connect("localhost", "xxx", "xxx") or die(mysql_error()); 
    mysql_query ( "INSERT INTO wp_image_data (`image_id`, `image_url`, `user_name`, `image_name`, `stage`)
        VALUES ('$tmp_id' , '$tmp_url' , '$current_user->user_login' , '$tmp_name' , 1)"); 
    echo 'Testing: ' . $tmp_id . '<br/>'; //displays ok
    echo 'Image: ' . $tmp_name . '<br/>'; //does not display or insert to table
    echo 'Owner: ' . $current_user->user_login . '<br/>'; //displays ok

?>

数据库中 image_name 的表是 VARCHAR(100) utf8_ganeral_ci

有任何想法吗 ?

我已经按照 PDO 格式的建议重组了 php,这似乎对我有好处。感谢您提供这些信息:) 这是重组后的代码。它工作正常,除了我需要弄清楚现在如何在 wordpress 中重组我的 url 的 image_name 。

try {

$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
$conn->exec("SET CHARACTER SET utf8");      

$sql = "INSERT INTO wp_image_data (image_id, image_url, user_name, image_name, stage)
    VALUES ('$tmp_id', '$tmp_url', '{$current_user->user_login}', '$tmp_name', '1')"; 
$q = $conn->exec($sql);   
$conn = null; 
}
catch(PDOException $e) {
  echo $e->getMessage();
}

    echo 'Testing: ' . $tmp_id . '<br/>';
    echo 'Image: ' . $tmp_name . '<br/>'; 
    echo 'Owner: ' . $current_user->user_login . '<br/>';

现在开始处理 url ... YAY 并且当我这样做的时候有没有办法在地址栏中隐藏传递的变量?

4

2 回答 2

0

您的 URL 需要重构以在 page_id 值之后包含一个 & 符号:

http://xx.xxx.xx.xxx/wordpress/?page_id=81&imageName=WhitetailJackalope%2Epng&imageURL=http%3A%2F%2Flocalhost%2Fxxx%2Fxxx%2FserverImages%2FwhiteTailJackalopeEgg%2Epng&imageID=40

于 2013-01-13T16:32:29.560 回答
0

您应该设置您的查询并回显它以查看正在传递的内容。

$query = "INSERT INTO wp_image_data (`image_id`, `image_url`, `user_name`, `image_name`, `stage`)
        VALUES ('$tmp_id' , '$tmp_url' , '$current_user->user_login' , '$tmp_name' , 1)";

echo $query;

我建议在周围使用大括号$current_user->user_login

{$current_user->user_login}

您需要立即停止使用mysql_函数。您的代码容易受到 SQL 注入的攻击。有关详细信息,请参阅我的评论。

于 2013-01-13T16:32:36.423 回答