1

正しく機能していない次のコードがあります。liがクリックされたときにmysqldbに値を投稿しようとしています。1つ目はjsファイルで、2つ目は私のphpファイルです。助けてくれてありがとう。

javascript:

function changeIt(){    
 $("#pagewrap").css({'background-image':'url(/image/HapppsTemplates/BlueTemplates/blueShell.svg)'});
 $.ajax({
  type: "POST",
  url: "templatepost.php",
  data: { tempname: "blueShell.svg"}
});
    }

templatepost.php:

<?php

header("Location: templatetest.php");
require_once("./source/include/membersite_config.php");

if(!$fgmembersite->CheckLogin())
{
    $fgmembersite->RedirectToURL("login.php");
    exit;
}

mysql_connect("xxx", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx") or die(mysql_error());

$test = $fgmembersite-> UserID();
    $template_name = $_POST ['tempname'];



$query = "UPDATE events SET tempname= '".$template_name."' WHERE id_user = '$test'"
or die(mysql_error());


?>
4

1 に答える 1

4

実際に。を使用してクエリを実行することはありませんmysql_query

あなたのコードも非常に安全ではありません。クエリでPOST値をエスケープしません。PDOまたはでパラメータ化されたクエリを使用する必要がありますmysqli

$pdo = new PDO('mysql:host=xxx', 'xxx', 'xxx');
$stmt = pdo->prepare('UPDATE xxx.events SET tempname = ? WHERE id_user = ?');
$stmt->execute($template_name, $test);
于 2013-01-27T19:10:14.787 に答える