hj01
@hj01

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

GETリクエスト

Q&A

Closed

解決したいこと

下記のquestion1-outputの GETリクエストのソースコードは正しくかけていますか?
もし正しいのであれば、yearは反映されるが、
他はメイン画面で反映されないのでどこが原因か
わかりやすく解説をお願い致します。

発生している問題・エラー

Warning: Undefined array key "class" in C:\xampp\htdocs\課題7\View\main.php on line 19

login.php

該当するソースコード


```<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ログイン</title>
<link rel="stylesheet" href="css/login.css">
<link rel="stylesheet" href="style.css">
</head>
<body>

<form action="main.php" method="GET"  autocomplete="off">
<input type="number" name="year" ><br>
<input type="number" name="class"><br>
出席番号<input type="number" name="number_id" ><br>
名前<input type="text" name="name"><br>
パスワード<input type="password" name="password" ><br>
  


<input type="submit" value="ログイン">
</form>
</body>
</html>

main.php

該当するソースコード



<?php
session_start();


?>

<?php


$pdo=new PDO('mysql:host=localhost;dbname=english word;charset=utf8',
'staff','password');
$sql=$pdo->prepare('select * from user_table where year=? and class=? and
number_id=? and name=? and password=?');

$sql->execute([$_GET["year"],$_GET["class"],$_GET["number_id"],$_GET["name"],$_GET["password"]]
);
foreach ($sql as $row) {
	$_SESSION['user_table']=[
		'year'=>$row['year'], 'class'=>$row['class'],
		'number_id'=>$row['number_id'], 'name'=>$row['name'],
		'password'=>$row['password']];
}




?>


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>メイン画面</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="style.css">
</head>
<body>

<?php require '../header.php';?>





<?php

echo'<form action="" method="post">';
echo'<input type="hidden" name="year" value="$_POST["year"]">';
echo'<input type="hidden" name="class" value="$_POST["class"]">';
echo'<input type="hidden" name="number_id" value="$_POST["number_id"]">';
echo'<input type="hidden" name="name" value="$_POST["name"]">';
echo'<input type="hidden" name="password" value="$_POST["password"]">';


if(isset($_SESSION['user_table'])){
  if($_GET["year"]==0){

     echo'英単語データベース';
     print_r('<br>');


    echo'<div class="box2">';
     echo'<a href="seach-input.php">英単語検索</a>';
     echo'</div>';
     print_r('<br>');

    echo' <div class="box3">';
     echo' <a href="question1-input.php">問題1</a>';
     echo'<a href="question2-input.php">問題2</a>';
    echo'</div>';

    echo' <div class="box4">';
     echo' <a href="question3-input.php">問題3</a>';
     echo'<a href="question4-input.php">問題4</a>';
    echo'</div>';

    echo' <div class="box5">';
     echo' <a href="question5-input.php">問題5</a>';
     echo'<a href="question6-input.php">問題6</a>';
    echo'</div>';

   print_r('<br>');
   print_r('<br>');

    echo'<div class="box6">';
      echo'<a href="edit.php">英単語データベース編集</a>';
      echo'<a href="student.php">生徒編集</a>';
    echo'</div>';


    echo'<div class="box7">';
     echo' <a href="password.php">パスワード編集</a>';
    echo'</div>';

    echo'<div class="box8">';
     echo'<a href="logout.php">ログアウト</a>';
    echo'</div>';
echo'</form>';

}else{
echo'英単語データベース';
     print_r('<br>');


    echo'<div class="box2">';
     echo'<a href="seach-input.php">英単語検索</a>';
     echo'</div>';
     print_r('<br>');

    echo' <div class="box3">';
     echo' <a href="question1-input.php">問題1</a>';
     echo'<a href="question2-input.php">問題2</a>';
    echo'</div>';

    echo' <div class="box4">';
     echo' <a href="question3-input.php">問題3</a>';
     echo'<a href="question4-input.php">問題4</a>';
    echo'</div>';

    echo' <div class="box5">';
     echo' <a href="question5-input.php">問題5</a>';
     echo'<a href="question6-input.php">問題6</a>';
    echo'</div>';

   print_r('<br>');
   print_r('<br>');


    echo'<div class="box7">';
     echo' <a href="password.php">パスワード編集</a>';
    echo'</div>';

    echo'<div class="box8">';
     echo'<a href="logout.php">ログアウト</a>';
    echo'</div>';

}
}else{
echo "エラー";
}
?>
</body>
</html>

question1-input.php

該当するソースコード


```<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>question1</title>
<link rel="stylesheet" href="css/question.css">
</head>
<body>


?に入る英単語を選んでください
<form action="question1-output.php" method="post">


Water is ?.
<p><input type="radio" name="1" value="水" checked>liquid</p>
<p><input type="radio" name="1" value="気体">air</p>
<p><input type="radio" name="1" value="固体">solid</p>
<p><input type="radio" name="1" value="氷">ice</p>
<p><input type="submit" value="確定"></p>
</form>
</body>
</html>

question1-output.php

該当するソースコード



<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ログイン</title>
<link rel="stylesheet" href="css/question.css">
<link rel="stylesheet" href="style.css">
</head>
<body>


<?php


$count=0;
switch ($_REQUEST['1']) {
case '水':
	$count++;
	break;
case '気体':
	break;
case '固体':
	break;
case '氷':
	break;

}
echo '5問中'.$count.'問正解';
print_r('<br>');
if($count>=3){
echo '合格です';
}else {
echo '不合格です';
}
print_r('<br>');


echo'<div class="box">';
     echo'<a href="main.php?year=$_GET["year"]&class=$_GET["class"]&number_id=$_GET["number_id"]
&name=$_GET["name"]&password=$_GET["password"]">メイン画面に戻る</a>';
echo'</div>';

?>

</body>
</html>

0

No Answers yet.

Your answer might help someone💌