Problème pour envoyer les informations dans la bd

Résolu
GlobeVer9 -  
 GlobeVer9 -
Bonjour,

Je rencontre actuellement un problème pour envoyer les données dans ma base de donnée voici mon code :
          <?php
         if(isset($POST['valider']))
    {
        mysqli_connect("localhost","root","");
        mysqli_select_db("####");
        if(!$connection)
        {
            die('Erreur de connection'.mysqli_connect_error());
        }
        $nomCli = $_POST['nomCli'];
        $mailCli = $_POST['mailCli'];
        $pnomCli = $_POST['pnomCli'];
        $datNaisCli = $_POST['datNaisCli'];
        $vilCli = $_POST['vilCli'];
        $cpCli = $_POST['cpCli'];
        $adresCli = $_POST['adresCli'];
        $telCli = $_POST['telCli'];
        $mdpCli = $_POST['mdpCli'];
        
        $sql="INSERT INTO client( numCli , nomCli , pnomCli , mailCli , mdpCli , vilCli , adresCli , cpCli , telCli , datNaisCli ) VALUES( ' ', '$nomCli' , '$pnomCli' , '$mailCli' , '$mdpCli' , '$vilCli' , '$adresCli' , '$cpCli' , '$telCli' , '$datNaisCli') ;";
        
        if(!mysqli_query($connection, $sql))
        {
            die('ERREUR');
        }
        else
        {
        echo "Les info sont bien stockés";
        }
    }
    ?>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

3 réponses

jee pee Messages postés 41523 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Salut,

Sans regarder la syntaxe, intéressons nous à la logique.

Tu initialises comment ton numéro de client ?

Car là tu lui mets un blanc. Soit il attend un numéro et c'est une erreur, soit le programme plante à la deuxième création car tu essaies de créer un second client de même identifiant (un blanc).

cdlt
0
GlobeVer9
 
Salut pour le numéro client j'ai laissé un blanc puisque je l'ai mis en auto-incrément dans la BD que dois-je faire pour remédier au probleme?
0
jee pee Messages postés 41523 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > GlobeVer9
 
S'il est en auto incrément, l'id ne doit pas apparaitre dans l'insert
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > jee pee Messages postés 41523 Date d'inscription   Statut Modérateur Dernière intervention  
 

S'il est en auto incrément, l'id ne doit pas apparaitre dans l'insert
En fait tu peux ... mais ce n'est ni utile ni conseillé
(et en général .. on le met à NULL et non '' )
0
jee pee Messages postés 41523 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
là ce n'est pas '', c'est ' ', un blanc entre simple cote
0
GlobeVer9
 
Ok je le retire
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Fais donc un echo de ta variabe $sql
Puis, avec le résultat de ce echo...vas tester ta requete DIRECTEMENT dans ta BDD (via phpmyadmin par exemple)
0
GlobeVer9
 
J'ai fait un echo $sql; et j'ai tester la requete dans la bd ce message apparait:
MySQL a retourné un résultat vide (aucune ligne)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > GlobeVer9
 
donc pas d'erreur
Mais ... est-ce que l'insertion s'est faite dans ta BDD ?
0
GlobeVer9
 
Oui ça a insérer $nomCli, ...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > GlobeVer9
 
heuuu.... je reprend...
Tu fais un ECHO de ta requête ... ( normalement ça aura remplacé les variables par de "vraies" valeurs )
Tu copie ce que le echo ta donné pour le tester dans ta BDD.

Je ne t'ai pas demandé de testé la requête (de ton code source)... mais bien celle GÉNÉRÉE par ton code lorsque tu affiches ta page !!!!
0
GlobeVer9
 
Le echo ne m'a rien renvoyer
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
C'est normal que rien ne s'affiche .... tu ne retnres pas dans ton if
if(isset($POST['valider']))

... $_POST et non $POST !!!!

Voila ton code corrigé et "amélioré"


Déjà .. place le code de connexion à ta BDD dans un fichier à part
que tu n'auras qu'à inclure dans tes page
<?php //fichier de connexion à la bdd : cnxBdd.php
$connection=  mysqli_connect('localhost','root','','#####');
if(!$connection) {
  die('Erreur de connection'.mysqli_connect_error());
}
        
?>


Pense aussi à récupérer PROPREMENT les variables AVANT de les utiliser.
Ajoutes également la ligne error_reporting(E_ALL); pour afficher les erreurs php

Ton code devient :
<?php
//Affichage des erreurs php
error_reporting(E_ALL);

// Connexion à la BDD
require_once "cnxBdd.php";

 // Récupération PROPRE des variables AVANT de les utiliser
 function getVar($varName){
  return isset($_POST[$varName]) ? $_POST[$varName] : NULL;
 }
 
$nomCli = getVar('nomCli') ;
$mailCli =  getVar('mailCli');
$pnomCli =  getVar('pnomCli');
$datNaisCli =  getVar('datNaisCli');
$vilCli =  getVar('vilCli');
$cpCli =  getVar('cpCli');
$adresCli =  getVar('adresCli');
$telCli =  getVar('telCli');
$mdpCli =  getVar('mdpCli');
    

if(isset($_POST['valider'])) {
        
 $sql="INSERT INTO client( nomCli , pnomCli , mailCli , mdpCli , vilCli , adresCli , cpCli , telCli , datNaisCli ) 
                   VALUES('$nomCli' , '$pnomCli' , '$mailCli' , '$mdpCli' , '$vilCli' , '$adresCli' , '$cpCli' , '$telCli' , '$datNaisCli')";
 
 echo "<br> La requete est :<br>".$sql;//le temps des tests
 
 if(!mysqli_query($connection, $sql)){
   die('ERREUR');
 }else{
    echo "Les info sont bien stockés";
 }      

}
0
GlobeVer9
 
Je viens de tester et les "echo" ne s'affichent toujours pas et la BD n'est pas renseignée
0
GlobeVer9
 
<! DOCTYPE HTML >

<html>
<head>
<title>########</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width" />
<link href="css/bootstrap.min.css" rel="stylesheet" />
<link href="css/bootstrap-responsive.min.css" rel="stylesheet" />
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="CSSPerso/CssMenuDeroulant.css">
</head>
<?php include("Entete.php");?> <!-- Sert a inserer l'entete -->

<body>
<form>
<div class = "forme-groupe">
<center><label> Entrer votre e-mail </label></center>
<center><input type =" input " name="mailCli"></center>
</div>
<br>
<div class = "forme-groupe">
<center><label> Confirmer votre mot de passe </label></center>
<center><input type =" input " name="mailCli2"></center>
</div>
<br>
<div class="forme-groupe">
<center><label> Entrer votre nom </label></center>
<center><input type="input" name="nomCli" ></center>
</div>
<br>
<div class="forme-groupe">
<center><label>Entrer votre prenom</label></center>
<center><input type="input" name="pnomCli"></center>
</div>
<br>
<div class="forme-groupe">
<center><label>Entrer votre date de naissance (sous le format JJMMAAAA)</label></center>
<center><input type="input" name="datNaisCli"</center>
</div>
<br>
<div class="forme-groupe">
<center><label>Entrer votre ville</label></center>
<center><input type="input" name="vilCli"></center>
</div>
<br>
<div class="forme-groupe">
<center><label>Entrer votre adresse</label></center>
<center><input type="input" name="adresCli"</center>
</div>
<br>

<div class="forme-groupe">
<center><label>Entrer votre code postal</label></center>
<center><input type="input" name="cpCli"</center>
</div>
<br>
<div class="forme-groupe">
<center><label>Entrer votre numero de telephone</label></center>
<center><input type="input" name="telCli"</center>
<br>
<div class = "forme-groupe">
<center><label> Entrer votre mot de passe </label></center>
<center><input type ="input" name="mdpCli"></center>
</div>
<br>
<div class = "forme-groupe">
<center><label> Confirmer votre mot de passe </label></center>
<center><input type =" input " name="mdpCli2"></center>
</div>

<br>
<center><button type="submit" name="valider" class="btn btn-default">Créer le compte</button></center>

<?php
//Affichage des erreurs php
error_reporting(E_ALL);

// Connexion à la BDD
require_once "cnxBdd.php";

// Récupération PROPRE des variables AVANT de les utiliser
function getVar($varName){
return isset($_POST[$varName]) ? $_POST[$varName] : NULL;
}

$nomCli = getVar('nomCli') ;
$mailCli = getVar('mailCli');
$pnomCli = getVar('pnomCli');
$datNaisCli = getVar('datNaisCli');
$vilCli = getVar('vilCli');
$cpCli = getVar('cpCli');
$adresCli = getVar('adresCli');
$telCli = getVar('telCli');
$mdpCli = getVar('mdpCli');


if(isset($_POST['valider'])) {

$sql="INSERT INTO client( nomCli , pnomCli , mailCli , mdpCli , vilCli , adresCli , cpCli , telCli , datNaisCli )
VALUES('$nomCli' , '$pnomCli' , '$mailCli' , '$mdpCli' , '$vilCli' , '$adresCli' , '$cpCli' , '$telCli' , '$datNaisCli')";

echo "<br> La requete est :<br>".$sql;//le temps des tests

if(!mysqli_query($connection, $sql)){
die('ERREUR');
}else{
echo "Les info sont bien stockés";
}

}
?>
<br>
<p class="text-center"> Vous avez déja un compte</p>
<p class="text-center"> <a href="SeConnecter.php"> Cliquez ici !</a></p>
</form>




</body>





</html>

    
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > GlobeVer9
 
**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.

**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.

**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
*

!!!!!!
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Peux tu faire un
 print_r($_POST);

Au début de ton code (avant le IF ) et me coller le résultat ?
0
GlobeVer9
 
ca m'affiche ca : Array ( ) en bas de l'cran il te faut un screan?
0