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

SGBD Perl Discussion :

Problème de concaténation dans DB


Sujet :

SGBD Perl

  1. #1
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut Problème de concaténation dans DB
    Bonjour!!

    Voilà mon problème:

    J'ai un formulaire où la date est générée en javascript, avec 3 listes (jour, mois, année). Je veux récupérer cette date dans un seul champ de ma DB.
    Le problème, c'est que dans ma DB cette date vaut tjrs 0000-00-00. Voivi mon code, dites-moi ce qui cloche j'en peux plus de chercher dans le vide...

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    #!D:/Perl/bin
    use DBI;
    use CGI;
    my $cgi = CGI::new();
    use strict;
     
        #print "content-type:text/html\n\n";
        my $noerror='true';
     
        #CONNECTION à la DB
     
        my $path="dbi:mysql:dbname=form_competence";
        my $user='root';
        my $pswd='****';
        my $connexion=DBI->connect($path,$user,$pswd) or die ('Erreur de connexion...');
     
        #PREPARATION tableau associatif de cgi()
     
        my %data =();
        %data= ("can_prenom"=>$cgi->param('prenom'),
                "can_nom"=>$cgi->param('nom'),
                "can_sexe"=>$cgi->param('sexe'),
                "can_ddn"=>$cgi->param('can_an').'-'.$cgi->param('can_mois').'-'.$cgi->param('can_jour'),
                "can_adresse"=>$cgi->param('adress'),
                "can_cp"=>$cgi->param('cp'),
                "can_loc"=>$cgi->param('location'),
                "can_pays"=>$cgi->param('pays'),
                "can_email"=>$cgi->param('mail'),
                "can_tel"=>$cgi->param('phone'),
                "can_gsm"=>$cgi->param('gsm'),
                "can_fax"=>$cgi->param('fax'),
                "can_login"=>$cgi->param('login'),
                "can_pwd"=>$cgi->param('pswd2'),
                "can_pwd2"=>$cgi->param('pswd'),
                );
     
     
        #l'user rempli le formulaire...
        #VERIFICATION de la validité de l'inscription
     
        if ($data{can_pswd} ne $data{can_pswd2}){
            die "Les mots de passe sont différents";
            $noerror='false';
        }
     
        if (($data{can_nom}!~ /^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß\-]+$/)){
            print 'Problème au niveau du nom'."\r"."<br/>";
            $noerror='false';
        }
     
        if (($data{can_prenom}!~/^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß\-]+$/)){
            print 'Problème au niveau du prénom'."\r"."<br/>";
            $noerror='false';
        }
     
        if (($data{can_loc}!~/^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß\-]+$/)){
            print 'Problème au niveau du nom de la ville'."\r"."<br/>";
            $noerror='false';
        }
     
        if (($data{can_pays}!~/^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß\-]+$/)){
            print 'Problème au niveau du pays'."\r"."<br/>";
            $noerror='false';
        }
     
        if ($data{can_email}!~/^[^@]+@(([\w\-]+\.){1,4}[a-zA-z]{2,4}$|([0-1]?[0-9]?[0-9]|2[0-4][0-9]|2[0-5][0-5])((\.)([0-1]?[0-9]?[0-9]|2[0-4][0-9]|2[0-5][0-5])){3})/){
            print 'Problème au niveau de l\'adresse e-mail'."\r"."<br/>";
            $noerror='false';
        }
     
        if ($data{can_tel}=~/[^0-9]/){
            print 'Problème au niveau du numéro de téléphone'."\r"."<br/>";
            $noerror='false';
        }
        if ($data{can_fax}=~/[^0-9]/){
            print 'Problème au niveau du numéro de fax'."\r"."<br/>";
            $noerror='false';
        }
     
        if ($data{can_gsm}=~/[^0-9]/){
            print 'Problème au niveau du numéro de gsm'."\r"."<br/>";
            $noerror='false';
        }
     
        if ($data{can_cp}=~/[^0-9]/){
            print 'Problème au niveau du code postal'."\r"."<br/>";
            $noerror='false';
        }
     
        if ($noerror=='true'){
     
            #CREATION requête
     
            my $query=( "INSERT INTO candidats (    
                                            can_nom,
                                            can_prenom,
                                            can_sexe,
                                            can_adresse,
                                            can_ddn,
                                            can_cp,
                                            can_loc,
                                            can_pays,
                                            can_email,
                                            can_tel,
                                            can_fax,
                                            can_gsm,
                                            can_login,
                                            can_pwd)
     
                                        VALUES    (
                                                '$data{can_nom}',
                                                '$data{can_prenom}',
                                                '$data{can_sexe}',
                                                '$data{can_adresse}',
                                                '$data{can_ddn}',
                                                '$data{can_cp}',
                                                '$data{can_loc}',
                                                '$data{can_pays}',
                                                '$data{can_email}',
                                                '$data{can_tel}',
                                                '$data{can_fax}',
                                                '$data{can_gsm}',
                                                '$data{can_login}',
                                                '$data{can_pswd2}');
                                                ");
     
            #EXECUTION requête (CREATION nouvel user)
     
            $connexion->do($query);
     
            print "location:/rst406/labo1/gestion_cpte.html\n\n";
     
    }
    Merci d'avance!

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu as vérifié quelle était la valeur de can_ddn avant insertion ? (par ailleurs pourquoi utiliser le Javascript pour le générer alors que tu pourrais simplement le faire avec du Perl et supprimer ce paramètre inutile ?)

    --
    Jedaï

  3. #3
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut
    Tu entends quoi par 'Tu as vérifié quelle était la valeur de can_ddn avant insertion ?'??

    Sinon j'ai fait ça en javascript pcq je suis un gros débutant en perl, et qu'avec le taf que j'ai à faire je m'en sors déjà pas, alors je fait au plus simple...

  4. #4
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut
    Voilà j'ai trouvé

    En fait il y avait un incompatibilité de syntaxe dans mon code javascript, ce qui fait que ni Perl ni Php ne savaient interpreter la date
    mais c'est réglé!!

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

Discussions similaires

  1. Problème de syntaxe dans ma concaténation
    Par student_php dans le forum Langage
    Réponses: 5
    Dernier message: 01/12/2010, 13h03
  2. Problème de concaténation en pdf dans un même fichier
    Par laptitedede dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/07/2010, 19h10
  3. Réponses: 4
    Dernier message: 13/11/2009, 10h49
  4. [AC-2007] Problème avec champs concaténé dans 1 formulaire
    Par Peter K. dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/08/2009, 18h09
  5. Problème de concaténation dans une requête
    Par Miss Ti dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/04/2007, 18h22

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