質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1520閲覧

PHPセッションについて

nakabou33

総合スコア17

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

2クリップ

投稿2018/07/04 06:50

編集2018/07/04 06:55

PHPの勉強をしているのですがセッションについてよく分からないのでを教えてください。

PHP

1 2コード 3<?php 4// セッションをスタート 5 6/* 「もう一度する」ボタンからアクセスされたらセッションデータを消す */ 7 8/* フォームから送られた数(回答)を変数に代入 */ 9 10/* 正解がセッションに記録されているかをチェック */ 11if(0){//記録されていなければ 12 13 // 1から100までの乱数をセッションに記録 14} 15 16/* 正解までに試行した回数のカウント */ 17// 何回目で正解できたか,セッションを使ってカウントする方法を考えてみよう 18 19?> 20<!DOCTYPE html> 21<html lang="ja"> 22<head> 23<meta charset="utf-8"> 24<title>guessNumber.php</title> 25</head> 26<body> 27<h2>1から100の整数を入力</h2> 28<form action="guessNumber.php" method="post"> 29<input type="text" name="guess"> 30<input type="submit" value="送信"> 31</form> 32<?php 33if(isset($_POST["$guess"])){ // フォームから送信があったら 34// 正解と回答とを比較して,「大きい/小さい/当たり!」のメッセージを出し分ける 35 if(){echo("回答した数値より大きいです。");} 36 elseif(){echo("回答した数値より小さいです。");} 37 else{ echo ("[当たり!]"); 38?> 39 <form action="guessNumber.php" method="post"> 40 <input type="hidden" name="replay" value="yes"> 41 <input type="submit" value="もう一度する"> 42 </form> 43<?php 44 } // 40行目のelseの閉じカッコ 45} // 36行目のifの閉じカッコ 46?> 47 48</body> 49</html> 50
enigumalu👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/04 06:51

質問は何?
m.ts10806

2018/07/04 06:51

プログラムコード(およびエラーメッセージ)は質問内容としては最も重要な部分であるため、見やすくしていただけると助かります。<code>ボタン押下→「コード」部分にコードを貼り付け→「ここに言語を入力」に対象言語名記入(エラーメッセージの場合は不要)の手順で「コードハイライト化」してください。(質問編集画面ではリアルタイムでプレビューが表示されるので見ながら調整してください)
m.ts10806

2018/07/04 06:59

PHPマニュアルのセッションの項を熟読し、実際に試してみた上で不明点を質問してください。この内容では「PHPマニュアル読んでね」という回答しかつきませんよ。
guest

回答1

0

こういうことがしたいんでしょうけどね・・・

PHP

1<?PHP 2session_start(); 3$guess=filter_input(INPUT_POST,"guess",FILTER_VALIDATE_INT,["options"=>["min_range"=>1,"max_range"=>100]]); 4$x=filter_input(INPUT_POST,"x"); 5if(is_null($guess) or !isset($_SESSION["num"]) or $x=="もう一度する"){ 6 $_SESSION["num"]=mt_rand(1,100); 7}elseif($guess===false){ 8 print "不正!"; 9}else{ 10 if($guess<$_SESSION["num"]){ 11 print "小さい"; 12 }elseif($guess>$_SESSION["num"]){ 13 print "大きい"; 14 }elseif($guess==$_SESSION["num"]){ 15 print 'アタリ<br>'; 16 print '<form method="post">'; 17 print '<input type="submit" name="x" value="もう一度する">'; 18 print '</form>'; 19 } 20} 21 22?> 23<h2>1から100の整数を入力</h2> 24<form method="post"> 25<input type="text" name="guess" pattern="[1-9][0-9]?|100" required> 26<input type="submit" value="送信"> 27</form> 28 29<?PHP 30print "答え:".$_SESSION["num"]; 31?>

投稿2018/07/04 07:52

yambejp

総合スコア114747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問