
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ランキング
-
「20100101」を「2010/01/01」...
-
日付の比較
-
"0412" を "04" と "12" で区切る
-
RSSデータ表示に関しまして【ギ...
-
timestamp(14)のフォーマットに...
-
AND検索のスクリプト記述方法(...
-
PHP に詳しい方教えてください
-
変数から日付を取得したい
-
strtotime 前月・前々月の表示
-
1週間分の日付を日が変わるごと...
-
PHPで変数にある前の日の曜日を...
-
日付のフォーマットを操作する
-
名前空間の取得について
-
子ノードの出力について
-
PHP mysql 時刻表示方法
-
WP 日時で分岐して表示を変えたい
-
MysqlとPHPで5年前のものを絞...
-
PHPのプロセス滞留について
-
128ビットの接続セキュリティー
-
コマンド実行の成功有無を知りたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
昨日の日付名でファイルを作成...
-
昨日の日付を取得するVBscript
-
C言語でシステム日付との差を...
-
Accessで、DAOでAddnew
-
DB内 データ表示
-
日付によって画像を変える
-
改行されないカレンダー(PHP)
-
重複を無くしたい
-
日付
-
Accessコンボボックス
-
C言語を使って、ある特定の日の...
-
PHPとPostgreSQLを使用した勤務...
-
アップロードしたファイル名に...
-
PHPでn日後を計算したい
-
日付時間をファイル名にしたい...
-
substrの使い方について教えて...
-
月曜日から始まる週間カレンダ...
-
md5について
おすすめ情報