Грешка при регистриране помощ

darkevil94

Registered
Може ли да ми кажете къде допускам грешка че да ми извежда "Database Error Occured" ? Тази грешка се показва след като попълна всички полета и натисна "Регистриране"

Код:
if ($_POST['register']) {
$username= htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
$password2 = htmlspecialchars($_POST['password2']);
$email = htmlspecialchars($_POST['email']);
$date = date("d.M.Y, H:i");
$ip = $_SERVER['REMOTE_ADDR'];
$code = htmlspecialchars($_POST['code']);
$avatar = "templates/img/none.png";
if($_POST['code'] != $_SESSION['rand_code']) {
	echo "<div class='error'>Попълнете вярно кода от картинката.</div>";
}	
else {
if ($username == NULL || $password == NULL || $password2 == NULL || $email == NULL)
{
    echo "<div class='error'>Моля попълнете всички полета.</div>";
}
else {
if(strlen($username) < 4)
{
	print "<div class='error'>Името е прекалено кратко.</div>";
}
else {
if (strlen($password) < 5)
{
	print "<div class='error'>Паролата ви трябва да бъде по-голяма от 5 символа</div>";
}
else {
    if(!preg_match("/^[a-zA-Z0-9]+$/", $username)) {
    echo "<div class='error'>Въвели сте невалиден символ</div>";
}
else {
    if ($broi >= 1) {
    echo "<div class='error'>Това потребителско име е заето.</div>";
}
else {
    if ($password != $password2) {
    echo "<div class='error'>Паролите не съвпадат</div>";
}
else {
    $password = md5($password);
    if (!strstr("$email", "@") || !strstr("$email", ".")) {
    echo "<div class='error'>Невалиден емайл адрес.</div>";
}
else {
	if(empty($skype)){
		$skype = "Не е посочен";
	}
	if(strlen($message)<3){
		$message = "Този потребител няма подпис...";
	}
$query_verify_email = "SELECT * FROM users  WHERE email ='$email'"; $result_verify_email = mysqli_query($dbc, $query_verify_email);
if (!$result_verify_email) { echo 'Database Error Occured'; }
if (mysqli_num_rows($result_verify_email) == 0) { $activation = md5(uniqid(rand(), true));
$query_insert_user = "INSERT INTO `users` (`username`, `email`, `password`, `activation`) VALUES ('$username', '$email', '$password', '$activation')";
$result_insert_user = mysqli_query($dbc, $query_insert_user);
if (!$result_insert_user) { echo 'Query Failed'; }
if (mysqli_affected_rows($dbc) == 1) { //If the Insert Query was successfull.


                // Send the email:
                $message = " To activate your account, please click on this link:\n\n";
                $message .= WEBSITE_URL . '/activate.php?email=' . urlencode($Email) . "&key=$activation";
                mail($Email, 'Registration Confirmation', $message, 'From: ismaakeel@gmail.com');

                // fleftush the buffered output.


                // Finish the page:
                echo '<div class="success">Thank you for
registering! A confirmation email
has been sent to '.$Email.' Please click on the Activation Link to Activate your account </div>';
} 
}
}
}
}
}
}
}
}
}
 
Най-вероятно не задаваш връзката към правилната база данни. Напиши
Код:
mysqli_error();
и виж какво ти изкарва като грешка.
 
Изкарва ми следното

Код:
Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in E:\xampp\htdocs\registration.php on line 19
Database Error Occured
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in E:\xampp\htdocs\registration.php on line 21

Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in E:\xampp\htdocs\registration.php on line 23
Query Failed
 
Извинявам се за СПАМА, но бих искал да ви попитам така написан кодът дали е правилен

Код:
if (!$result_verify_email) { echo 'Database Error Occured'; }
if (mysql_num_rows($result_verify_email) == 0) { $activation = md5(uniqid(rand(), true));
$query_insert_user = "INSERT INTO `users` (`username`, `email`, `password`, `activation`) VALUES ('$username', '$email', $password', '$activation')";
$result_insert_user = mysql_query($query_insert_user);
if (!$result_insert_user) { echo 'Query Failed'; }
if (mysql_affected_rows($dbc) == 1) {
$message = "To activate your account, please click on this link:\n\n";
$message .= WEBSITE_URL . '/activate.php?email=' . urlencode($email) . "&key=$activation";
mail($email, 'Registration Confirmation', $message, 'From: email@hotmail.com'); }
 
darkevil94 каза:
Извинявам се за СПАМА, но бих искал да ви попитам така написан кодът дали е правилен

Код:
if (!$result_verify_email) { echo 'Database Error Occured'; }
if (mysql_num_rows($result_verify_email) == 0) { $activation = md5(uniqid(rand(), true));
$query_insert_user = "INSERT INTO `users` (`username`, `email`, `password`, `activation`) VALUES ('$username', '$email', $password', '$activation')";
$result_insert_user = mysql_query($query_insert_user);
if (!$result_insert_user) { echo 'Query Failed'; }
if (mysql_affected_rows($dbc) == 1) {
$message = "To activate your account, please click on this link:\n\n";
$message .= WEBSITE_URL . '/activate.php?email=' . urlencode($email) . "&key=$activation";
mail($email, 'Registration Confirmation', $message, 'From: email@hotmail.com'); }


Това е за mysql, ти последно какво искаш да ползваш mysqli или mysql ? Защото двете имат известна разлика във функциите.
 

Back
Горе