无法使用PDO

时间:2018-08-01 07:23:35

标签: php html pdo

我试图用PDO将数据输入数据库,我制作了一个供用户输入的表格,所以forminput-> inputprocess。

但是,当我按下将其提交到proses_input.php并显示空白页面时,我无法输入coz。 我尝试将代码写在1个文件中,但是当我按下Submit时,再次显示输入表单。

这是我的form_input.php

<form method="POST" action="proses_input.php">
<table>
    <tr>
        <td>Nama</td>
        <td> : </td>
        <td>
            <input type="text" name="nama" required>
        </td>
    </tr>
    <tr>
        <td>No. Pegawai</td>
        <td> : </td>
        <td>
            <input type="text" name="no_pegawai" required>
        </td>
    </tr>
    <tr>
        <td>Bagian</td>
        <td> : </td>
        <td>
            <input type="text" name="bagian">
        </td>
    </tr>
    <tr>
        <td>Jabatan</td>
        <td> : </td>
        <td>
            <input type="text" name="jabatan">
        </td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td>
            <button type="submit" value="submit">Input</button>
        </td>
    </tr>
</table>
</form>

这是我的proses_input.php

<?php
include_once "connect.php";
if (isset($_POST["submit"])) {
    $no_pegawai = $_POST['no_pegawai'];
    $nama = $_POST['nama'];
    $bagian = $_POST['bagian'];
    $jabatan = $_POST['jabatan'];

    try { //KONDISI
        $sql = "INSERT INTO phonebook (no_pegawai, nama, bagian, jabatan) 
            VALUES (:no_pegawai, :nama, :bagian, :jabatan)";
    $input = $conn->prepare($sql);
    $input->bindparam(':no_pegawai', $no_pegawai);
    $input->bindparam(':nama', $nama);
    $input->bindparam(':bagian', $bagian);
    $input->bindparam(':jabatan', $jabatan);

    $input->execute();

        header('location: admin.php');
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}
?>

IDK为什么但每次我将数据输入到表单时,它始终停留在空白页的proses_input.php上。我已经尝试将其放在一个php文件中,但仍然无法正常工作。请帮助我,谢谢

1 个答案:

答案 0 :(得分:1)

如上所述,您尚未命名按钮,因此它与条件isset($_POST["submit"])不匹配,因为$_POST数组中没有名为“ submit”的字段。同样值得注意的是,您不应该依赖用户的输入。我看到您正在使用参数化查询,这很好,但是在UI上显示它们以避免XSS漏洞时,不要忘记转义这些值。