I am trying to complete a registration form for users to register to the site. I was using mysql_*
earlier on but got advised that mysqli_*
or pdo
would be better due to mysql_*
being depreciated in PHP7. So, here's my code. Every time I execute this code, I just get a blank page, my 'error' message doesn't appear nor does the 'New record created successfully!' message. I have looked about on the web and cannot find out the problem with this script.
<?php
if (isset($_POST['submit'])){
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "db";
$username=$_POST['username'];
$firstname=$_POST['firstname'];
$middlename=$_POST['middlename'];
$surname=$_POST['surname'];
$email=$_POST['email'];
$recovery_email=$_POST['recovery_email'];
$password=$_POST['password'];
if (!$_POST['username'] || !$_POST['firstname'] || !$_POST['surname'] || !$_POST['email'] || !$_POST['password']) {
header('Location: http://makeupstudiofix.co.uk/user/register/?error=fields');
exit();
} else {
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO user_logins (username, firstname, middlename, surname, email, recovery-email, password)
VALUES ('$username', '$firstname', '$middlename', '$surname', '$email', '$recovery_email', '$password')";
$conn->exec($sql);
echo "<Script>alert('New record created successfully')</script>";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
echo 'error';
}
}
$conn = null;
?>
Any help is greatly appreciated.