【发布时间】:2013-10-10 10:19:26
【问题描述】:
当我将表单发送到另一个页面时,它显示:Notice: Undefined index: gebruikersnaamRegistreren in on line 55
这适用于输入的每个名称
HTML 代码
<form action="RegistrerenSucces.php" method="POST">
<fieldset id="inputs">
<input id="gebruikersnaam" type="text" name="gebruikersnaamRegistreren" placeholder="Gebruikersnaam " required />
<input id="paswoord" type="password" name="paswoordRegistreren" placeholder="Paswoord" required />
<input id="voornaam" type="text" name="voornaamRegistreren" placeholder="Voornaam" required />
<input id="achternaam" type="text" name="achternaamRegistreren" placeholder="Achternaam" required />
<input id="email" type="email" name="emailRegistreren" placeholder="E-mail adres" required />
<input id="straat" type="text" name="straatRegistreren" placeholder="Straatnaam en huisnummer" required />
<input id="postcode" type="text" name="postcodeRegistreren" placeholder="Postcode" required />
<input id="gemeente" type="text" name="gemeenteRegistreren" placeholder="Gemeente" required />
</fieldset>
<fieldset id="actions">
<input type="submit" id="submit" value="Registreren" />
</fieldset>
</form>
PHP 代码
<?php
$dbhost='localhost';
$dbuser='root';
$dbpassword='usbw';
$dbdatabase='computingstore';
$paswoordEncrypted = hash('sha512',$_POST['paswoordRegistreren']);
print_r($_POST);
/*Database verbinden*/
$link = mysqli_connect($dbhost , $dbuser ,$dbpassword , $dbdatabase);
$query = ("INSERT INTO gebruiker (gebruikersnaam, paswoord, voornaam, achternaam, e-mail, straatnaam, postcode, gemeente)
VALUES
('".$_POST['gebruikersnaamRegistreren']."',
'".$paswoordEncrypted."',
'".$_POST['voornaamRegistreren']."',
'".$_POST['achternaamRegistreren']."',
'".$_POST['emailRegistreren']."',
'".$_POST['straatnaamRegistreren']."',
".$_POST['postcodeRegistreren'].",
'".$_POST['gemeenteRegistreren']."')");
mysqli_query($link,$query);
/*Verbing afsluiten*/
mysqli_close($link);
?>
如何解决这个我已经找了 2 天的错误。
【问题讨论】:
-
尝试在mysqli中使用prepared statements
-
嗨,
print_r($_POST);提供了什么? -
作为一个荷兰人,我建议你用英文写你的代码。
-
它在你的表中拥有 id 字段
-
您的代码对 SQL 注入非常开放,因此非常不安全。神奇地将
mysql更改为mysqli并不能解决此问题。您必须使用mysqli功能,例如准备好的语句和绑定值。