1

私は立ち往生しています、私はゲーマーのプロフィールをインデックス化するウェブサイトを持っており、現在は歴史的な記録を保持しています. すべてが実装され、手動で URL を書き出す場合にのみ機能します。
フォームによって作成されたリンクをたどると機能しません。これは、これindex.php?id=に追加したいのですが、通常のユーザー入力 のフォームの上にある必要があるためです。&date?date=&date=index.php?id=

ユーザープロファイルを返す問題はありませんそのページには、ID入力に応じてロードするこのプロファイルの日付を示す「履歴データのロード」ドロップダウンがあります。

<form method='get' action='index.php?id=$data' >

ページの送信ボタンを押すと、以下が返されます。

index.php?id=123456789?date=112012

ただし、これを機能させる唯一の方法は、手動で変更することですか?ID と DATE の間の&に、私の人生では、私はそれを理解することができません!

基本的に私は必要です:
index.php?id=123456789 ? date=112012

index.php?id=123456789 & date=112012になります

そのため、ページがリロードされたときに ID と DATE の両方を確認できるように、投稿で行うことができると思いますが、理想的には URL に表示する必要があります

<form method='get' action='$_SERVER['PHP_SELF']'>

<form method='get' action='id_$data'> (with a mod rewrite)
4

3 に答える 3

0

str_replace() を使用してすべてを置き換えることができますか? の中へ &

   $replacedstring = str_replace ( '?' , '&' , '$stringtobereplaced' )

str_replace()

ただし、コードを調べて、「?」が文字列に追加され、そこで置き換えられます。

よろしく、カスパー

于 2012-11-19T12:29:02.107 に答える
0

得る

さまざまなブラウザーからさまざまな結果が得られるため、既に get パラメータを含む URL に送信するために get メソッドを使用することはできません。次のような非表示フィールドにそれらを追加する必要があります。これは、フォームが送信されたときに URL に追加されます。

<form method='get' action='index.php'>
<input type='hidden' name='id' value='<?php print $data; ?>' />
<input type='hidden' name='date' value='112012' />
<input type='submit' value='Submit' />
</form>

役職

フォーム メソッドを投稿するように設定する必要がある場合は、URL に get パラメータを含めて、次のようにする必要があります。

<form method='get' action='index.php?id=<?php print $id; ?>&date=112012'>
<input type='text' name='message' value='this is in POST, the other params are in GET' />
<input type='submit' value='Submit' />
</form>

安全

こんなことしないで:

<form method='get' action='$_SERVER['PHP_SELF']'>

できない理由

于 2012-11-19T12:31:12.460 に答える
0

私は以前にこの問題を抱えていました...そしてこれが私の解決策です。すべてアンパサンドを使用してパラメーターの文字列を作成します。

$parameters = "&id=9&date=tomorrow&x=y";

次に、最初のアンパサンドを疑問符に置き換えました。

$correct_string = "?" . ltrim($parameters, '&');

于 2012-11-19T12:32:18.847 に答える