2016-04-28 13 views
0

私は最近ログインシステムを終了しましたが、私はPHPに関する質問があります。どのようにテキストやHTMLを特定のHTML部分にエコーすることができますか?PHPのエコーをHTMLの特定の部分に

たとえば、以下のコードはすべて1つのPHPファイル内にあるとします。どのように私はPHPコード内の2つのエコーをコメントにhtmlにエコーすることができますか?

このページを表示してログインできなかった場合は、「入力したユーザー名とパスワードがGoogleの記録と一致しませんでした。再度確認してからもう一度お試しください。 htmlのそのコメントに。

感謝します。ありがとう!

<?php 
    session_start(); 

    if (isset($_POST['username']) && isset($_POST['password'])) { 
     include_once("db.php"); 
     $username = mysqli_real_escape_string($sqlcon, $_POST['username']); 
     $username = strtoupper($username); 
     $password = mysqli_real_escape_string($sqlcon, $_POST['password']); 

     for ($i = 0; $i < 1000; $i++) { 
      $password = hash(sha512, $password . $username); 
     } 

     $userQuery = "SELECT * FROM users WHERE username = '" . $username . "' LIMIT 1"; 
     $user = mysqli_query($sqlcon, $userQuery); 

     if (mysqli_num_rows($user) > 0) { 
      $user = mysqli_fetch_assoc($user); 
      $id = $user['id']; 
      $databasepass = $user['password']; 

      if ($password === $databasepass) { 
       $_SESSION['username'] = $username; 
       $_SESSION['id'] = $id; 
       header("Location: admin.php"); 
      } else { 
       echo "The username and password you entered did not match our records. Please double-check and try again."; 
      } 
     } else { 
      echo "The username and password you entered did not match our records. Please double-check and try again."; 
     } 
    } 
?> 

<!DOCTYPE html> 
<html> 
    <head> 
     <title>ADMIN</title> 
    </head> 
    <body> 
     <div> 
      <!--ECHO THOSE TWO ECHOS ABOVE HERE--> 
     </div> 
    </body> 
</html> 
+0

私は個人的にMVCを調べることをお勧めします。それはコードをきれいに保つのに役立ち、あなたのhtmlとphpを分離します –

答えて

3

の内側にあなたは変数にテキストを割り当てることができますし、それをエコーするためにあなたのHTML内のダウンPHPを使用しています。

<?php 
    session_start(); 

    if (isset($_POST['username']) && isset($_POST['password'])) { 
     include_once("db.php"); 
     $username = mysqli_real_escape_string($sqlcon, $_POST['username']); 
     $username = strtoupper($username); 
     $password = mysqli_real_escape_string($sqlcon, $_POST['password']); 

     for ($i = 0; $i < 1000; $i++) { 
      $password = hash(sha512, $password . $username); 
     } 

     $userQuery = "SELECT * FROM users WHERE username = '" . $username . "' LIMIT 1"; 
     $user = mysqli_query($sqlcon, $userQuery); 

     if (mysqli_num_rows($user) > 0) { 
      $user = mysqli_fetch_assoc($user); 
      $id = $user['id']; 
      $databasepass = $user['password']; 

      if ($password === $databasepass) { 
       $_SESSION['username'] = $username; 
       $_SESSION['id'] = $id; 
       header("Location: admin.php"); 
      } else { 
       $result = "The username and password you entered did not match our records. Please double-check and try again."; 
      } 
     } else { 
      $result = "The username and password you entered did not match our records. Please double-check and try again."; 
     } 
    } 
?> 

<!DOCTYPE html> 
<html> 
    <head> 
     <title>ADMIN</title> 
    </head> 
    <body> 
     <div> 
      <?php echo $result; ?> 
     </div> 
    </body> 
</html> 
3

コード内でechoを変数に変更します(例: $message = "......";

その後、あなたのdiv

<?php 

echo $message; 

?> 
0

$メッセージは、それがエラーをスローします設定されていないので、なぜいないのいずれかを使用する場合:あなたの

<?=isset($message)?$message:"";?> 

は、あなたのコード内で

$message = ""; 

を初期化$メッセージを表示することができます/ $結果はJacobの指示通りです& rishal

関連する問題