我在线使用各种帮助指南写了这个:
<?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
公开作为审核工具。
但是,当我每次重新访问页面时提交表单(其工作)时,它只是说echo语句'post is now private'。我希望每次都能看到这个表格,所以我可以在必要时一次又一次地重复使用。
为了达到这个目的,我需要改变什么?
答案 0 :(得分: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>
答案 1 :(得分:0)
后:
echo "Post is now private<br><br>";
添加:
echo '<a href="' . $_PHP_SELF . '">see form</a>';
您的问题是表单发布变量仍然被发送到服务器,因此您的if语句
if(isset($_POST['update']))
评估为true,表单不显示。