Witam próbuję napisać skrypt w PHP do rejestracji ale w pewnym momencie łapie wyjątek lecz nie wiem dlaczego.
Poniżej wstawiam kod od momentu wyświetlania błędu, tj. ten fragment wyświetla mi się w przeglądarce razem z alertem z bloku catch.
try
{
$mysqli = new mysqli($host,$db_user,$db_password,$db_name);
if ($mysqli->connect_errno)
{
die('Connect Error: ' . $mysqli->connect_errno);
}
else
{
$result = $mysqli->query("SELECT id FROM users WHERE email='$email'");
if (!$result) throw new Exception($mysqli->error);
$how_many_emails = $result->num_rows;
if($how_many_emails>0)
{
$flag=false;
$_SESSION['email_error']="Istnieje już konto przypisane do tego adresu e-mail!";
}
if ($flag==true)
{
if ($mysqli->query("INSERT INTO users VALUES (NULL, '$fname', '$email', '$hash', NOW(),NULL,NULL)"))
{
$_SESSION['correct']=true;
header('Location: login.html');
}
else
{
throw new Exception($mysqli->error);
}
}
$mysqli->close();
}
}
catch(Exception $e)
{
echo '<script type="text/javascript">
alert('Trwają prace na serwerze zostaniesz przeniesiony na stronę główną');
location.href = "index.html";
</script>;';
}