我试图用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文件中,但仍然无法正常工作。请帮助我,谢谢
答案 0 :(得分:1)
如上所述,您尚未命名按钮,因此它与条件isset($_POST["submit"])
不匹配,因为$_POST
数组中没有名为“ submit”的字段。同样值得注意的是,您不应该依赖用户的输入。我看到您正在使用参数化查询,这很好,但是在UI上显示它们以避免XSS漏洞时,不要忘记转义这些值。