セッション


PHPのセッションのところまで実践してみました。

  • input.php(情報入力)
    • 名前
    • 性別
  • show.php
    • 入力完了ボタンはて
    • 再入力ボタン
  • result.php
    • 入力完了:完了内容の確認
    • 再入力:元データを基に再入力ボタン

情報の入力がなかった場合等の分岐は作っていません。ひとつ気になるのは、再入力の際に選んだラジオボックスの値を反映させたいのですが、値で分岐するしかないんでしょうかね・・・
なにはともあれ、勉強の成果のスクリプトを貼っておきます。

<HTML>
<HEAD><TITLE>PHPスクリプトテスト</TITLE></HEAD>
<BODY>

情報を入力してください<br>
<br>
<FORM name="form1" method="POST" action = "show.php">
名前:<input type = "text" name = "name"><br>
性別:男<input type = "radio" name = "gender" value="男"> 女<input type = "radio" name="gender" value="女"><br>
<input type ="submit" name="info" value="送信"></FORM>

</BODY>
</HTML>
<?php 
        session_start();
        $_SESSION["name"] = $_POST["name"];
        $_SESSION["gender"] = $_POST["gender"];
?>
<HTML>
<HEAD><TITLE>入力結果</TITLE></HEAD>
<BODY>
入力結果は下記の通りです。<br><br>

<?php
        print "名前:".$_SESSION["name"]."<br>";
        print "性別:".$_SESSION["gender"]."<br>";
?>
<br><br>
よろしければ入力終了ボタンを押してください。<br>
<FORM name = "form1" method = "POST" action = "result.php">
<input type = "submit" name = "info" value = "入力終了"> 
<input type = "submit" name = "back" value = "戻る">
</FORM>


</BODY>
</HTML>
<?php

session_start();
if(isset($_POST["info"])){

?>

<HTML>
<BODY>

下記の内容で入力が完了しました。<br><br>
<?php
print "名前:".$_SESSION["name"]."<br>";
print "性別;".$_SESSION["gender"]."<br>";
?>
<br><br>
御入力ありがとうございました。<br>

<?php
}
else{
?>

<HTML>
<BODY>
情報を再入力してください。<br><br>
<FORM name="form1" method ="POST" action = "show.php">
名前;<input type="text" name="name" value="<?=$_SESSION["name"]?>"><br>
性別;男<input type="radio" name="gender" value="男"> 女<input type = "radio" name ="gender" value="女"><br><br>
<input type = "submit" name="info" value="送信">
</FORM>

<?php
}
?>

</BODY>
</HTML>