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 :

Formulaire inscription en php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Points : 26
    Points
    26
    Par défaut Formulaire inscription en php
    Bonjour à tous,

    Je viens ici car j'ai un petit soucis suite à une modification et je n'arrive pas a trouver l'erreur...

    J'avais une base de données comme cela:
    id/nom/prenom/mail/valid/datex

    avec un formulaire qui fonctionné bien.

    Suite a cela j'ai décidé de rajouter une donnée dans la table (numero de tel) :

    J'ai donc une base de données comme cela maintenant:

    id/nom/prenom/mail/valid/numero/datex

    Depuis j'ai modifié mon formulaire pour prendre en compte cette nouvelle donnée mais rien n'y fait... mais si je laisse le champ vide alors que je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST['nom'])AND !empty($_POST['prenom']) AND !empty($_POST['mail'])  AND !empty($_POST['valid']) AND !empty($_POST['numero']))
    il accepte comme même l'enregistrement....

    Voici la partie php:

    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
     
    <?php
    $bdd = new PDO('mysql:host=localhost;dbname=EMPL','root','xxxxxxxxxxxxxx');
     
    if(isset($_POST['submit']))
    {		
     
    		$n1 = htmlspecialchars($_POST['nom']);
    		$n2 = htmlspecialchars($_POST['prenom']);
    		$n3 = htmlspecialchars($_POST['mail']);
    		$n4 = htmlspecialchars($_POST['valid']);
    		$n5 = htmlspecialchars($_POST['numero']);
     
     
     
    	if(!empty($_POST['nom'])AND !empty($_POST['prenom']) AND !empty($_POST['mail'])  AND !empty($_POST['valid']) AND !empty($_POST['numero']))
    	{
     
    		$bddmembre = $bdd->prepare("INSERT INTO interim (nom,prenom,mail,valid,numero,datex) VALUES(?, ?, ?, ?, ?, NOW()");
    		//NOW()
     
     
     
     
    		$bddmembre->execute(array($n1,$n2,$n3,$n4,$n5));
    				//echo "merci"
    	}
    	else
    	{
    		$erreur = script;//= "tous les champs doivent être complete";
    	}
     
    }
     
    ?>

    La partie html:

    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
     
     
    <table>
     
    <form method="POST" action="suite.php">
     
    <td align="right">
     
    <p>Nom:  
    <input type="text" name="nom" id="nom" placeholder="Nom" /></p>
     
    <p>Prenom:
    <input type="text" name="prenom" id="prenom" placeholder="Prenom" /></p>
     
    <p>Mail:  
    <input type="text" name="mail" id="mail" placeholder="Mail" /></p>
     
    <p>Portable:  
    <input type="text" name="numero" id="numero" placeholder="Ex:06010" /></p>
     
     
    Signature numerique:
    <br>
    <input type="text" name="valid" id="valid" placeholder="Indiquer 'lu et approuvé'"/>
     
    </align>
    <input type="submit" name="submit" value="Signer"/><br>
    </form>
    </table>
    Je vous remercie d'avance pour votre aide car je ne vois plus ou chercher je pense en plus qu'il s'agit d'une erreur toute bête...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu devrais activer les erreurs PDO quand tu developpes

    Il manque la parenthese fermante de VALUES :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bddmembre = $bdd->prepare("INSERT INTO interim (nom,prenom,mail,valid,numero,datex) VALUES(?, ?, ?, ?, ?, NOW())");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu devrais activer les erreurs PDO quand tu developpes

    Il manque la parenthese fermante de VALUES :
    $bddmembre = $bdd->prepare("INSERT INTO interim (nom,prenom,mail,valid,numero,datex) VALUES(?, ?, ?, ?, ?, NOW())");
    Merci pour cette première réponse

    Activer les erreurs PDO ? si tu peux m'expliquer rapidement ?

    Sinon je viens de rectifier la fermeture de la parenthèse VALUES et c'est toujours le même problème il enregistre tous les autres champs sauf celui du numéro...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    et c'est toujours le même problème
    Ca m'etonnerait que sans la parenthèse il ait pu enregistrer quoi que ce soit.
    Contrôle donc bien les résultats que tu obtiens.
    De mon côté j'ai testé ton code tel quel et il fonctionne.

    Pour les erreurs PDO :
    http://php.net/manual/fr/pdo.error-handling.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ca m'etonnerait que sans la parenthèse il ait pu enregistrer quoi que ce soit.
    Contrôle donc bien les résultats que tu obtiens.
    De mon côté j'ai testé ton code tel quel et il fonctionne.

    Pour les erreurs PDO :
    http://php.net/manual/fr/pdo.error-handling.php
    Je viens de refaire le test est ce qui m'étonne comme tu dis c'est qu'il est pu enregistrer quoi que soit sans la parenthèse et pourtant ... si
    Donc avec la parenthèse ou sans il enregistre comme même... par contre pas d'enregistrement du champ numéro...

    ex : www.empl.ddns.net

    si tu veux tester, le champs portable dois être différent de vide
    Et il n'est pas contrôlé alors qu'il doit être rempli impérativement suivants les conditions demandé au dessus...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu devrais vérifier que ton fichier suite.php et bien celui que tu penses.
    Comme je t'ai dit le code que tu nous montres fonctionne (avec la correction de la parenthèse) et je vois mal comment une requête avec une faute de syntaxe pourrait fonctionner.

    As-tu activé les exceptions PDO ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu devrais vérifier que ton fichier suite.php et bien celui que tu penses.
    Comme je t'ai dit le code que tu nous montres fonctionne (avec la correction de la parenthèse) et je vois mal comment une requête avec une faute de syntaxe pourrait fonctionner.

    As-tu activé les exceptions PDO ?
    Tu avais raison le fichier sur le fichier suite j’avais oublié de déclarer la variable... Merci encore pour l'aide.

    Je vais look pour activer les erreur PDO.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire d'inscription en PHP
    Par Yo0oupli dans le forum Langage
    Réponses: 4
    Dernier message: 19/05/2013, 21h17
  2. Formulaire d'inscription en PHP et javascript
    Par jockhip12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/03/2012, 22h11
  3. Réponses: 20
    Dernier message: 24/02/2012, 19h36
  4. formulaire inscription pour site PHP
    Par frost80500 dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2008, 15h53
  5. Problème Formulaire + popup + page PHP
    Par nesbla dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/02/2005, 01h10

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