这段代码有什么问题?它在表单处理中只传递“1”

时间:2015-02-28 19:55:12

标签: php mysql forms

我正在制作管理面板,因此用户可以通过此helppppp编辑页面文本请...网页上的数据通过数据库显示在这里我给他选项来编辑数据并更新它这将打开数据在文本框中,当用户点击botton更新时,它将更新数据库中的数据,但问题是,当点击更新时,表单没有传递文本字段中的值,它正在传递值" 1"我不知道它到底在哪里" 1"如果我回复发布可靠它显示1

<?php
$query2 = mysqli_query($con, "SELECT * FROM home");
$row    = mysqli_fetch_array($query2);    
$pic1 = ucfirst($row['pic1']);
$pic2 = ucfirst($row['pic2']);
$pic3 = ucfirst($row['pic3']);
$pic4 = ucfirst($row['pic4']);
$pic5 = ucfirst($row['pic5']);
$pic6 = ucfirst($row['pic6']);
$pic7 = ucfirst($row['pic7']);
$pic8 = ucfirst($row['pic8']);
$par1 = ucfirst($row['par1']);
$par1pic = ucfirst($row['par1pic']);
$par2 = ucfirst($row['par2']);
$side_pic1 = ucfirst($row['side_pic1']);
$side_pic2 = ucfirst($row['side_pic2']);
?>
<form method="POST" action="update_home.php">
    Paragraph no 1:
    <textarea name="comment" rows="5" cols="40"><?php echo $par1; ?></textarea>
    First name:
    <input type="text" name="fname"><br>
    <input type="submit" name="nw_update" value="Update_1"/><br><br>
</form>
<form method="POST" action="update_home.php">
    Paragraph no 2:
    <textarea name="comment1" rows="5" cols="40"><?php echo $par2; ?></textarea>
    enter code here
    <input type="submit" name="nw_update" value="Update_2"/><br><br>
</form>

<?php
include("dbconnection.php");

$value = isset($_POST["nw_update"]);
$fname = isset($_POST["fname"]);
echo $fname;
echo $value;

if ($value == "Update_1") {
    $par = isset($_POST["comment"]);
    $query2 = mysqli_query($con, "UPDATE home SET par1='$par' where id='1'");
}
if ($value == "Update_2") {
    $par2 = isset($_POST["comment1"]);
    $query2 = mysqli_query($con, "UPDATE home SET par2='$par2' where id='1'");
}

header("location : edit_home.php");
?>

1 个答案:

答案 0 :(得分:1)

您的问题是使用isset(),例如:

$value = isset($_POST["nw_update"]);

isset()返回一个布尔值,当它为true并将其转换为字符串时,您会得到1

如果要根据是否发出POST请求来设置其值,则应使用以下内容:

$value = isset($_POST["nw_update"]) ?  $_POST["nw_update"] : 'default value (can be an empty string or NULL or something from the database)';

现在,变量的值将包含已发布的值或默认值。