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 :

insertions vides dans formulaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut insertions vides dans formulaire
    Bonjour tout le monde, et j'espere que je poste au bon endroit.
    un truc me rend dingue et fou, ca fait des semaines que j'essaie de reperer l'erreur mais rien a faire.
    j'ai mis en ligne un formulaire de 5 champs en utilisant jquery/Ajax. quand je regarde la base pour voir s'il y a eu des nouvelles inscription, je vois de nouveaux enregistrement mais vide!!
    voici a quoi ressemble le formulaire: moroccan-arts.fr
    la verification de la saisie se fait avec javascript. si javascript est desactivé, le formulaire ne peut etre soumis!
    j'ai testé avec safari, firefox sur Mac, et ie6/7/8, chrome et firefox sur windows et ca marche bien...
    voici les parties essentielles de mon code:
    page 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
    <html>
    ...
     
    <script type="text/javascript">
    	// Form validator & registration
    	$("#form_register").validator({ 
    		lang: 'en',
    		position: 'top left', 
    		offset: [1, 30],
    		message: '<div><em/></div>' // em element is the arrow
    	}).submit(function(e) {
    		if (!e.isDefaultPrevented()) { // client-side validation OK.
    			return form_insert(this, "/account/ajax/register-home.php");			
    		}
    	});
    });
    </script>
     
    <form id="form_register" method="post">
    	<p><input type="text" name="f_name" size="40" maxlength="40" required="required"></p>
    	<p><input type="text" name="l_name" size="40" maxlength="40" required="required"></p>
     
    	<p><button type="submit" class="btn"><span>Valider</span></button></p>
    </form>
     
    ...
    </html>
    la fonction js form_insert():
    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
    function form_insert(form, url) {
    	$('button').attr('disabled','true'); //desactiver le bouton pour eviter une double saisie
     
    	form = $(form).fadeTo(300, 0.6);//appliquer un fade pdt la requete
     
    	$.post(url, form.serialize(), function(msg) {
    		if(msg == "ok") { // si OK
    			Afficher message
    		}
    		else { // si requete echoue
    			Afficher messsage d erreur
    		}
    	});
    	return false; // empecher la soumission du formulaire
    }
    le ficher 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
    <?php
    require_once($_SERVER['DOCUMENT_ROOT']."/inc/con-db.php");
     
    $civility = $_POST['civility'];
    $f_name = strip_tags(trim($_POST['f_name']));
    $l_name = strip_tags(trim($_POST['l_name']));
    $email = trim($_POST['email']);
    $id_country = intval($_POST['id_country']);
    $iso_lang = $_POST['iso_lang'];
     
    $ins = $dbh->prepare("INSERT INTO directory (civility, f_name, l_name, email, id_country, iso_lang) VALUES (?, ?, ?, ?, ?, ?)");
    if($ins->execute(array($civility, $f_name, $l_name, $email, $id_country, $iso_lang))) echo "inserted"; // if the INSERT succeeded
    else {
    	echo "msg d erreur";
    	$db_error = $ins->errorInfo();
    	report_mysql_error(__FILE__, __LINE__, $db_error[2]);
    	exit();
    }
     
    ?>
    dites moi svp ce qui ne va pas
    merci infiniment

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Et t'as essayé de faire simple, sans le Ajax pour le moment, afin de cerner l'origine du pb ?

    si javascript est desactivé, le formulaire ne peut etre soumis!
    C'est normal puisque c'est ton JS qui fait le submit à la bonne page.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    MErci pour ta reponse.

    Et t'as essayé de faire simple, sans le Ajax pour le moment, afin de cerner l'origine du pb ?
    Non j'ai pas essayé, et ca m'embete un peu de devoir mettre Ajax de conté!!
    sinon, tu ne vois pas ce qui peut clocher au niveau de mon script??

    C'est normal puisque c'est ton JS qui fait le submit à la bonne page.
    oui je sais, c'etait pour eviter qu'on me dise que peut etre le client a desactiver javascript.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Citation Envoyé par redah75 Voir le message
    Non j'ai pas essayé, et ca m'embete un peu de devoir mettre Ajax de conté!!
    Séb. t'a dit "pour le moment"

    Pour débugguer un script la meilleure solution est souvent de le décomposer en blocs distincts pour mieux voir où chercher...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    Bonsoir ABCIWEB, j'allais justement envoyer un message et t'as ete plus rapide que moi
    je voulais juste vous informer que j'ai rajouter ce bout de code tout au debut du fichier php afin d'essayer de déceler l'erreur!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(empty($_POST['civility']) || empty($_POST['f_name']) || empty($_POST['email']) || empty($_POST['id_country']) || empty($_POST['iso_lang'])) {
    	echo "Un problem est survenu...";
    	send_email(); // un mail m'est envoyé
    }
    j'attends pour voir ce que cela donne

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    j'attends pour voir ce que cela donne
    Tiens-nous au courant ;-)

Discussions similaires

  1. Insertion PDF dans Formulaire
    Par jeff1196 dans le forum IHM
    Réponses: 14
    Dernier message: 03/03/2008, 22h55
  2. insertion pdf dans formulaire
    Par pkrvz dans le forum VBA Access
    Réponses: 0
    Dernier message: 02/03/2008, 21h33
  3. Réponses: 0
    Dernier message: 08/11/2007, 20h09
  4. Insertion GIF dans formulaire
    Par STANDBOY dans le forum IHM
    Réponses: 1
    Dernier message: 26/12/2006, 16h56
  5. Clé étrangère vide dans formulaire
    Par Shekhmet dans le forum Access
    Réponses: 6
    Dernier message: 29/05/2006, 21h15

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