【问题标题】:A form page to submit data to table in database in PHP在 PHP 中将数据提交到数据库中的表的表单页面
【发布时间】:2013-05-11 06:26:53
【问题描述】:

我是 PHP 新手,在这方面工作不多。我正在处理一个页面,我需要在提交按钮时将数据从文本框保存到表格中。但不知何故,按下按钮似乎没有任何效果。

以下是我的页面代码:

<?php
require_once('auth.php');?>
<?php
if(isset($_POST['formSubmit']))
{
    $errorMessage = ""; 
    if(empty($_POST['category'])){
        $errorMessage .= "<li>You forgot to enter a Category!</li>";
    }
    $varCategory = $_POST['category'];
    if(empty($errorMessage)) {
        require_once('config.php');
        $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE) 
        or die ('Cannot connect to db');
        $result = $conn->query("insert into category (name) values ('".$varCategory."')");
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Member Index</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Categories</h1><br>
<table>
    <tr><td><a href="member-profile.php">My Profile</a> | <a href="logout.php">Logout</a></td></tr>
    <tr><td>Welcome <?php echo $_SESSION['SESS_FIRST_NAME'];?></td></tr>
    <tr><td><table>
            <tr><td>Category</td>
                <td>
                    <form action="member-index.php" method="post">
                        <input type="text" name="category" maxlength="50" value="<?=$varCategory;?>" />
                        <input type="submit" name="formSubmit" value="Save" />
                    </form>
                </td>
            </tr>
            <tr>
                <td>
<?php
    require_once('config.php');
    $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE) 
    or die ('Cannot connect to db');

    $result = $conn->query("select catid, name from category");

    echo "<select name='id'>";

    while ($row = $result->fetch_assoc()) {
        unset($id, $name);
        $id = $row['catid'];
        $name = $row['name']; 
        echo '<option value="'.$id.'">'.$name.'</option>';
    }
    echo "</select>";
?>
                </td>
                <td><a href="member-profile.php">Delete</a></td>
                </tr>
            </table>
        </td>
    </tr>
</table>
</body>
</html>

【问题讨论】:

  • 很抱歉我的整个代码都不可见
  • 感谢 imsiso 的编辑

标签: php forms submit


【解决方案1】:

改变这个

if($_POST['formSubmit'] == "Submit") // this condition will never true

if($_POST['formSubmit'] == "Save")

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

同时从此处删除 dieexit

echo "working"; //die;  // your insert query will never execute because you placed die here

$result = $conn->query("insert into category (name) values ('".$varCategory."')");
//exit;

【讨论】:

  • 感谢 Yogesh 第一行是我的错误,我添加了 die 进行一些测试。我已经更正了我的代码,现在可以正常工作了。再次感谢
  • 再问一个问题,保存数据后如何清空文本框
【解决方案2】:
if($_POST['formSubmit'] == "Submit")

应该是

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

【讨论】:

    【解决方案3】:

    如果你有一个名为 auth.php 的连接类文件和函数 query() 那么你可以使用这个:

    $sql = "insert into category(name) values('".$varCategory."')";
    $conn->query($sql);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 2021-11-13
      相关资源
      最近更新 更多