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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

282閲覧

商品が当たるシステム

creative_09

総合スコア80

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/12/19 04:27

以下の実現ができる方法としてphpのみまたはphpとjavascriptを併用したほうが良いのかアドバイスお願い致します
phpのみで実現できるようであればPHPのみのほうが良いのですが、javascriptと併用した場合のメリットデメリットなどがあればと思い投稿しました

当方はこれから必要な言語を勉強したいと考えている超初心者ですので、くわしくアドバイス頂ければ幸いです

■流れ
・ログイン必須のサイトでログイン認証
・簡単なゲームに挑戦
・ゲームの結果によって配送商品が出てくるので、配送登録などが必要
・myページや管理者ページにて結果を閲覧が可能

■条件 
以下の点はどう実現するのかさえわからないので教えて頂ければ幸いです

・在庫があるので、同時の抽選の場合でも在庫がオーバーしないようにしたい
(データベースを常に参照?)
・ミニゲームに挑戦の際にアニメーションを挿れたい
(gif画像で補う?)
・抽選結果を不正に取得できない
(javascriptだとあぶない?)

以上ですが、よろしくお願い致します

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

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

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

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

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

guest

回答2

0

ベストアンサー

・在庫があるので、同時の抽選の場合でも在庫がオーバーしないようにしたい

在庫の払い出しをする際に、DBでトランザクションという仕組みを絡めてやるとよいでしょう。
ようは銀行でお金を下ろすときに預金額以上下ろせない仕組みと同じです。

・ミニゲームに挑戦の際にアニメーションを挿れたい

(gif画像で補う?)

PHPはサーバー言語なのでUI処理は弱い(というより目的が違う)ので
なんらかのアニメーションの処理をPHP以外で実装するのが賢明です。

  • gifアニメ
  • ムービー
  • javascript/HTML5

もちろん、ajaxなどでPHPから画像をもってきて表示する手もありますが
ネット経由で複数の画像をサーバーに取りにいってアニメーションのように
みせるのは負荷が高いので現実的ではありません

・抽選結果を不正に取得できない

(javascriptだとあぶない?)

データ管理をサーバー側で行えばほとんどの不正は防げます。
もちろん不正をされないような仕組みを作る必要はあります

投稿2017/12/19 06:05

yambejp

総合スコア114837

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

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

creative_09

2017/12/19 06:49

DBでトランザクション。調べて勉強してみます。 データ管理をサーバーで行いたいです。 UIはなにであってもDBを参照する形であればそれで良いといった感じの解釈でよかったのでしょうか??
yambejp

2017/12/19 07:07

> UIはなにであってもDBを参照する形であればそれで良い そうですね 結局ユーザー側で管理できるのは「くじをひく」という要求くらいで その要求が妥当かどうかをサーバーがチェックをして 問題なければユーザーに「ひいてるアニメ実行していいよ」と戻し、 その後(もしくは同時に)結果を渡すような処理になります たとえばユーザーがチケットの数だけガチャをまわせるとして チケット数はサーバーが管理しユーザーは逆に好きなだけガチャを回す 要求はできるのです。 ただしチケット数を超えた要求は不正な要求なので処理をしないとか エラーを返すようなUIにすればよいでしょう もちろん、適当なトークンで抽選券にIDをつけて管理することもできるでしょう
creative_09

2017/12/19 07:33

なるほど、すごくプログラミングでの流れが理解できてきました。 複数のカードから複数枚引く場合、引いたカードはめくれたまま。次のカードを引く そういったUIをPHPのみでも作成可能なのでしょうか? こういったコンテンツの場合、jqueryとphpもしくはphpのみ。javascriptとphp。 どういった組み合わせが適切な実現方法なのか、もしくは一般的によく使われている形などがあれば教えて頂ければ幸いです。
yambejp

2017/12/19 07:40

とくにインタラクティブな処理はページの遷移を抑制する必要があるでしょう そうなると自然とデータのやりとりはajaxを利用することになるでしょうから 基本的にはjavascriptとくにjQueryでの処理が現実的になります。 ただしシビアなリアルタイム処理が必要であれば なんらかのアプリケーションベースでUIを構築して ラグを吸収しないといけないでしょう
creative_09

2017/12/19 10:24

非常によく流れがつかめてきました。 ありがとうございます php jquery で制作していくこととします。 jqueryで複数カードから何枚かひくことようなことが可能ということも安心しました。 頑張ってみたいと思います。なにかありましたらまたよろしくお願い致します
guest

0

不正防止のため、抽選作業自体は、基本的に、サーバサイドで行うことになると思います。
その場合、言語は php でも JavaScript でも構いません。

ただ、詳しく調べてませんが、抽選方法によっては「景品表示法」を意識しないと、違反してしまうケースが出てきそうです。

まず、法律から調べて、実装方法を検討してみてはいかがでしょうか?

投稿2017/12/19 04:43

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yambejp

2017/12/19 04:55

風営法も気をつけて下さい お金が絡むなら出資法も。
退会済みユーザー

退会済みユーザー

2017/12/19 04:58

> yambejp さん 風営法って、なんか引っかかりますか?ノーケアでした^^;
退会済みユーザー

退会済みユーザー

2017/12/19 05:00

あ、理解しました。調べるとボロボロ出てきますね^^;
tacsheaven

2017/12/19 05:19

いわゆる風営法の第2条1項4号で、「まあじやん屋、ぱちんこ屋その他設備を設けて客に射幸心をそそるおそれのある遊技をさせる営業」というのが規定されています(景品と交換できるものはこれになる)。ので、これに引っかかるかどうか、ですね。くじを引く、は遊技になりえませんが、何らかのゲームをすると引っかかる可能性が出てきます(そのゲームの良しあしで得られる景品が異なってくるので)。 ただ、4号営業はそもそも無店舗型を想定していないのですけれども。
退会済みユーザー

退会済みユーザー

2017/12/19 05:24

> ただ、4号営業はそもそも無店舗型を想定していないのですけれども。 みたいですね。 実店舗と併用等、運用形態によってはちゃんと調べないといけないっぽいですね。
creative_09

2017/12/19 05:54

法律など、サービスを作る上で大切なことを教えて頂きありがとうございます。 作ろうとしているものはスロットのようなものではなく、くじ引きのようなイメージです。キャンペーンサイトのようなシステムが一番良い形です。 一般的にはjavascriptとPHPで作られているケースが多いのでしょうか? phpのみで作成してもアニメーションなど実現できるのでしょうか?
退会済みユーザー

退会済みユーザー

2017/12/19 06:04

フロントは飾りなので、極端な話、GIF動画でも良いです。 サーバ側で当たり判定が出れば、当たり動画、はずれれば、はずれ動画です。 もちろん、JavaScript で飾ってもかまいません。
creative_09

2017/12/19 06:38

アニメーション演出だけならGIFでも可能で、PHPのみでも製作可能な気がしてきました 15枚のカードから10枚を選ぶようなスタイルの場合(1等ー5等ランダム)はjavascriptを使うといったことでしょうか
退会済みユーザー

退会済みユーザー

2017/12/19 08:02

実装のイメージが共有できないので何とも^^; こんな些事にとらわれず、勉強したいのであれば、さっさと手を動かしてみたほうがイイですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問