2016-06-27 6 views
0

おはようございます!Varはmysqlの影響を受けません

私は私のコードでVARに問題があります。

<?Php 
error_reporting(E_ALL); 
    //Si IP correspond pas au PC autorisé, on retourne au debut. 
    include "./_protection.php"; 
    $data=''; 
    $rep=''; 
    $requete=''; 
    $val = ''; 
    $Reference= ''; 

echo '<h2><u>Commander des pièces</u></h2><br>'; 

/***************************************************************************************************** 
*         AJOUT DE PIECE DANS LA BASE DE DONNEES 
*****************************************************************************************************/ 

    if(@$_POST['action'] == "ajouter") 
    { 
    if(!empty($_POST['choix'])){  
     foreach($_POST['choix'] as $val){ 
      $Reference.="$val,"; 
     } 

    //Injection dans la base SQL 
    include "./../connexion.inc"; 
    mysql_query("INSERT INTO `tbl_commandes` (`id`, `Eleve`, `Reference`, `Quantite`, `Date`, `Statut`) 
VALUES ('', '".$_POST['Eleve']."', '".$_POST['Reference']."', '".$_POST['Quantite']."', '".$_POST['Date']."', '".$_POST['Statut']."')"); 
    mysql_close(); 
    } 
    } 


/***************************************************************************************************** 
*         FORMULAIRE POUR L'AJOUT DE PIECE 
*****************************************************************************************************/ 
echo ' 
<fieldset> 
    <legend>Commander des Pièces</legend> 
    <FORM action="./?page=commande_piece_full_php" method="POST"> 
     <p align="left"> 
     <H2>Pièces :</h2> 
     <br>'; 
     echo $Reference; 
     include "./../connexion.inc"; 
     $rep = mysql_query("SELECT id_categorie_piece, categorie_piece FROM tbl_categorie_piece ORDER BY categorie_piece"); 
     mysql_close(); 
     include "./../connexion.inc"; 
     while($data = mysql_fetch_array($rep)) 
      { 
      echo $data['categorie_piece']; 
      echo '<br>'; 
      $requete = $data['id_categorie_piece']; 
      $reponse = mysql_query("SELECT id_piece, piece FROM tbl_piece WHERE idr_categorie_piece='$requete' ORDER BY piece"); 
      while($donnees = mysql_fetch_array($reponse)){ 
       ?> <input type="checkbox" name="choix[]" value="<? echo $donnees['id_piece'] ?>"><? echo $donnees['piece'] ?><br> <? 
       } 
      echo '<br>'; 
      } 
     mysql_close(); 
echo ' 
    Elève : 
    <select name="Eleve">'; 
     include "./../connexion.inc"; 
     $reponse2 = mysql_query("SELECT id_client, client FROM tbl_client ORDER BY client"); 
     while($donnees2 = mysql_fetch_array($reponse2)) 
     { 
      ?> <option value="<? echo $donnees2['client'] ?>"><? echo $donnees2['client'] ?></option> <? 
     } 
     mysql_close(); 
    echo ' 
    </select> 
    <br> 
    Date souhaitée : <input type="textbox" name="Date"> 
    <br> 
    Quantité : <input type="textbox" name="Quantite"> 
    <br> 
    <input type="submit" value="ajouter"> 
    <input type="hidden" name="action" value="ajouter"> 
    </form> 
</fieldset>'; 

?> 

var $referenceはdoesnのこと..私はできる、echo $reference; OKですし、当然 コンテンツを取得するが、私は私のMySQLのテーブルに$referenceを送信したいとき注意:「tは私が提出したとき、私はパーサから、この通知を取得し、それを を送る

Undefined index: Reference in /home/bddstock/www/admin/commande_piece_full_php.php on line 27 

それがsubmitedされたとき、私はPIECES下の私のエコーラインの右側のコンテンツを取得します私は本当に理解していない.. 誰かが私を助けることができますか?

答えて

1
あなたはこのフィールドを投稿していないと、あなたが $_POST['choix']をループからそれを引き出すようだと $Reference$_POST['Reference']を変更

mysql_query("INSERT INTO `tbl_commandes` (`id`, `Eleve`, `Reference`,  
`Quantite`, `Date`, `Statut`) 
VALUES ('', '".$_POST['Eleve']."', '".$Reference."', '".$_POST['Quantite']."', '".$_POST['Date']."', '".$_POST['Statut']."')"); 

すなわちにあなたのINSERT文を変更し

注:あなたが感謝を代わりのMySQL mysqliのを使用して、本当にHow can I prevent SQL injection in PHP?

+0

を参照してください!できます ! 私はMysqliを使用するか、またはPDOを使用します。変換する方が簡単ですか? – Khaleesi

+0

どちらも理解しやすいですが、PDOを使うことをお勧めします。投稿された回答があなたの問題を修正した場合、http://stackoverflow.com/questions/31311607/please-how-to-convert-mysql-query-to-pdo-in-my-code – jitendrapurohit

+0

@Khaleesiを参照してください。答え。 – jitendrapurohit

関連する問題