2011-08-06 12 views
0

ファイルに保存したいテキストエリアのコンテンツに問題があります。 したがって、ユーザーはそのテキストエリアにHTML、PHP、JS、および/または他のタグを書き込むことができ、ファイルに保存したいことがあります。 まず、JavaScriptでtextareaの値をとり、ajax経由でPHPに送る変数をJSで宣言しました。 PHPはファイルを作成し、そのファイルにテキストエリアの内容を挿入します。JSとPHPを使ってテキストエリアのコンテンツをファイルに保存する

テキストエリアに単純なPHP/HTML/JSコードを記述すると、作成され保存されたファイルには何も含まれません。それは空です(私はテキストエリアでPHPコードを使用する場合)または時々私はテキストエリアにHTMLタグを記述します。 私のスクリプト内で探します。

http://pastebin.com/z6CbSNKC

だから、問題は何ですか? JSは問題またはPHPコードですか?

コードペーストビンから:

/* HTML code */ 
Filename with extension : 
<input type="text" placeholder="ex: test.css" id="titlecopypaste" /><br/> 
<textarea cols="60" rows="10" placeholder="Insert code here" id="content"></textarea><br/> 
<select id="choose"> 
<option value="public" selected="selected">Public</option> 
<option value="private">private</option> 
<option value="both">Public si private</option> 
</select> 
<center><button id="submitcopypaste">Done</button><br/> 
<p id="status_create"></p> 
</center> 




/* Javascript code */ 
$("#submitcopypaste").click(function() 
{ 
    var fisier=$("#titlecopypaste").val(); 
    var content=$("#content").text(); 
    var select=$("#choose").val(); 
    $.ajax({ 
     type:"POST", 
     url:"include/uploadtxt.php", 
     data:"fis="+fisier+"&cont="+content+"&sel="+select, 
     success:function(ev) 
     { 
      $(this).hide(); 
      $("#status_create").html(ev); 
     } 
}); 





/* PHP code */ 
session_start(); 
include('Files.php'); //the class created by 
include('connect.php'); 
$status=""; 
if(isset($_POST['fis'],$_POST['cont'],$_POST['sel'])) 
    { 
     $obj=new Files(); 
     $file=$_POST['fis']; 
     $content=$_POST['cont']; 
     $selected=$_POST['sel']; 

     switch($selected) 
      { 
      case "public":{ 
       $status=$obj->createfile("../diskuser/_public/".$file, $content);break; 
      } 
      case "private":{ 
       if(isset($_SESSION['utilizator'],$_SESSION['parola'])) 
        { 
       $cer=mysql_query("select * from user where nickname='".$_SESSION['user']."' and password='".$_SESSION['parola']."'"); 
       if($cer) 
        { 
         while($info=mysql_fetch_array($cer)) 
          { 
           $status=$obj->createfile("../diskuser/".$info['nickname']."/".$file, $content);break; 
          } 
        } 
       else 
        { 
         $status="Connection error!"; 
        } 
        } 
       else 
        { 
         $status="The session has been expired !"; 
        } 
        break; 
      } 
      case "both":{ 
       $status=$obj->createfile("../diskuser/_public/".$file, $content); 
       $cer=mysql_query("select * from user where nickname='".$_SESSION['user']."' and password='".$_SESSION['parola']."'"); 
       if($cer) 
        { 
         while($info=mysql_fetch_array($cer)) 
          { 
           $status=$obj->createfile("../diskuser/".$info['nickname']."/".$file, $content);break; 
          } 
        } 
       else 
        { 
         $status="Database connection error !"; 
        } 
        break; 
      } 
      } 
    } 
else 
    { 
     $status="Invalid data !"; 
    } 
    echo $status; 
    }); 
+0

PHPで変数を表示するだけで、何かが得られるかどうかを確認して、どこに問題があるかを知ることができます。 – joakimdahlstrom

+0

ファイルの書き込み権限がありますか? – Alfred

答えて

2

私はあなたが前にそれを送ってテキストエリアの内容を符号化する必要があるかもしれないと思います。

関連する問題