読者です 読者をやめる 読者になる 読者になる

Webデザインの勉強 | フェリカテクニカルアカデミーWebサイト制作科サポートブログ

セッション機能を使う

PHP

セッション機能を使う

  • セッションは、ページを移動してもデータを共有できる仕組みです

《index.php

<?php
//初期化
$your_name = '';
$your_age = '';
$your_tel = '';

session_start();
if(isset($_SESSION['your_name'])){
  $your_name = $_SESSION['your_name'];
}
if(isset($_SESSION['your_age'])){
  $your_age = $_SESSION['your_age'];
}
if(isset($_SESSION['your_tel'])){
  $your_tel = $_SESSION['your_tel'];
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>セッションを使う</title>
</head>
<body>
<form action="check.php" method="post">
<p>お名前:<input type="text" name="your_name" value="<?php echo $your_name; ?>"></p>
<p>年齢:<input type="text" name="your_age" value="<?php echo $your_age; ?>"></p>
<p>電話番号:<input type="text" name="your_tel" value="<?php echo $your_tel; ?>"></p>
<p><input type="submit" value="送信"></p>
</form>
</body>
</html>


《check.php

<?php
//issetは変数の中に値があるか、もしくは変数自体が存在するか確認する関数
if (!isset( $_POST[ 'your_name' ] ) || !isset( $_POST[ 'your_age' ] )||!isset( $_POST[ 'your_tel' ] )){
  // 'Location:パス(path)でその場所に遷移する'
  header( 'Location:index.php' );
  exit;
}

$your_name = htmlspecialchars( $_POST[ 'your_name' ], ENT_QUOTES, 'utf-8' );
$your_age = htmlspecialchars( $_POST[ 'your_age' ], ENT_QUOTES, 'utf-8' );
$your_tel = htmlspecialchars( $_POST[ 'your_tel' ], ENT_QUOTES, 'utf-8' );

session_start();
$_SESSION[ 'your_name' ] = $your_name;
$_SESSION[ 'your_age' ] = $your_age;
$_SESSION[ 'your_tel' ] = $your_tel;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>セッションを使う</title>
</head>
<body>
<?php
echo '<p>お名前は' . $your_name . 'です。</p>' . "\n";
echo '<p>年齢は' . $your_age . '歳です。</p>' . "\n";
echo '<p>電話番号は' . $your_tel . 'です。</p>' . "\n";
?>
<a href="index.php">フォームに戻る</a>
</body>
</html>