2017-09-27 11 views
-1

Warning: implode() [function.implode]: arguments non valides passés dans C: \ xampp \ htdocs \ tempahperalatan \ page2.php à la ligne 7erreur de codage de la case à cocher, l'insertion de données parfaitement, mais il y a deux erreurs apparaissent.

Attention: mysqli_error() attend le paramètre 1 soit mysqli , null donné dans C: \ xampp \ htdocs \ tempahperalatan \ page2.php sur la ligne 23

je fais un formulaire pour insérer des données provenant de plusieurs cases à cocher, les données qui sont insérées i soumettre parfaitement, mais ce qui précède deux erreurs apparaissent une fois que j'ouvre la page (page2.php) quelqu'un peut-il me dire ce que j'ai manqué dans mon codage ou où est le problème? Merci d'avance.

de référence ci-dessous est mon codage php:

<?php 

// Make a MySQL Connection 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("tempahperalatan") or die(mysql_error()); 

    $checkBox = implode(',', $_POST['item']); 
    $microphones = $_POST['microphones']; 
    $amplifiers = $_POST['amplifiers']; 
    $loudspeakers = $_POST['loudspeakers']; 
    $mixers = $_POST['mixers']; 
    $catatan = $_POST['catatan']; 

if(isset($_POST['submit'])) 
{  
    $query="INSERT INTO pasystems (item, microphones, amplifiers, loudspeakers, mixers, catatan) VALUES ('" . $checkBox . "', '$microphones', '$amplifiers', '$loudspeakers', '$mixers', '$catatan')";  

    mysql_query($query) or die (mysql_error()); 

    echo "<script type='text/javascript'>alert('Submitted successfully!')</script>"; 
} 
    else{ 
    echo "<script type='text/javascript'>alert('Failed!')</script>" . $sql . "<br>" . mysqli_error($conn); 
    } 
?> 

et ci-dessous est ma forme:

<form action="page2.php" method="POST"> 


     <div class="form-group row text-left"> 
      <label for="example-date-input" class="col-2 col-form-label">Nama Peralatan: </label> 
      <div class="col-10"> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Microphones"> 
           Microphones 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="microphones" id="example-number-input">        
       </div>         
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Amplifiers"> 
           Amplifiers 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="amplifiers" id="example-number-input">  
       </div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Loudspeakers"> 
           Loudspeakers 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="loudspeakers" id="example-number-input"> 
       </div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Mixers"> 
           Mixers 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="mixers" id="example-number-input">  
       </div> 
       </div> 
      </div>       

      </div> 
     </div>       

    <div class="form-group row text-left"> 
    <label for="exampleTextarea" class="col-2 col-form-label">Catatan: </label> 
     <div class="col-10"> 
     <textarea class="form-control" name="catatan" id="exampleTextarea" rows="3"></textarea> 
     </div> 
    </div> 

    <center><button type="submit" name="submit" class="btn btn-info">Submit</button></center> 

</form> 
+0

Utilisez-vous mysql ou mysqli? –

+0

au lieu de mysql vous devriez utiliser mysqli '$ con = mysqli_connect (" localhost "," mon_utilisateur "," mon_mot_de_passe "," my_db ");' –

+0

Utiliser les fonctions mysqli_ * ou AOP !!!! –

Répondre

5

La première erreur se produit parce que vous ne vérifie pas l'existence de $_POST['item'] avant de tenter de utilise le. Vous devez déplacer ces lignes dans votre bloc if ou, mieux encore, vérifier chaque élément $_POST que vous souhaitez utiliser:

$checkBox = implode(',', $_POST['item']); 
$microphones = $_POST['microphones']; 
$amplifiers = $_POST['amplifiers']; 
$loudspeakers = $_POST['loudspeakers']; 
$mixers = $_POST['mixers']; 
$catatan = $_POST['catatan']; 

La deuxième erreur est parce que vous mixez mysql_... fonctions avec mysqli_... fonctions. You should not be using mysql_... functions at all. Les fonctions mysql_* sont obsolètes, deprecated et non sécurisées - elles ont été entièrement supprimées des versions modernes de PHP (version 7.0 et ultérieure). Utilisez MySQLi ou PDO à la place.