1

わかりにくいタイトルで申し訳ありませんが、例を挙げて説明します。

TABLE: Scenario_victories

ID  scenid        timestamp      userid side    playdate
1   RtBr001   2010-03-15 17:13:36   7     1     2010-03-10
2   RtBr001   2010-03-15 17:13:36   7     1     2010-03-10
3   RtBr001   2010-03-15 17:13:51   7     2     2010-03-10

IDtimestamp他の 4 つのフィールドが追加されると、データベースによって自動挿入されます。

最初に注意すべきことは、ユーザーは、同じシナリオ (シーン) の複数のプレイを同じ日付 (プレイ日) に、おそらく同じ結果 (サイド = 勝者) で記録できるということです。したがって、適切な測定のために一意の ID とタイムスタンプが必要です。

現在、ユーザー ページでは、記録されたプレイ履歴を<select><option>...リスト形式で表示しています。最後に 2 つのボタンがありますDelete RecordGo to Scenario

私のスクリプトは を受け取り、scenid他のいくつかのテーブルをヒットした後、次のようなよりユーザーフレンドリーなものを返します。

  (playdate)   (from scenid)        (from side)
#########################################################
# 2010-03-10  Road to Berlin #1 -- Germany, Hungary won #
# 2010-03-10  Road to Berlin #1 -- Germany, Hungary won #
# 2010-03-10  Road to Berlin #1 -- Soviet Union won     #
#########################################################
     [Delete Record]              [Go To Scenario]

HTMLで:

<select name="history" size=3>
  <option>2010-03-10  Road to Berlin #1 -- Germany, Hungary won</option>
  <option>2010-03-10  Road to Berlin #1 -- Germany, Hungary won</option>
  <option>2010-03-10  Road to Berlin #1 -- Soviet Union won</option>
</select>

ここで、最初のレコードを強調表示してクリックGo to Scenarioすると、そこに十分な情報があり、それを解析して、あなたが見たい正確なシナリオを作成することができます. ただし、存在しないを選択しDelete Recordた場合は、一覧にあるものから I have the playdateand I can parse the scenidand sidefrom を選択しますが、この例では 3 つのレコードすべてが同じ結果になります。

私は自分自身を隅に描いたようです。ユーザーに表示せずにこのフォームに沿って移動するための一意の識別データ (IDおよび/または) を取得する方法について、誰か提案がありますか?timestamp

PHP のみでお願いします。NoScript に準拠している必要があります。

4

1 に答える 1

4

オプションに属性を設定し、 (一意の) データをvalue含めることができます。ID

<select name="history" size=3>
  <option value="1">2010-03-10  Road to Berlin #1 -- Germany, Hungary won</option>
  <option value="2">2010-03-10  Road to Berlin #1 -- Germany, Hungary won</option>
  <option value="3">2010-03-10  Road to Berlin #1 -- Soviet Union won</option>
</select>

次に、投稿されたデータを受信すると、ユーザーが選択したエントリに対応する$_POST['history']が含まれます。ID

また、これIDは一意であるため、間違いなくデータを識別するために使用できます。


設定された属性の内容はvalue、フォームの送信時にサーバーに渡されます。ユーザーには表示されません。

valueオプションにnoが設定されている場合、ブラウザは、フォームが送信されたときに、そのオプションのコンテンツをサーバーに渡します。これが得られたものです。

補足として: ユーザーから送信されたすべてのものと同様に、受け取った値$_POST['history']が有効で安全であることを確認する必要があります。値は整数である必要があり、ユーザーがアクセスできる値の 1 つである必要があります。.. .

于 2010-03-29T22:26:32.200 に答える