mysqli接続でエラーは示されていませんが、フォームにテーブルが入力されていません

スイス

Mysqlクエリ接続にエラーはありませんが、[送信]をクリックしても、テーブル(記事)にデータが入力されません。私は自分が間違っていることを見つけるために何時間も働いてきました。

SQLインジェクションの問題は、後でそれに応じて対処されます。準備されたステートメントが作成されます。

articleform.php

<h2>Articles</h2>
    <form action="index.php?page=articles&action=" method="post">

    <table class="admin_form" cellpadding="0" cellspacing="0" width="100%">

    <tr>
        <td width="30%"><label for="TitreArticle">Titre</label></td>
        <td><input id="TitreArticle" type="text" name="TitreArticle" value="<?php     if(isset($_POST['TitreArticle'])) ?>" /></td>
    </tr>
    <tr>
        <td width="30%"><label for="AuteurArticle">Auteur</label></td>
        <td><input id="AuteurArticle" type="text" name="AuteurArticle" value="<?php if(isset($_POST['AuteurArticle'])) ?>" /></td>
    </tr>
    <tr>
        <td valign="top"><label for="ContenuArticle">Contenu de l'article</label></td>
        <td><textarea id="ContenuArticle" name="ContenuArticle"><?php if(isset($_POST['ContenuArticle'])) ?></textarea></td>

    </tr>
    <tr>    
        <td> <input type="hidden" name="dateArticle" value="" /></td>
        <td>
            <a class="btn" href="index.php">Annuler</a>
            <input type="submit"  value="Envoyer" />
        </td>
    </tr>
</table>

articles.sql.php

        <?php
        include ('config/dbconnect.php');

        // INSERT
        function insertArticle( $c ){
        $TitreArticle = $AuteurArticle = $ContenuArticle = "";
        if(isset($_POST['TitreArticle'])){
            $TitreArticle = $_POST['TitreArticle'] ;
            $AuteurArticle = $_POST['AuteurArticle'];
            $ContenuArticle = $_POST['ContenuArticle'];
            $DateArticle = $_POST['DateArticle'];
        }

        $qryInsertArt = 'INSERT INTO articles (artTitre,artAuteur,artContenu)
                                VALUES (\''.$TitreArticle.'\',
                                       \''.$AuteurArticle.'\',
                                         \''.$ContenuArticle.'\')';


        if (!mysqli_query($c,$qryInsertArt))
      {
      die('Error: ' . mysqli_error($c));
      }
       echo "1 record added";

    }


        // CONTROLER //
        switch( $action ){

        case 'insert' : 
            $process = insertArticle($conn);    
            if( $process == 'ok' ) 
                header( 'location:index.php?page=home' );
            else 
                $page = 'articleform';
            break;

        case 'update' : 
            $process = updateArticle( $_GET[ 'item' ] );    
            if( $process == 'ok' ) 
                header( 'location:index.php?page=home' );
            else 
                $page = 'articleform';
            break;

        case 'delete' : 
            $process = deleteArticle( $_GET[ 'item' ] );    
            if( $process == 'ok' ) 
                header( 'location:index.php?page=home' );
            break;
        }

        ?>
エイサアディル

問題#1

value="<?php  if(isset($_POST['TitreArticle'])) ?>"

これは実際の値を指していません。そのはず

 value="<?php  if(isset($_POST['TitreArticle'])) echo something ?>"

問題#2

そしてまた、これはあなたが持っているすべてのコードですか?

ためupdateArticle()deleteArticle()未定義の関数です。

問題#3 重要

別のメモで$process = insertArticle($conn);insertArticle()、値を返さないため、間違っているように見えます。

改善

$qryInsertArt = 'INSERT INTO articles (artTitre,artAuteur,artContenu)
                                VALUES (\''.$TitreArticle.'\',
                                       \''.$AuteurArticle.'\',
                                         \''.$ContenuArticle.'\')';

(Fredが述べたように)一重引用符を何度もエスケープする必要がある理由がわかりません。

$qryInsertArt = "INSERT INTO articles (artTitre,artAuteur,artContenu)
                                VALUES ('$TitreArticle',
                                       '$AuteurArticle',
                                         '$ContenuArticle')";

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

フォーム入力が調整されていません

分類Dev

フォーム入力が調整されていません

分類Dev

フォームに入力されたtextareaフィールドが送信されていません

分類Dev

React:入力値がフォームで定義されていません

分類Dev

入力が編集されているのに、フォームが$ dirtyに設定されていません

分類Dev

PHPはAzure MySQLに接続されていますが、テーブルにアクセスできません

分類Dev

Forループエラー-値が列に入力されていません

分類Dev

HerokuがMongoDBAtlasに接続していません-エラー405は許可されていません

分類Dev

NodeJSmysqlがテーブルに挿入されていません

分類Dev

Windowsではファイルにデータが入力されていますが、Linuxではデータが入力されていません

分類Dev

レールがRedisに接続されていません(RedisToGo)

分類Dev

エラー718が原因で、Reliance BroadbandNetconnectが接続されていません

分類Dev

mesos-slaveは接続できません資格情報が提供されていませんエラー

分類Dev

jQueryデータテーブルが入力されていません

分類Dev

viewDidLoadの変数がカスタムテーブルセルに入力されていません

分類Dev

ルートがPHPファイルの場合、ページにエラーが表示されます。入力ファイルが指定されていません

分類Dev

コメントフォームがデータベースに入力されていません

分類Dev

Chromeでは入力フィールドのカーソルが垂直方向に配置されていません

分類Dev

setupNotificationは「エラーはすでに接続されています」を返しますが、接続要求は送信されません

分類Dev

Dockerでphp-fpmエラー「入力ファイルが指定されていません」

分類Dev

フォームがlaravelに提出されていませんか?

分類Dev

DjangoフォームがHTMLで送信されていません

分類Dev

モデルデータテーブルで定義されていませんが、「このフィールドにはエラーが必要です」

分類Dev

Reactjsではテーブルにデータが表示されていません

分類Dev

送信btnが無効になっている場合、事前入力されたフォーム入力要素は最初の入力を受け入れません

分類Dev

ルーターでNASに接続されていません

分類Dev

ポリマー紙タグ-フォームに入力が追加されていません

分類Dev

部分的なフォームがコンソールに表示されていますが、ブラウザには表示されません

分類Dev

JSF-XHTMLフォームで「名前にタグが定義されていません:validateRequired」エラー

Related 関連記事

  1. 1

    フォーム入力が調整されていません

  2. 2

    フォーム入力が調整されていません

  3. 3

    フォームに入力されたtextareaフィールドが送信されていません

  4. 4

    React:入力値がフォームで定義されていません

  5. 5

    入力が編集されているのに、フォームが$ dirtyに設定されていません

  6. 6

    PHPはAzure MySQLに接続されていますが、テーブルにアクセスできません

  7. 7

    Forループエラー-値が列に入力されていません

  8. 8

    HerokuがMongoDBAtlasに接続していません-エラー405は許可されていません

  9. 9

    NodeJSmysqlがテーブルに挿入されていません

  10. 10

    Windowsではファイルにデータが入力されていますが、Linuxではデータが入力されていません

  11. 11

    レールがRedisに接続されていません(RedisToGo)

  12. 12

    エラー718が原因で、Reliance BroadbandNetconnectが接続されていません

  13. 13

    mesos-slaveは接続できません資格情報が提供されていませんエラー

  14. 14

    jQueryデータテーブルが入力されていません

  15. 15

    viewDidLoadの変数がカスタムテーブルセルに入力されていません

  16. 16

    ルートがPHPファイルの場合、ページにエラーが表示されます。入力ファイルが指定されていません

  17. 17

    コメントフォームがデータベースに入力されていません

  18. 18

    Chromeでは入力フィールドのカーソルが垂直方向に配置されていません

  19. 19

    setupNotificationは「エラーはすでに接続されています」を返しますが、接続要求は送信されません

  20. 20

    Dockerでphp-fpmエラー「入力ファイルが指定されていません」

  21. 21

    フォームがlaravelに提出されていませんか?

  22. 22

    DjangoフォームがHTMLで送信されていません

  23. 23

    モデルデータテーブルで定義されていませんが、「このフィールドにはエラーが必要です」

  24. 24

    Reactjsではテーブルにデータが表示されていません

  25. 25

    送信btnが無効になっている場合、事前入力されたフォーム入力要素は最初の入力を受け入れません

  26. 26

    ルーターでNASに接続されていません

  27. 27

    ポリマー紙タグ-フォームに入力が追加されていません

  28. 28

    部分的なフォームがコンソールに表示されていますが、ブラウザには表示されません

  29. 29

    JSF-XHTMLフォームで「名前にタグが定義されていません:validateRequired」エラー

ホットタグ

アーカイブ