2017-02-15 31 views
0

По умолчанию mysqli_error отображает первое на верхней части страницы.Как отображать сообщения об ошибках php везде, где я хочу на странице html?

Я пытаюсь понять, как я могу эхо-ошибки, где бы я ни захотел на странице.

signup.php

if(isset($_POST['register'])){ 


    $username = $db->real_escape_string(trim(strip_tags($_POST['username']))); 
    $checkrow = mysqli_query($db, "SELECT * FROM users WHERE username='".$username."'"); 

    if(mysqli_num_rows($checkrow) > 0){ 


     echo '<divclass="alert alert-danger">Username already exists. Please choose a different one</div>'; 

    }else{ 
//do some 
}} 


<html> 
<body> 
<div class="error_message"> Display error message here instead </div> 
<form> Please sign up</form> 
</body> 
</html> 
+1

Поместите сообщение об ошибке в переменной и эхо, где хотите. – miken32

+1

Ах, конечно, спасибо, спасибо. –

ответ

-1

Что-то вроде этого: -

<?php 
$error = '';//empty variable 
if(isset($_POST['register'])){ 
    $username = $db->real_escape_string(trim(strip_tags($_POST['username']))); 
    $checkrow = mysqli_query($db, "SELECT * FROM users WHERE username='".$username."'"); 

    if(mysqli_num_rows($checkrow) > 0){ 
     $error = 'Username already exists. Please choose a different one'; // assign error 
    }else{ 
     //do some 
    } 
} 
?> 

<html> 
<body> 
<?php if(!empty($error)){?> 
    <div class="error_message"><?php echo $error; // echo errors?></div> 
<?php } ?> 
<form> Please sign up</form> 
</body> 
</html> 

Примечание: - попробуйте прочитать о prepared statements и использовать их, чтобы предотвратить SQL Injection .THANKS

+0

почему -ve отмечены? любая причина? –