Thus, here I have added basic sanitization. And, I can tell you that I solved Shakespeares question. The answer is, redo until you are able to sanitize!
It should say [email protected] if ( [email protected] ) was entered!!
Here, the updated code. And also, try to make your code up-to-date. Another tip, a protip, is that you can retrieve the version number virtually. Enter what the voice says, then update until it becomes static.
<?=
include('db/db.php');
$UserName=$_POST['UserName'];
$EmailVerify=$_POST['EmailVerify'];
$PassPhrase1=$_POST['PassPhrase1'];
while (@isset($UserName, $PassPhrase1) AND !empty($EmailVerify) and $_POST['submit']) {
if (@strlen($UserName) >= 22) {
$error="Användarnamnet får vara max 22 bokstäver långt!";
break;
}
if (@strlen($PassPhrase1) < 8) {
$error="Lösenordet måste vara minst åtta tecken långt!";
break;
}
if (@isset($UserName, $PassPhrase1) AND !empty($EmailVerify) AND $_POST['submit']) {
$query="INSERT INTO users (UserName, EmailVerify, PassPhrase1) VALUES (?,?,?)";
$ar=$conn->prepare($query);
$sanitized_a=filter_var($EmailVerify, FILTER_SANITIZE_EMAIL);
if (@filter_var($sanitized_a, FILTER_VALIDATE_EMAIL) {
$ar->execute([$UserName, $sanitized_a, password_hash($PassPhrase1, PASSWORD_BCRYPT)]);
$message="This email is filtered!";
print $EmailVerify;
print $sanitized_a;
break;
} else {
$error="Email not filtered!";
break;
}
$message="Du har skapat ett konto!";
break;
}
}
?>
<!DOCTYPE HTML/>
<HTML/>
<HEAD/>
<TITLE/>MonkAcres.se || vPetSim</TITLE>
</HEAD>
<BODY/>
<FORM METHOD="POST"/>
Användarnamn:<BR/>
<INPUT TYPE="text" NAME="UserName" REQUIRED/><BR/>
Epost:<BR/>
<INPUT TYPE="email" NAME="EmailVerify" REQUIRED/><BR/>
Lösenord:<BR/>
<INPUT TYPE="password" NAME="PassPhrase1" MINLENGTH="8" REQUIRED/><BR/>
<INPUT TYPE="submit" NAME="submit" VALUE="Skapa konto!"/>
</FORM>
</BODY>
</HTML>