1

Web で編集メニューを作成します。そのため、製品から編集ページにページを誘導します。私が混乱しているのは、製品のページからproductIDを取得して編集ページで使用する方法ですか? ここに製品の私のコードがあります

<?php $query= "SELECT * FROM game";
$rs = mysql_query($query);
while($data = mysql_fetch_array($rs)) { ?>
<div class="gameBox">
    <div style="margin:5px;">
        <?php echo "<image src=\"images/".$data['gameId'].".png\" alt=\"gameImage\" </image>"?>
        <div class="cleaner"></div>
        <div class="myLabel">Name</div><div>: <?php echo $data['gameName'];?></div>
        <div class="myLabel">Developer</div><div>: <?php echo $data['gameDeveloper']; ?></div>
        <div class="myLabel">Price</div><div>: $ <?php echo $data['gamePrice']; ?></div>
        <br />
        <a href="edit.php" <?php $id=$data['gameId'];?>><input type="button" value="Edit"/></a>
        <a href="<!-- Delete -->"><input type="button" value="Delete"/></a>
    </div>
</div>
<?php } ?>

それは編集ページの私のコードです

<?php include("connect.php");
$id[0] = $_REQUEST['id'];
$query = "SELECT * FROM game WHERE gameId=".$id."";
$rs = mysql_query($query);
while($data = mysql_fetch_array($rs)) { ?>
    <form action="doUpdate.php" method="post">
        <?php echo "<image src=\"images/".$id.".png\" alt=\"gameImage\" </image>"?>
        <div class="cleaner"></div>
        <div class="myLabel">Name</div><div>: <input type="text" value="<?php echo $data['gameName'];?>" id="gameName" name="gameName"/></div>
        <div class="myLabel">Developer</div><div>: <input type="text" value="<?php echo $data['gameDeveloper'];?>" id="gameDeveloper" name="gameDeveloper"/></div>
        <div class="myLabel">Price</div><div>: <input type="text" value="<?php echo $data['gamePrice'];?>" id="gamePrice" name="gamePrice"/></div>
        <br/>
        <div id="txtError">
        <!--error message here-->
        </div>
        <input type="submit" value="Submit"/>
        <a href="product.php"><input type="button" value="Cancel"/></span></a>
<?php } ?>

編集ページにアクセスしようとすると、エラーが表示されます

"Undefined index:$id[0] = $_REQUEST['id'];" 

編集ページで。誰でも私を助けることができますか?

4

3 に答える 3

2

ページ、フォーム、クエリ文字列の間でデータを渡す 2 つの方法を混同しているようです<a href...>

フォーム:

データは<input>-type 要素 (またはフレンド) 内および<form...>タグ内にあります。

例えば

<form action="handler.php">
    <input type="text" name="var1" />
    <input type="text" name="var2" />
    <input type="submit">
</form>

通常、POST を介して渡され、PHP で を介してアクセスされます$_POST

たとえば、上記のテキスト ボックスの値には、次のようにアクセスします。

<?php
echo $_POST['var1'];  // First text box
echo $_POST['var2'];  // Second text box

リンク:

でクエリ文字列として渡されます<a href...>。次に例を示します。

<a href="http://www.yoursite.com/index.php?var1=foo&var2=bar">Click Me</a>

通常は GET 経由で渡され、PHP では 経由でアクセスされます$_GET

たとえば、上記のクエリ文字列の値には、次のような方法でアクセスできます。

<?php
echo $_GET['var1'];  // "foo"
echo $_GET['var2'];  // "bar"

したがって、この場合、入力ボタンをハイパーリンクしているように見えます-これは通常の方法ではありませんが、これを変更することで修正できます:

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

に、これ

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

そして、edit.php の変数を として参照します$_GET['id']

しかし、それが整数になることがわかっているので、次のようになります。

$id = (int)$_GET['id'];

十分な衛生状態です(少なくともその変数に対して)。

最後に、変数を に割り当てた$id[0]後、 を参照していることに気付きました$id。に変数を割り当てることは、前者の配列と後者の整数のように、変数を に$id[0]割り当てることと同じではありません。edit.phpにwrtをドロップするだけでいいようです$id$id[0]$id

于 2012-05-05T03:31:08.143 に答える
1

id をパラメーターとして編集 URL に追加します。

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

また、edit.php の上部:

$id = $_REQUEST['id'];
于 2012-05-05T03:26:39.793 に答える
1

クエリ文字列を渡すことができます

<a href="edit.php?<?php $id=$data['gameId'];?>>

この場合、PHP コードは次のように変更されます。

$id[0] = $_SERVER['QUERY_STRING'];
于 2012-05-05T03:28:41.603 に答える