![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
PHPを使って以下のような占いプログラムを組みたいのですが、なかなか思うようにいきません。部分的でもいいので、どう記述すればいいのか教えてください。
1,名前をテキストボックスに入力し、血液型をラジオボタンで選択後、送信ボタンを押す
2,入力した名前と血液型を表示し、占いの結果(大吉・中吉・小吉・凶のいずれかの画像)を表示。その下に各運勢に対応したメッセージと今日の日付、ラッキーナンバー、ラッキーカラーを表示
3,日付が変わるまで、同じ血液型を選択した場合は上記の結果が変わらない
(A型を選んで大吉が出た場合、日付が変わるまでは何度やっても大吉が出る)
フォームから受け取った名前の表示くらいはすぐに分かったんですが・・・・・・配列を使えばいいんでしょうか?
ちなみに画像などの素材はすでに用意できています。
No.1ベストアンサー
- 回答日時:
rand()とsrand()の組み合わせになるでしょう。
http://jp.php.net/manual/ja/function.rand.php
http://jp.php.net/manual/ja/function.srand.php
日付によりランダム値を固定するために
日付のIDをとります。
本日の0時現在のUNIX時間を取るのがわかりやすいので
こんなかんじ
$dateid=date(mktime(0,0,0,date("m"),date("d"),date("Y")));
血液型は$_GET["blood"]でえられるとして血液型IDとして
$bloodidをとるとするとsrand($dateid+$blood)すれば、
日付けと血液型が一致すると一定のランダム値を返します。
総じてこんな感じで・・・
<?PHP
$uranai=Array("大吉","中吉","小吉","凶");
switch ($_GET["blood"]){
case "o":
$bloodid++;
case "a":
$bloodid++;
case "b":
$bloodid++;
default:
$bloodid++;
}
$dateid=date(mktime(0,0,0,date("m"),date("d"),date("Y")));
srand($dateid+$bloodid);
$randval = rand(0,3);
print $uranai[$randval];
?>
srandの引数に関しては適当に工夫してください
この回答への補足
回答ありがとうございます。
参考にさせていただいたところどうにか動くものを作れたんですが、日付が変わってもう一度動かしてみたらA・B・O・ABで同じ結果になるものが出てしまいました・・・・・・。これはどんな原因が考えられるんでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) リストポックスへの抽出方法 1 2022/08/10 17:58
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Ameba(アメーバブログ) アメブロで、候補に出てこないオリジナルのハッシュタグは付けられますか? 例えば、超ローカルなお店の名 2 2023/04/25 19:54
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- 占い こんにちは 私の名前の運勢を占った結果こんなでした 天格が凶 人格が凶 地格が凶 外格が吉 総格吉 3 2022/07/03 16:12
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル名に日付の挿入
-
開始と終了を指定して、その間...
-
PHPで以下のような占いプログラ...
-
差分の月数を算出する方法
-
第何週かを取得したい
-
MySQLのdate型をphpで○年○月○日...
-
今月と来月のカレンダーの処理...
-
strtotime 前月・前々月の表示
-
昨日の日付名でファイルを作成...
-
DATE関数でYが文字化けします
-
DBから昨日以前の日付のデータ...
-
php カレンダーの休み表示
-
DTOとEntityの差は何ですか。
-
「取得先」という表現について
-
shシェルスクリプト 空白行の...
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
wordの差し込み印刷で文字...
-
ps3で久しぶりにCDの音楽情報取...
-
ローカルのコンピュータ名を取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
昨日の日付を取得するVBscript
-
PHP 指定した期間だけ表示した...
-
Accessで、DAOでAddnew
-
C言語を使って、ある特定の日の...
-
codeigniterの時間設定
-
日付計算について
-
昨日の日付名でファイルを作成...
-
差分の月数を算出する方法
-
現在時刻をyyyymmddhhmmss形式...
-
substrの使い方について教えて...
-
1ヶ月後の日付を出力したい
-
C言語でシステム日付との差を...
-
経過期間計算がうまくいかない
-
アップロードしたファイル名に...
-
今日の日付から1週間のリスト
-
6ヶ月前の日付を取得するにはど...
-
strtotime 日付の変換
-
PHPでmysqlを使ってます。日時...
おすすめ情報