php
  • sql
  • 2016-05-19 4 views 0 likes 
    0

    私はコードを説明します。私はデータベースからデータを取得していて、ユーザが変更を加えたときにテキストを入力して表示します。 $_GET['product_name']のようなものが常に空になりますので、空のデータにPHPアップデートは常に空の文字列を更新します

    <?php 
    echo "<form action='' method='get'>"; 
    
    echo "<td class='data'><input type='product_name' id='product_name' value=" . $row['product_name'] . "> </td>"; 
    echo "<td class='data'><input type='products_price' id='products_price' value=" . $row['products_price'] . "> </td>"; 
    echo "<td class='data'><input type='products_desc' id='products_desc' value=" . $row['products_desc'] . "> </td>"; 
    
    echo "</form>"; 
    
    echo "</tr>"; 
    echo "</table>"; 
    echo "<form action='' method='POST'> 
           <input name='update' type='submit' value='Update' style='margin-left: 720px'> 
           </form>"; 
    $product_name = isset($_GET['product_name']) ? $_GET['product_name'] : ''; 
    
    $products_desc = isset($_GET['products_desc']) ? $_GET['products_desc'] : ''; 
    
    $products_price = isset($_GET['products_price']) ? $_GET['products_price'] : ''; 
    if (isset($_POST["update"])) { 
    
    
    
    
        $sql1 = "UPDATE tbl_products SET products_desc='" . $products_desc . "',product_name='" . $product_name . "',products_price='" . $products_price . "' WHERE products_id='" . $product_id . "'"; 
    
        mysqli_query($conn, $sql1) or die(mysqli_error($conn)); 
        echo "yess"; 
    
    } 
    ?> 
    
    +0

    何をしているのか説明したが、何が間違っているのか、何がうまくいかないのか、何かエラーがあるかどうかなどは教えてくれなかった。等。 –

    +0

    [PHP: "通知:未定義の変数"と "通知:未定義のインデックス"]の重複可能性(http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-未定義のインデックス) –

    答えて

    1

    あなたinput要素は、何name属性を持っていません。 name属性は、サーバーに送信されるキーと値のペアのキーです。

    さらに、typeの属性はすべて破損しています。 (私は、ブラウザが自動的にある疑いがあるものの、テキスト入力をデフォルトでその「修正」。)

    は(typeをして修正)name属性を追加します。

    さらに
    <input type='text' name='product_name' id='product_name' ... 
    

    、あなたがを持っていますフォーム。だからあなたのボタンをクリックするとフォームは入力を提出しません。彼らは別の形になっているからです。

    これらをすべてformに入れて、GETまたはPOSTのどちらを使用するかを決定します(サーバーサイドのコードでそのことを知る必要があるため)。

    +0

    ありがとう、私はこのエラーを逃したとは思えない –

    0

    あなたは1個のformタグで自分のデータ形式を定義し、別のフォームタグでフォームを送信:あなたはあなたの最初のフォームを送信すると

    <form action='' method='POST'> 
        <input name='update' type='submit' value='Update' style='margin-left: 720px'> 
    </form> 
    
    echo "<form action='' method='get'>"; 
    
    echo "<td class='data'><input type='product_name' id='product_name' value=" . $row['product_name'] . "> </td>"; 
    echo "<td class='data'><input type='products_price' id='products_price' value=" . $row['products_price'] . "> </td>"; 
    echo "<td class='data'><input type='products_desc' id='products_desc' value=" . $row['products_desc'] . "> </td>"; 
    
    echo "</form>"; 
    

    が、あなたのデータはこれが何であるかである別のフォーム

    であります間違い

    関連する問題