Hallo beste mensen,
Ik ben vandaag begonnen met een source te maken op xampp nu ben ik bij het registratie formulier aan gekomen en heb ik 2 foutjes. Na wat googlen ben ik er nog niet uit gekomen en na mijn idee klopt alles ook gewoon.
Dus had ik 2 vragen:
1. Waarom krijg ik deze 2 fouten:
1a. Notice: Trying to get property of non-object in C:\xampp\htdocs\crime\signup.php on line 55
1b. Notice: Trying to get property of non-object in C:\xampp\htdocs\crime\signup.php on line 59
2. Is mijn script veilig genoeg?
PHP
<?php
include_once "include/links.php";
?>
<h1>Registreren</h1>
<p>
<?php
if(isset($_POST['submit']))
{
$array = array();
$gebruikersnaam = $mysqli->real_escape_string($_POST['gebruikersnaam']);
$wachtwoord = $mysqli->real_escape_string($_POST['wachtwoord']);
$herhaal = $mysqli->real_escape_string($_POST['herhaal']);
$email = $mysqli->real_escape_string($_POST['email']);
//kijken of alles is ingevuld
if(empty($gebruikersnaam)) {
$array[] = 'U heeft geen gebruikersnaam opgegeven!';
}
if(empty($wachtwoord))
{
$array[] = 'U heeft geen wachtwoord opgegeven!';
}
if(empty($herhaal))
{
$array[] = 'U heeft uw wachtwoord niet herhaalt!';
}
if(empty($email))
{
$array[] = 'U heeft geen email opgegeven!';
}
//de fouten tellen
$fouten = count($array);
if($fouten == 0)
{
$dbres = $mysqli->query("SELECT * FROM gebruikers WHERE login='". $gebruikersnaam ."'");
$gebruiker = $dbres->fetch_object();
$ray = array();
if($herhaal != $wachtwoord)
{
$ray[] = 'Uw wachtwoord komt niet overeen met het herhaalde wachtwoord.';
}
if($dbres->num_rows == 1)
{
$ray[] = 'Uw opgegeven gebruikersnaam bestaat al!';
}
if (! filter_var($email, FILTER_VALIDATE_EMAIL))
{
$ray[] = 'Uw email adres is ongeldig!';
}
if($email == $gebruiker->email)
{
$ray[] = 'Uw opgegeven email adres bestaat al!';
}
if($gebruiker->IP == $_SERVER['REMOTE_ADDR'])
{
$ray[] = 'Uw IP-adres staat al in onze database!';
}
$rays = count($ray);
//Succes!
if($rays == 0)
{
echo '<b>U heeft zich geregistreerd u kunt nu inloggen.</b>';
//wachtwoord descryptie
$pass = sha1(md5($wachtwoord));
$mysqli->query("INSERT INTO gebruikers (login,wachtwoord,email,IP) VALUES('". $gebruikersnaam ."','". $pass ."','". $email ."','". $_SERVER['REMOTE_ADDR'] ."') ") or die ($mysqli->error());
}
else
{
echo '<b>U heeft de volgende fout(en) gemaakt: </b><br /><br />';
foreach($ray as $fout)
{
echo $fout .'<br />';
}
}
}
else
{
echo '<b>U heeft de volgende fout(en) gemaakt:</b><br /><br />';
foreach($array as $fout)
{
echo $fout .'<br />';
}
}
}
?>
<form method="POST" action="signup.php">
<div style="width: 300px;">
<div style="width: 150px; float: left;">
Gebruikersnaam:
</div>
<div style="width: 150px; float: left;">
<input type="text" name="gebruikersnaam" size="25" />
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
Wachtwoord:
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
<input type="password" name="wachtwoord" size="25" />
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
Herhaal wachtwoord:
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
<input type="password" name="herhaal" size="25" />
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
Email:
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
<input type="text" name="email" size="25" />
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
Registreer:
</div>
<div style="width: 150px; float: left; margin-top: 2px;">
<input type="submit" name="submit" value="Registreren" />
</div>
</div>
</form>
</p>
<?php
include_once "include/rechts.php";
?>
Toon Meer
bij voorbaat dank,
Frank sijbom.