未从textarea传递PHP$\u POST
我使用下面的脚本来请求密码,然后询问用户是否要编辑页面。单击页面在“未从textarea传递PHP$\u POST,php,post,textarea,Php,Post,Textarea,我使用下面的脚本来请求密码,然后询问用户是否要编辑页面。单击页面在“”中将其打开,然后“保存”按钮应再次将文本区域的内容发送到脚本以供编写。(我知道这不是最安全的身份验证方法,如果没有SQL也能做到这一点,我很想听听。) 问题是文本区域的内容没有传递给updateFile()函数 <? session_start(); $pass = 'generic_password'; $login ='<form action="?page=admin" method="post">
”中将其打开,然后“保存”按钮应再次将文本区域的内容发送到脚本以供编写。(我知道这不是最安全的身份验证方法,如果没有SQL也能做到这一点,我很想听听。)
问题是文本区域的内容没有传递给updateFile()函数
<?
session_start();
$pass = 'generic_password';
$login ='<form action="?page=admin" method="post">
Password: <input type="password" name="pass" />
<input type="submit" />
</form>';
function updateFile($file){
$area=$_POST['area'];
$fd=fopen($file,"w");
fwrite($fd,$area);
fclose($fd);
echo $file.' has been saved';
}
if (!isset($_POST['pass']) && $_SESSION['authed'] == false){
echo $login;
$_SESSION['authed'] = false;
}
elseif ($_POST['pass'] == $pass || $_SESSION['authed'] == true){
$_SESSION['authed'] = true;
if(isset($_POST['submit'])){
updateFile($_POST['file']);
}
echo "Select a page to edit<br/>";
echo "<ul>";
foreach (glob("{*.html,*.css}",GLOB_BRACE) as $x){
echo "<li> <a href=\"?page=admin&edit=$x\">$x </a></li>";
}
echo "</ul>";
if (isset($_GET['edit'])){
echo '<script type="text/javascript" src="nicEdit.js"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() { nicEditors.allTextAreas() });
</script> ';
echo '<form method="post" action="?page=admin">You are editing: <a name="file">'.$_GET['edit'].'</a> <textarea name="area" style="width:920px;">';
include $_GET['edit'];
echo '</textarea>
<input name="submit" value="Save" type="submit" />
</form>';
}
}
else
echo "something went wrong";
?>
函数中不传递任何内容。我怀疑你怎么能打开这个文件
有名为文件的
元素在$\u POST
if(isset($_POST['submit'])){
updateFile($_POST['file']);
}
也许你在这里错了:
if(isset($_POST['submit'])){
updateFile($_POST['file']);
}
在这里,您将删除一个输入文件。如果表单中不存在任何此类字段,则只有具有此类名称的锚定标记存在,并且$\u POST无法带走锚定标记中的数据。因此,最好分别为文件名保留一个字段,如
希望这有帮助。
<input name="submit" value="Save" type="submit" />
上述内容从未转换为$\u POST['submit']
var\u dump($\u POST)是什么意思?索引“区域”已设置,但是否为空?您将右括号与嵌套块放在同一级别的习惯是该死的awful@Shrapnel,您建议我如何安排大括号?与开始块的级别相同。首先,将身份验证与其余部分分开。让它独立的脚本,使它工作。然后制作文件保存脚本。让它发挥作用。分别地然后仅在(!empty($\u SESSION['authed'])的情况下添加,
检查