0

何が間違っているのかわかりません...

私のコードは次のとおりです。

<?php 

    if ( isset($_GET['uredi'])) {
        $id = $_GET['uredi'];
        $sql = mysqli_query($link, "SELECT * FROM changelog");
        $row = mysqli_fetch_array($sql);
    }

 ?>
    <div class="container main">
        <div class="row">
            <div class="page-header">
              <h1>Changelog <small><a href="dodaj" title="dodaj"><div class="btn btn-danger btn-xs">Dodaj</div></a></small></h1>
            </div>
            <form role="form" action="includes/dodaj-changelog.php" method="post" accept-charset="utf-8">
                <textarea name="vsebina"><?php echo $row['vsebina']; ?></textarea>
                <input type="hidden" name="id" value="<?php echo $row['id']; ?>">
                <button type="submit" style="margin-top: 20px" class="btn btn-primary">Dodaj</button>
            </form> 
        </div>
    </div>

そして、常にエラーが発生します: Notice: Undefined variable: row in C:\wamp\www\ocene\uredi.php on line 19 Call Stack #TimeMemoryFunctionLocation 10.0000142728{main}( ..\uredi.php:0 ">

しかし、 $row は定義されています...

4

3 に答える 3

0

変更するとどうなりますか: <form ... action="includes/dodaj-changelog.php" ... >

<form ... action="includes/dodaj-changelog.php?uredi=<?php echo $row['id'];?>" ... >残りは同じままです。

フォームを送信すると、SQLテーブルのどの行で作業しているか、どういうわけか「忘れて」しまいます。$_GET['uredi'];この方法を使用したときに取得したデータは、再びurediを取得することを保証しています(ID - テーブル内の一意の値を識別します必要な特定の行) を選択し、SELECT の実行中にそれを保持します。

試してみる。UPDATEクエリシナリオではうまくいきました。

于 2016-07-22T18:47:36.140 に答える