2017-02-15 9 views
0

デフォルトでは、mysqli_errorは最初にページの上に表示されます。htmlページでどこでもPHPエラーメッセージを表示するには?

ページ上でどこでもエラーをエコーする方法を理解しようとしています。このような

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マーク?何らかの理由? –

関連する問題