0

ボタンが押されたときにdivコンテンツを保存したいのですが。再利用するために、htmlタグも保存する必要があります。

post変数を任意のタイプの文字列に置き換えると、問題なく機能します。改行からhtml変数を削除しようとしましたが、それは実行されませんでした。また、$ HTML投稿をシェル化しようとしました$var = <<<HTML HTMLが、これも機能しませんでした。

これがjavascriptです:

$("#save").click(function(){
var pageHTML = $("#page_wrap").html();
var name_page = "name";
jQuery.ajax({
  type: "POST",
  url: "php/saveModel.php",
  data: {   nHTML: pageHTML,
            page : name_page
        },
    success:function(data){
      var responseData = jQuery.parseJSON(data);
      var new_div = responseData.message;
      $("#page_wrap > *").remove();
      $("#page_wrap").prepend(new_div);
      $('.editable').aloha();
    }
})
})

そしてここにphpがあります:

<?php

mysql_connect('localhost','name','pwd');  
mysql_select_db('db');
mysql_query("SET NAMES 'utf8'");

$id = $_POST['page'];
$HTMLpost = $_POST['nHTML'];

$insertSignup = mysql_query("UPDATE Table_name SET model_test='$HTMLpost' WHERE    identifiant='$id'");

if($insertSignup){ 
$status = "success";
$message = "OK";
}
else {
$status = "error";
$message = "NOT OK";
}

//return json response
$data = array(
    'status' => $status,
    'message' => $message
);

echo json_encode($data);
exit;
?>

ありがとう !

4

1 に答える 1

3

簡単な答え:mysql_real_escape_string()データベースに安全に入力できるように引用符を変更するために使用します。

$HTMLpost = mysql_real_escape_string($_POST['nHTML']);
$insertSignup = mysql_query("UPDATE Table_name SET model_test='$HTMLpost' WHERE    identifiant='$id'");

長い答え:減価償却中なので、mysql_()関数を使用しないでください。代わりに、PDOまたはmysqliを使用してプリペアドステートメントを確認してください。これらはこれを安全に処理します(減価償却されていません)。

読む: http: //php.net/manual/en/pdo.prepared-statements.phpまたはgoogleで詳細を確認してください-周りにはたくさんの例があります。mysql_()関数が削除されたときに刺される前に、今すぐ学ぶのが最善です。

于 2012-09-11T13:07:33.377 に答える