【发布时间】:2018-06-12 12:02:32
【问题描述】:
我的代码有问题:
在编辑页面,我想向用户显示输入框中之前的值。
但我不断得到的关于该值的一个错误如下:
注意:未定义变量:C:\xampp\htdocs\website_herkansing\edit_gebruiker.php 中的未定义变量:72
我认为isset/submit 部分有问题,但我只是
想不通。。
这是我正在使用的代码
<?php
session_start();
define('DB_NAME', 'ochtendgloren');
$servername = "localhost";
$username = "root";
$password = "";
$db = "ochtendgloren";
$tbl = "members";
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
//Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if (isset($_POST['submit']))
{
$gebruikers_naam = mysqli_real_escape_string($db, $_POST['gebruikers_naam']);
htmlentities($gebruikers_naam);
$id = $_GET['id'];
$query = "UPDATE members
SET gebruikers_naam = '$gebruikers_naam'
WHERE id = '$id' " ;
$result = $conn->query($query);
if($result){
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('edit succesvol!')
window.location.href='admin_members.php';
</SCRIPT>");
}
}
?>
<html>
<head>
<link rel="stylesheet" href="boekingsform.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abel">
</head>
<div class="boeken">
<h1>Wijzig hier de gebruiker</h1>
<form action="editrij.php?id=<?= $id ?>" method="post" >
<div class="row">
<div class="col-25">
<label for="gebruikers_naam"> vul hier de nieuwe gebruikers naam in: </label>
</div></div>
<br>
<div class="row">
<div class="col-75">
<input type="text" name="voornaam" required="required" value="<?= $gebruikers_naam['gebruikers_naam'] ?>"/>
</div>
</div>
<br>
<input type="submit" value="submit" name="submit" />
</form>
</div>
</html>
【问题讨论】:
-
了解prepared Statements以防止SQL注入
-
应该是
<input type='text' name='gebruikers_naam' />。label标签不会发送到 php。你知道吗 -
函数 mysqli_real_escape_string() 需要数据库连接(代码中的 $conn,而不是现在的 $db)
mysqli_real_escape_string($conn, $_POST['gebruikers_naam']); -
@AkintundeOlawale 啊我看到愚蠢的错误,复制了旧代码但忘记更改它,但它仍然没有