PHP 更新 SQL 表单


PHP update SQL form

我在网上使用各种帮助指南写了这篇文章:

<?php // update
if(isset($_POST['update']))
{
$id = $_POST['id'];
$emp_salary = $_POST['emp_salary'];
$sql = "UPDATE pins ".
   "SET is_private = $emp_salary ".
   "WHERE id = $pinDetails->id" ;
mysql_select_db('test_db');
$retval = mysql_query( $sql );
if(! $retval )
{
  die('Could not change: ' . mysql_error());
}
echo "Post is now private<br><br>";
}
else
{
?>
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td>Private
<input name="emp_salary" type="text" id="emp_salary" value="1">
<input name="id" type="hidden" id="id">
<input name="update" type="submit" id="update" value="Change">
</td>
</tr>
</table>
</form>
<?php
 }
?><!-- update -->

我正在尝试创建一个在线表单,只需输入1为私人或0为公共作为审核工具,我就可以返回该表单将帖子从公共更改为私人。

但是,当我提交表单时,(有效)每次我重新访问页面时,它只会说回声声明"帖子现在是私有的"。我希望每次都能看到表单,以便在必要时可以一次又一次地重复使用。

为了实现

这一点,我需要改变什么?

在最后一个条件下删除其他内容。

if(isset($_POST['update']))
{
$id = $_POST['id'];
$emp_salary = $_POST['emp_salary'];
$sql = "UPDATE pins ".
   "SET is_private = $emp_salary ".
   "WHERE id = $pinDetails->id" ;
mysql_select_db('test_db');
$retval = mysql_query( $sql );
if(! $retval )
{
  die('Could not change: ' . mysql_error());
}
echo "Post is now private<br><br>";
}
?>
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td>Private
<input name="emp_salary" type="text" id="emp_salary" value="1">
<input name="id" type="hidden" id="id">
<input name="update" type="submit" id="update" value="Change">
</td>
</tr>
</table>
</form>

之后:

 echo "Post is now private<br><br>";

添加这个:

 echo '<a href="' . $_PHP_SELF . '">see form</a>';
您的

问题是表单发布变量仍在发送到服务器,因此您的 if 语句

if(isset($_POST['update']))

计算结果为 true,并且窗体不显示。