【发布时间】:2017-02-26 17:48:05
【问题描述】:
我正在使用 textarea 编写一个包含“个人笔记”部分的页面。当我单击“保存”时,它实际上将内容保存到 SQL 服务器,但随后它会在 textarea 中显示旧的笔记信息。提交后我需要它来更新 textarea 的新信息。
代码如下:
<?php
$userlevel = mysqli_query($db,"SELECT level FROM users WHERE username = '$user_check'");
$ar = mysqli_fetch_assoc($userlevel);
if ($ar['level'] == '0')
{
$level = "Utilizador";
}
else
{
$level = "Administrador";
}
if($_SERVER["REQUEST_METHOD"] == "POST") {
$savenotes = mysqli_real_escape_string($db,$_POST['notes']);
mysqli_query($db,"UPDATE users SET notes = '$savenotes' WHERE username = '$username'");
$msg = "Notas pessoais guardadas no servidor.";
}
?>
<div style = "margin:30px">
<ul>
<li><a class="active" onClick="location.href='main.php?action=home'">Home</a></li>
<li><a onClick="location.href='main.php?action=servers'">Servidores</a></li>
<li><a onClick="location.href='main.php?action=users'">Utilizadores</a></li>
<li><a onClick="location.href='main.php?action=account'">Minha Conta</a></li>
<li style="float:right"><a onClick="location.href='logout.php'">Sair</a></li>
<li style="float:right"><a><b>Acesso:</b> <font color=red><?php echo $level; ?></font></a></li>
</ul>
<br><br>
<font size=5><b>Bem-vindo, <?php echo utf8_encode($login_session); ?><br /></b></font><br />
Por favor escolha uma das opções do painel para gerir este servidor. Pode adicionar/remover/alterar servidores de jogo e voz bem como utilizadores deste painel.<br />
Qualquer bug ou sugestão contactar mail@mail.com.<br /><br />
Notas Pessoais:<br />
<form action = "" method = "post">
<textarea rows="4" cols="50" type ="text" name ="notes" style="border-radius: 4px; border: solid 1px light-gray; box-shadow: inset 1px 1px 1px 0 #009AFC0; transition: box-shadow 0.3s;";/><?php echo htmlentities($notes);?></textarea><br /><br />
<button class="button" type = "submit" style="vertical-align:middle; width:100px;"><span>Gravar </span></button><br />
</form>
<div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $msg; ?></div>
</div>
提前谢谢你!
【问题讨论】:
-
根据给定的代码 sn-p,看起来
$notes没有在任何地方设置。所以,echo-ing$savenotes应该会告诉你新的内容。但是,如果$notes在代码中的其他位置设置并包含一些要在显示页面时显示的预填充数据,这可能会给您带来问题。顺便说一句,请查看MySQLi Prepared Statements 以编写安全脚本。