実現したいこと
ログインに失敗した際に、ダイアログで「nameまたはpasswordを間違えています。」と表示したい。
現在のソースコード
index.php(ログインの画面)
PHP
1<?php 2 3 session_start(); 4 5 //ログイン済みかを確認 6 if (isset($_SESSION["USER"])) { 7 header("Location: top.php"); 8 exit; 9 } 10 11 //ログイン機能 12 $message = ""; 13 if(isset($_POST["login"])){ 14 if ($_POST["name"] == "kakashi" && $_POST["password"] == "123"){ 15 16 $_SESSION["USER"] = "kakashi"; 17 header("Location: top.php"); 18 exit; 19 } 20 else{ 21 header("Location: top.php"); 22 } 23 } 24 25?> 26 27<!DOCTYPE html> 28<html> 29<head> 30 <title>ログイン機能</title> 31</head> 32 33<link rel="stylesheet" type="text/css" href="logincss.css" media="all"> 34 35 36 37<body> 38 39<hgroup class="heading"> 40<h1 class="major">ログインフォーム</h1> 41</hgroup> 42 43<form method="post" action="index.php"> 44 <label for="name">メールアドレス</label> 45 <input id="name" type="name" class="sign-up-input" name="name"> 46 <br> 47 <label for="password">パスワード</label> 48 <input id="password" type="password" class="sign-up-input" name="password"> 49 <br> 50 <input type="submit" name="login" value="ログイン"> 51</form> 52 53</body> 54</html>
TOPのPHPファイル(ログイン完了後の画面)
PHP
1<?php 2 3session_start(); 4 5//ログイン済みかを確認 6if (!isset($_SESSION['USER'])) { 7 header('Location: index.php'); 8 exit; 9} 10 11//ログアウト機能 12if(isset($_POST['logout'])){ 13 14 $_SESSION = []; 15 session_destroy(); 16 17 header('Location: index.php'); 18 exit; 19} 20 21?> 22 23<!DOCTYPE html> 24<html> 25<head> 26 <title>トップ画面</title> 27</head> 28 29<body> 30<h1>トップ画面</h1> 31<p><?php echo $_SESSION['USER'] ?>さんでログイン中</p> 32<br> 33<form method="post" action="top.php"> 34 <input type="submit" name="logout" value="ログアウト"> 35</form> 36 37</body> 38</html>
試したこと
javascriptをPHPに埋め込むというもので、
PHP
1<?php 2 3echo <<<EOM 4<script type="text/javascript"> 5 alert( "TEST" ) 6</script> 7EOM; 8 9?>
このソースを
PHP
1 $message = ""; 2 if(isset($_POST["login"])){ 3 if ($_POST["name"] == "kakashi" && $_POST["password"] == "123"){ 4 5 $_SESSION["USER"] = "kakashi"; 6 header("Location: top.php"); 7 exit; 8 } 9 else{ 10 header("Location: top.php");
に入れてみたがエラー500により出来ませんでした。
よろしくお願いいたします。
掲載ソースコードのファイル名も添えてほしいです。top.phpなのか、top.phpと別なのか、それによって回答も変わってきます。また、500エラーになったときは、error_logを点検してそこに記録されているエラーメッセージも質問文内に追記してください。
回答2件
あなたの回答
tips
プレビュー