コンテンツ管理システム(ブログ用)を設計しようとしています。すべて正常に動作しますが、私は更新セクションに関する奇妙な問題があります。更新セクションはjquery-ajaxとphpで動作します。 jquery関数は入力をチェックし、すべてがOKならば(空でないなど)、すべてのデータをAJAX(POSTメソッド)を介してaddpostup.phpに送信します。私は、テキストエリアに(ユーチューブリンク用)のコードはiframeを追加すると、問題は、iframe埋め込みコードが403エラーを返す
あり、それが完璧に働いていたローカルホスト上で
jquery-3.0.0.min.js:4 POST addpostup.php 403 (Forbidden)
をスローします。私はプロパティ
<iframe></iframe>
なしのiframeコードを追加すると、それはpermissin 0755 403
同じエラーがスローされますaddpostup.phpするために付与されています。同じエラーがまだあります。私はコードiframeを追加せず、すべてが完璧に機能しました(他のHTMLタグでも問題は発生しません)。マイaddpostup.phpファイルは次のとおりです。?
<?php
session_start();
require('checklogin.php');
require('../fn/db.php');
$id = $_POST['addid'];
$title = $_POST['title'];
$image = $_POST['image'];
$brief = $_POST['addta'];
$text = $_POST['addta2'];
$radio = $_POST['addradio'];
$video = $_POST['addvideo'];
$sample = $_POST['addsample'];
$keyword = $_POST['addkeyword'];
$descr = $_POST['adddesc'];
$gdate = date('d.m.Y');
try {
$data = 'UPDATE tbl_cnt SET title = :title, img = :img, brief = :brief, textt = :textt, classt = :classt, videot = :videot, udate = :udate, surl = :surl, kword = :kword, descr = :descr WHERE id = :id
';
$sql = $db->prepare($data);
$sql->bindParam(':title',$title);
$sql->bindParam(':img',$image);
$sql->bindParam(':brief',$brief);
$sql->bindParam(':ttext',$text);
$sql->bindParam(':classt',$radio);
$sql->bindParam(':videot',$video);
$sql->bindParam(':udate',$gdate);
$sql->bindParam(':surl',$sample);
$sql->bindParam(':kword',$keyword);
$sql->bindParam(':descr',$descr);
$sql->bindParam(':id',$id);
$sql->execute();
echo('Success...');
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
$db = null;
>
データベース接続が(付属)をdb.phpに位置しています。私のコントローラ機能(jquery-ajax)は次のとおりです。
function check_form2(){
valid = true;
$(".statusaddpost").html('');
$(".addpost").css("border","1px solid #ccc");
$("#addta").css("border","1px solid #ccc");
if (!$("#addtitle").val()){
$("#addtitle").css("border","1px solid red");
$(".statusaddpost").append('<li><i class="fa fa-times-circle" aria-hidden="true"></i> Empty title !!.</li>');
valid=false;
}
if ($("#addtitle").val().length > 50){
$("#addtitle").css("border","1px solid red");
$(".statusaddpost").append('<li><i class="fa fa-times-circle" aria-hidden="true"></i> Max title length is 50. At the moment : '+$("#addtitle").val().length+' </li>');
valid=false;
}
if (!$("#addimage").val() || $("#addimage").val()=='disab'){
$("#addimage").css("border","1px solid red");
$(".statusaddpost").append('<li><i class="fa fa-times-circle" aria-hidden="true"></i> Empty image!!</li>');
valid=false;
}else if ($("#addimage").val().length > 20){
$("#addimage").css("border","1px solid red");
$(".statusaddpost").append('<li><i class="fa fa-times-circle" aria-hidden="true"></i> Max img length is 20. At the moment : '+$("#addimage").val().length+' </li>');
valid=false;
}
if(valid==true){
if ($("#addvideo").is(":checked")){
video="1";
}else{
video="0";
}
serdata = 'addid='+$("#addid").val()+'&title='+$("#addtitle").val()+'&image='+$("#addimage").val()+'&addta='+$("#addta").val()+'&addta2='+$("#addta2").val()+'&addradio='+$('input[name=addradio]:checked', '#addpost').val()+'&addvideo='+video+'&addsample='+$("#addsample").val()+'&addkeyword='+$("#addkeyword").val()+'&adddesc='+$("#adddesc").val();
$.ajax({
type:"POST",
url:"../addpostup.php",
data:serdata,
cache:false,
success:function(result){
$(".statusaddpost").html('');
$(".previewpic").slideUp(300);
$(".addpost").val('');
$("#addta").val('');
$("#addta2").val('');
$(".previewpic").html('');
$(".addpost").css("border","1px solid #ccc");
$("#addta").css("border","1px solid #ccc");
$(".statusaddpost").html('<li class="addpostsuccess">'+result+'</li>');
},
error:function(error,e2,e3){
$(".statusaddpost").html('<li>Error :</li>');
$(".statusaddpost").append('<li>'+error+'--'+e2+'--'+e3+'</li>');
}
});
}
}
更新セクションと完全に同じセクションを追加する(HTMLの構造とプロセス)。ちょうどSQLのセクションが異なります。セクションを追加してもエラーは発生しません。
また、.htaccessファイルは、圧縮コードと影響力コードで構成されています。
私はあなたの考えを待っています!読んでいただきありがとうございます...