Jaren terug was ik actiever in programmeren en heb ik mijn hobby stamboom via PHP en mysql op internet gezet.
Eigenlijk leende ik scrips en bewerkte die en leerde op die manier PHP en mysql
Nu wil mijn hosting provider dat ik upgrade naar PHP 7. Op zich logisch, maar ja, wel weer een hele puzzel.
Het onderstaande registreer script werkt niet.
Zelf het idee dat het aan $dbid = htmlspecialchars($rij->id); ligt ... maar weet het gewoon niet wat hier aan mankeert.
Ik weet dat MD5 ook niet een geweldige veilige manier is, maar daar moet ik later mag naar kijken. Tenzij iemand hier advies heeft.
Weten jullie waarom dit script niet werkt?
[code]
<?
include("config.php");
if(isset($_POST['submit'])) {
// Uitvoeren
// Velden controleren
if($_POST['user'] != "" AND $_POST['pass1'] != "" AND $_POST['pass2'] != "" AND $_POST['email'] != "") {
// Gebuikersnaamcheck
$sql = "SELECT id FROM gebruikers WHERE naam='".$_POST['user']."'";
$result = mysqli_query($connection, $sql);
$tellen = mysqli_num_rows($result);
if($tellen == 0) {
// E-mailcheck
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])) {
// Controle of beide ingewoerde email adressen gelijk zijn
if($_POST['pass1'] == $_POST['pass2']) {
$actcode = mt_srand((double)microtime()*100000);
while(strlen($actcode) <= 10) {
$i = chr(mt_rand (0,255));
if(eregi("^[a-z0-9]$", $i)) {
$actcode = $actcode.$i;
}
} // einde while loop
$md5pass = md5($_POST['pass1']);
$sql = "INSERT INTO gebruikers (username, password, email, status, aktief, actcode) VALUES ('".$_POST['user']."','".$md5pass."','".$_POST['email']."',0,'"."',0,'".$actcode."')";
$result= = mysqli_query($connection, $sql);
if($result == TRUE) {
$sql = "SELECT id FROM gebruikers WHERE naam='".$_POST['user']."'";
$result = mysqli_query($connection, $sql);
$rij = mysqli_fetch_object($result);
$dbid = htmlspecialchars($rij->id);
$bericht = "Activeer link";
$mail = mail($_POST['email'],"Registratie ".$sitenaam,$bericht,"From: ".$sitenaam." <".$sitemail.">");
if($mail == TRUE) {
echo "Je bent succesvol geregistreerd! Zodra je de link in de mail hebt bezocht kun je inloggen.<br />\n<a href=\"home.php\">« Naar de inlogpagina</a>";
}else{
echo "Fout opgetreden tijdens verzenden van e-mail. Neem contact op met <a href=\"mailto:".$sitemail."\">".$sitemail."</a>.";
}
}else{
echo "Er is een fout opgetreden tijdens het toevoegen van je account. Probeer het later nog eens.<br />\n<a href=\"javascript:history.back()\">« Ga terug</a>";
}
}else{
echo "De door jou opgegeven wachtwoorden komen niet overeen.<br />\n<a href=\"javascript:history.back()\">« Ga terug</a>";
}
}else{
echo "Het e-mailadres dat jij opgaf, komt niet overeen met hoe een e-mailadres eruit zou moeten zien ([email protected]).<br />\n<a href=\"javascript:history.back()\">« Ga terug</a>";
}
}else{
echo "De gebruikersnaam '".$_POST['user']."' is reeds in gebruik. Probeer een andere gebruikersnaam.<br />\n<a href=\"javascript:history.back()\">« Ga terug</a>";
}
}else{
echo "Je bent vergeten één of meerdere velden in te vullen.<br />\n<a href=\"javascript:history.back()\">« Ga terug</a>";
}
}else{
// formulier
?>
<head>
<title>genealogie</title>
<link rel="stylesheet" type="text/css" href="famtree.css">
</head>
<body style="background: #D3D3D3; margin: 0px;">
<table width=100%>
<tr><td class="subTitle"><b>Registreren</b></td></tr>
</table>
<br>
Vul het registratie formulier hieronder in <br><br>
<form method="post" action="registreer.php">
<table>
<tr>
<td class="menu2Title">Gebruikersnaam:</td>
<td class="menu2Title"><input type="text" name="user" maxlength="50" /></td>
</tr>
<tr>
<td class="menu2Title">Wachtwoord:</td>
<td class="menu2Title"><input type="password" name="pass1" /></td>
</tr>
<tr>
<td class="menu2Title">Herhaal:</td>
<td class="menu2Title"><input type="password" name="pass2" /></td>
</tr>
<tr>
<td class="menu2Title">E-mail:</td>
<td class="menu2Title"><input type="text" name="email" maxlength="100" /></td>
</tr>
<tr>
<td></td>
<td class="menu2Title"><input type="submit" name="submit" value="Registreer" /></td>
</tr>
</table>
</form>
<small>Na de registratie zal er een e-mail naar uw e-mailadres gestuurd worden ter activatie. Tot die tijd kunt u nog niet inloggen.<br> </small>
</body>
<?
}
?>
[/quote]
2.226 views