2011-08-06 76 views
0

我有一個textarea內容的問題,我想將它保存在一個文件中。 因此,用戶可以在該textarea中寫入一些HTML,PHP,JS和/或其他標籤,並且它想要保存在文件中。 首先,我在JS中聲明瞭一個變量,它接受textarea的值並通過ajax發送給PHP。 PHP創建一個文件並在該文件中插入textarea內容。用JS和PHP保存文件中的textarea內容

如果我在textarea中編寫一個簡單的PHP/HTML/JS代碼,創建並保存的文件不包含任何內容。它是空的(如果我在textarea中使用PHP代碼)或有時如果我在textarea中編寫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

我想你可能需要編碼textarea的內容之前發送。