我有textarea内容的问题,我想将其保存在文件中。 因此,用户可以在该textarea中写入一些HTML,PHP,JS和/或其他标签,并且它希望保存在文件中。 首先,我在JS中声明了一个变量,它接受textarea值并通过ajax发送到PHP。 PHP创建一个文件并在该文件中插入textarea内容。
如果我在textarea中编写一个简单的PHP / HTML / JS代码,则创建和保存的文件不包含任何内容。它是空的(如果我在textarea中使用PHP代码)或有时如果我在textarea中编写HTML标记。 查看我的脚本:
那么,问题是什么? JS是一个问题还是PHP代码?
来自pastebin的代码:
/* 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 :(得分:2)
我认为您可能需要在发送之前对textarea内容进行编码。