您好,并提前感谢。 我正在搞乱以下代码的年龄,并没有让它工作。实际上整个代码只应该将DIV写入我服务器上的某个文件并为该文件命名。似乎很容易 - 但实际上并没有像我意识到的那样对我。
到目前为止,这是我的代码:
HTML / PHP :
<div id="data2save">
<table width="80%" border="1px" cellpadding="0" cellspacing="0" style="float:left" >
<tbody>
<tr>
<td style="border-top:1px solid #000;border-left:1px solid #000;border-bottom:1px solid #000;">07:00 - 08:00</td>
<td bgcolor="#99CC00" value="1"> </td>
<td bgcolor="#99CC00" value="2"> </td>
<td bgcolor="#99CC00" value="3"> </td>
</tr>
</tbody>
</table>
</div>
<br>
<input type="button" value="save" id="save">
<?php
$userid = 10;
$kalenderwoche = date('W', time());
sprintf("%02d",$kalenderwoche);
$jahr = date('Y', time());
?>
AJAX:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
$("#save").live("click",function() {
var userid = "<?php echo $userid ?>";
var kalenderwoche = "<?php echo $kalenderwoche ?>";
var jahr = "<?php echo $jahr ?>";
var bufferId =$("#data2save").html();
$.ajax({
type : "POST",
url : "saver2.php",
data: {user_ID: userid , kw: kalenderwoche , jj : jahr , id : bufferId},
dataType: "html",
success: function(data){
alert("ok");
}
});
});
</script>
和处理数据的php文件将其保存到文件中并且似乎包含错误。
saver2.php:
<?php
$kalenderwoche = $_POST['kw'];
$userid = $_POST['user_ID'];
$jahr = $_POST['jj'];
$data = $_POST['id'];
if (!file_exists($userid.'/')) {
mkdir($userid.'/', 0755, true);
}
$copyname = $userid. '/' .$userid. '_' .$jahr. '_' .$kalenderwoche. '.html';
$handle = fopen($copyname , 'w+');
if($handle)
{
if(!fwrite($handle, $data ))
echo "ok";
}
?>
嗯,就是这样。我希望任何人都眼花缭乱,因为我找不到问题。谢谢
答案 0 :(得分:0)
您不应该先关闭文件吗?
另外,如果出现错误或文件长度,fwrite会返回false。
所以如果写了某些东西(或0),!fwrite()
会返回false。
<?php
$kalenderwoche = $_POST['kw'];
$userid = $_POST['user_ID'];
$jahr = $_POST['jj'];
$data = $_POST['id'];
if (!file_exists($userid.'/')) {
mkdir($userid.'/', 0755, true);
}
$copyname = $userid. '/' .$userid. '_' .$jahr. '_' .$kalenderwoche. '.html';
$handle = fopen($copyname , 'w+');
if($handle)
{
if(fwrite($handle, $data ))
echo "ok";
}
fclose($handle);
?>
此外,我希望您不会将该代码提取到生产服务器,因为它充满了安全漏洞。