Error Field 'userid' doesn't have a default value

Eléphanteau du PHP | 27 Messages

27 juil. 2017, 23:28

Bonjour à nouveau
J'ai une nouvelle erreur, je ne comprend pas d'où vient le champs userid. Ce champ n'est dans aucun des deux fichiers :
Error INSERT INTO shop_apply (linkman, mail, mobile, siret, zone_id) VALUES("sdfghj", "[email protected]", "0658898531", "254 851 369 54218", "25")
Field 'userid' doesn't have a default value
Voici la partie de mon formulaire :

Code : Tout sélectionner

<form action="form-data/traitement.php" method="POST"> <div class="field-wrp"> <input type="hidden" name="to" value="[email protected]"> <div class="form-group"> <input class="form-control" data-label="Nom et prénom" required data-msg="Entrez votre Nom et prénom." type="text" name="nomprenom" placeholder="Nom et prénom"> </div> <div class="form-group"> <input class="form-control" data-label="Email" required data-msg="Entrez votre email." type="email" name="email" placeholder="Email"> </div> <div class="form-group"> <input class="form-control" required data-label="Phone" pattern="(01|02|03|04|05|06|07|08|09)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}" data-msg="Entrez votre numéro de téléphone." type="text" name="phone" placeholder="Téléphone" title="Téléphone au format 04.00.00.00.00 ou 0400000000"> </div> <!--<div class="form-group"> <input class="form-control" data-label="Adresse postale" required data-msg="Entrez votre adresse postal." type="text" name="adressepostale" placeholder="Adresse postale"> </div> <div class="form-group"> <input class="form-control" data-label="Code postal" pattern="([A-Z]+[A-Z]?\-)?[0-9]{1,2} ?[0-9]{3}" required data-msg="Entrez votre code postal." type="text" name="cp" placeholder="Code postal" title="Code postal au format 31 100 ou 31100"> </div> <div class="form-group"> <input class="form-control" data-label="Ville" required data-msg="Entrez votre ville." type="text" name="ville" placeholder="Ville"> </div>--> <div class="form-group"> Départements : <select name="id"> <?php $sql2 = 'SELECT * FROM client_zone'; $result2 = $conn->query($sql2); if ($result2->num_rows > 0) { while($donnees2 = $result2->fetch_assoc()) { echo ('<option value="'.$donnees2['id'].'">'.$donnees2['name'].'</option>'); } } else { echo "0 results"; } $conn->close(); ?> </select> </div> <div class="form-group"> <input class="form-control" data-label="siret" pattern="[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{5}" data-msg="Entrez votre Siret." type="text" name="siret" placeholder="Siret" title="Siret au format 254 851 369 54218"> </div> </div> <button type="submit" class="btn solid btn-default block"><i class="fa fa-envelope-o"></i> soumettre</button> </form><!-- / form -->
Voici le traitement PHP :

Code : Tout sélectionner

<?php $servername = "localhost"; $username = "xxxxxxx"; $password = "ggggggggg"; $dbname = "eeeeeeeeee"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //echo "Connected successfully"; // On vérifie si la variable existe et sinon elle vaut NULL $nomprenom = isset($_POST['nomprenom']) ? $_POST['nomprenom'] : NULL; $email = isset($_POST['email']) ? $_POST['email'] : NULL; $phone = isset($_POST['phone']) ? $_POST['phone'] : NULL; //$adressepostale = isset($_POST['adressepostale']) ? $_POST['adressepostale'] : NULL; //$cp = isset($_POST['cp']) ? $_POST['cp'] : NULL; //$ville = isset($_POST['ville']) ? $_POST['ville'] : NULL; $siret = isset($_POST['siret']) ? $_POST['siret'] : NULL; $id_zone = isset($_POST['id']) ? $_POST['id'] : NULL; //------------------------------------------------ $sql = 'INSERT INTO shop_apply (linkman, mail, mobile, siret, zone_id) VALUES("'.$nomprenom.'", "'.$email.'", "'.$phone.'", "'.$siret.'", "'.$id_zone.'")'; if ($conn->query($sql) === TRUE) { echo "les données ont bien étés insérées dans la base de données"; } else { echo "Error " . $sql . "<br>" . $conn->error; } $conn->close(); ?>

Mammouth du PHP | 2703 Messages

27 juil. 2017, 23:34

la table shop_apply a un champ userid, qui ne peut pas ne pas avoir de valeur. il faut changer cela dans la structure de la table ou ajouter un champ dans la requête sql.