0

ユーザーログイン時にオプション編集商品を作りたいです。これは、ユーザーがWeb上で[編集]をクリックしたときのリンクです。

 <a href="edit.php?id=<?php $id=$data['gameId'];echo $id;?>" ><input type="button" value="Edit"/></a>

次に、編集ページに送信ボタンがあり、doUpdate.phpに検証を入力します。doUpdate.phpのURLからIDを取得して、データベースを更新しようとしました(Idが主キーで、データベースとしてSQLを使用します)だから私はこのコードを使用します

  $id= $_GET['id'];

問題は、なぜ$idがURLからid値を取得できなかったのかということです。どうすれば修正できますか?(まだホスティングしていません。まだ学習中なのでローカルホストを使用しています)

4

4 に答える 4

1

私があなたを正しく理解している場合、問題はedit.phpでIDを取得するのではなく、doUpdate.phpでIDを取得することです。おそらく、編集ページはdoUpdateページに日付をPOSTしています。この場合、2つのことを行う必要があります。

まず、編集ページのフォーム内に、doUpdate.phpに渡すIDを含む非表示の要素をフォーム内に追加する必要があります。

<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>"/>

次に、doUpdate.phpで$_POSTグローバルからフェッチします

$id = $_POST['id'];
于 2012-05-05T13:52:10.413 に答える
1

edit.phpのようにフォームアクションを編集するか、フォーム<form name="edit" action="doUpdate.php?id=<?= $_GET['id'] ?>内にGETパラメータの値を持つ入力フィールドを作成する必要があります。。

于 2012-05-05T13:57:40.950 に答える
0

<a>タグ内のコードが正しくありません。また、<button>内部を含めることはできません<a>。これを試して:

<a href="edit.php?id=<?php echo $data['gameId'];?>">Edit</a>
于 2012-05-05T13:47:15.293 に答える
0

PHPがregister_globalsと呼ばれる機能を使用してこの方法で変数を自動的に設定することは可能ですが、この機能を使用するとアプリケーションにセキュリティホールが開かれる可能性があるため、現在非推奨であり、最終的にPHPから削除されます。

PHPマニュアルには、機能の詳細な説明と、それを使用すべきでない理由が記載されています:http: //php.net/manual/en/security.globals.php

于 2012-05-05T13:47:37.640 に答える