未定义的变量错误

时间:2014-09-01 10:56:37

标签: php

我一直在收到这些错误:

Notice: Undefined variable: voornaam in C:\xampp\htdocs\rocopdracht\database.php on line 13

这是我的代码:

$con=mysqli_connect("localhost","root","","rocopdracht");


if(isset($_POST['voornaam'])){ $voornaam = $_POST['voornaam']; }
if(isset($_POST['achternaam'])){ $achternaam = $_POST['achternaam']; }
if(isset($_POST['ov_nummer'])){ $ov_nummer = $_POST['ov_nummer']; }
if(isset($_POST['wachtwoord'])){ $wachtwoord = $_POST['wachtwoord']; }
if(isset($_POST['email'])){ $email = $_POST['email']; };
if(isset($_POST['telefoon'])){ $telefoon = $_POST['telefoon']; }


mysql_query("INSERT INTO users ( voornaam, achternaam, ov_nummer, wachtwoord, email, telefoon)VALUES ('$voornaam','$achternaam','$ov_nummer','$wachtwoord'.'$email','$telefoon')");

任何解决方案?

4 个答案:

答案 0 :(得分:4)

使用filter_input代替isset

$voornaam=filter_input(INPUT_POST, 'voornaam');

如果未设置$voornaam,则null将被定义为$_POST['voornaam']

答案 1 :(得分:4)

或更短:

$voornaam   = isset($_POST['voornaam'])   ? $_POST['voornaam']   : ""; 
$achternaam = isset($_POST['achternaam']) ? $_POST['achternaam'] : ""; 
$ov_nummer  = isset($_POST['ov_nummer'])  ? $_POST['ov_nummer']  : ""; 
$wachtwoord = isset($_POST['wachtwoord']) ? $_POST['wachtwoord'] : ""; 
$email      = isset($_POST['email'])      ? $_POST['email']      : ""; 
$telefoon   = isset($_POST['telefoon'])   ? $_POST['telefoon']   : ""; 

(不需要缩进!)

答案 2 :(得分:3)

仅在设置值时才设置值。如果未设置变量,则可以将变量指定为null。

if(isset($_POST['voornaam']))
{ 
   $voornaam = $_POST['voornaam']; 
}
else
{
   $voornaam = ''; 
}

这样你也必须对其他变量做同样的事情。

SQL中也有错误。将.之前的$email更改为,

mysql_query("INSERT INTO users ( voornaam, achternaam, ov_nummer, wachtwoord, email, 
telefoon)VALUES 
('$voornaam','$achternaam','$ov_nummer','$wachtwoord','$email','$telefoon')");
                                                     ^            

答案 3 :(得分:1)

仅当存在POST数据时才设置变量$voornaam,因此,预先初始化所有变量,如:

$voornaam = "";
$achternaam = "";
$ov_nummer = "";
$wachtwoord = "";
$email = "";
$telefoon = "";

if(isset($_POST['voornaam'])){ $voornaam = $_POST['voornaam']; }
if(isset($_POST['achternaam'])){ $achternaam = $_POST['achternaam']; }
if(isset($_POST['ov_nummer'])){ $ov_nummer = $_POST['ov_nummer']; }
if(isset($_POST['wachtwoord'])){ $wachtwoord = $_POST['wachtwoord']; }
if(isset($_POST['email'])){ $email = $_POST['email']; };
if(isset($_POST['telefoon'])){ $telefoon = $_POST['telefoon']; }