IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Envoi de données avec PHP qui ne fonctionne pas


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 1
    Par défaut Envoi de données avec PHP qui ne fonctionne pas
    Bonjour à toutes et à tous !

    Etant un débutant dans la programmation en PHP et MySql, j'ai un petit problème, je dois créer un espace membre (pour un travail de groupe), donc je commence par le formulaire d'inscription et création de la bdd avec phpmyadmin, je fais mon formulaire sur une page exterieur, je mets un petit message à la fin pour dire que tout est ok (que la requête d'envoi des informations à la base de données fonctionne et tout le code en général). Puis quand je vais sur ma bdd dans Phpmyadmin, la table "client" est vide. Je vous envoie le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?php 
     
     
    // On vérifie si les champs principax sont bien rempli
     
    if (empty($_POST['Login']) OR empty($_POST['Password']) OR empty($_POST['email'])) 
    {
    	echo "Veuillez remplir tous les champs";
    }
     
    else 
    {
    	if ($_POST['Password'] !== $_POST['Confirm_password']) // On vérifie si les mots de passes correspondent
     
    	{
    		echo "Les mots de passes de correspondent pas";
    	}
     
    	else
     
    	{
    		if ($_POST['email'] !== $_POST['confirm_email']) // On vérifie si les adresses email correspondent
     
    		{
    			echo "Les adresses email ne correspondent pas";
    		}
     
    		else // Si toutes les conditions sont remplies, on se connecte à la base de données 
     
    		{
    			try // On essaye de se connecter a la base de données sans provoquer d'erreur pouvant afficher les infos de la base
    			{
    				$bdd = new PDO('mysql:host=localhost;dbname=ppe;charset=utf8', 'root', '');
    			}
    			catch (Exception $e)
    			{
    				die('Erreur :' . $e->getMessage());
    			}
     
    			$Identifiant = htmlspecialchars($_POST['Login']);
    			$mdp = sha1($_POST['Password']);
     
    			$req = $bdd->prepare('INSERT INTO client VALUES(?, ?, ?, ?, ?, ?, ?, ?)');
     
    			$req->execute(array($Identifiant, $mdp, $_POST['Name'], $_POST['Prenom'], $_POST['Telephone'], $_POST['Adresse'], $_POST['Pays'], $_POST['email'] ));
    			echo "Vous êtes bien inscrit dans la base de donnés !";
     
    		}
    	}
    }
     
     
    ?>
    A la fin , ça m'affiche bien le "Vous êtes bien inscrit" mais en retournant dans ma base de données, je ne vois pas de ligne qui vient d'être créer.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 199
    Par défaut
    Bonsoir,

    Il est normal que cela t'affiche "Vous êtes bien inscrit" car tu l'affiche sans condition de ta requête SQL donc quoi qu'il arrive ton "écho" s'affichera.

    Je commencerais par afficher la requête en question avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->debugDumpParams();
    Et donner le résultat.

    A noté également que vu comme ta requête SQL est écrite tu dois mettre l'ensemble des colonnes dans ta requête et dans le même ordre !

    Exemple ta table contient 3 colonnes avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO `TA_TABLE` VALUES( `val_colonne_1`, `val_colonne_2`, `val_colonne_3` )
    Tu est obligé d'ajouter toute tes colonnes dans ta requête et dans le même ordre que dans la base de données.
    Si tu ne veux pas ajouter toute les colonnes il faut utiliser cette syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO `TA_TABLE`( `nom_colonne_1`, `nom_colonne_3` ) VALUES( `val_colonne_1`, `val_colonne_3`)

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  2. [MySQL] Session php qui ne fonctionne pas
    Par tiph02 dans le forum PHP & Base de données
    Réponses: 42
    Dernier message: 04/06/2008, 11h49
  3. formulaire php qui ne fonctionne pas
    Par kate59 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/04/2008, 13h40
  4. Insertion avec contraintes qui ne fonctionnent pas
    Par max44410 dans le forum Requêtes
    Réponses: 4
    Dernier message: 08/01/2008, 23h03
  5. Code php qui ne fonctionne pas
    Par bachir008 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo