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

Langage PHP Discussion :

Affichage des messages d'erreurs d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut Affichage des messages d'erreurs d'un formulaire
    Bonjour,

    J'ai un formulaire d'inscription et je veux afficher les erreurs à la suite comme ceci :

    Votre pseudo n'est pas valide
    Votre email n'est pas valide
    Vous devez rentrer un mot de passe valide
    etc...

    actuellement, la dernière erreur écrase la précédente (logique), alors j'ai bien tenté de mettre un . devant le = comme ceci :

    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
    <?php
    require_once 'inc/functions.php';
    session_start();
     
    if (!empty($_POST)) {
        require_once 'inc/db.php';
     
        if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) {
            $_SESSION['flash']['danger'] .= "Votre pseudo n'est pas valide (alphanumérique)";
        }
     
        if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            $_SESSION['flash']['danger'] .= "Votre email n'est pas valide";
        }
     
        if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
            $_SESSION['flash']['danger'] .= "Vous devez rentrer un mot de passe valide";
        }
     
        if (empty($_SESSION['flash'])) {
     
            // pas d'erreur donc Création du compte..................
        }
    }
     
    require 'inc/header.php';
     
    require 'view/register.php';
     
    require 'inc/footer.php';
    si je ne remplis aucun champ, ça fonctionne, mais si, par exemple, je remplis le pseudo et pas les autres champs, j'ai deux messages d'erreur :
    Notice: Undefined index: flash
    Notice: Undefined index: danger

    voici mon code qui affiche les erreurs (dans la page header.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <?php if(isset($_SESSION['flash'])): ?>
            <?php foreach($_SESSION['flash'] as $type => $message): ?>
                <div class="alert alert-<?= $type; ?>">
                    <?= $message; ?>
                </div>
            <?php endforeach; ?>
            <?php unset($_SESSION['flash']); ?>
        <?php endif; ?>
    Pourquoi j'utilise les sessions pour l'affichage des erreurs ?
    Car parfois dans mon appli j'ai besoin d'afficher (les) l'erreur sur une autre page..

    quelle est la solution selon vous ?

    Merci pour votre aide.

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Le problème vient de ce que tu n'initialises pas $_SESSION['flash']['danger'] puisque tu fais une concaténation dans $_SESSION['flash']['danger'] qui n'existe pas.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    2 solutions :

    1/ la tienne (en initialisant comme Badaze le conseille) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $_SESSION['flash']['danger'] = '';
    if( ... )
    {
      $_SESSION['flash']['danger'] .= '...................<br />'; // <br /> pour passage à la ligne
    }
    if( ... )
    {
      $_SESSION['flash']['danger'] .= '...................<br />';
    }
    // affichage
    if( !empty($_SESSION['flash']['danger']) ) { 
       echo '<p>'.$_SESSION['flash']['danger'].'</p>';
    }

    2/ Avec un array :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $_SESSION['flash']['danger'] = array();
    if( ... )
    {
      $_SESSION['flash']['danger'][] = '...................';
    }
    if( ... )
    {
      $_SESSION['flash']['danger'][] = '...................';
    }
    // affichage
    $_SESSION['flash']['danger'] = ( !empty($_SESSION['flash']['danger']) )? '<ul><li>' . implode( '</li><li>', $_SESSION['flash']['danger'] ) . '</li></ul>' : ''; // sous forme de liste (par exemple)
    if( !empty($_SESSION['flash']['danger']) ) { 
       echo $_SESSION['flash']['danger'];
    }

  4. #4
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Badaze : La solution fonctionne mais le <br /> à la fin me pose problème.. :/ il y a t'il un moyen de le mettre plutôt dans mon code d'affichage directement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <?php if(isset($_SESSION['flash'])): ?>
            <?php foreach($_SESSION['flash'] as $type => $message): ?>
                <div class="alert alert-<?= $type; ?>">
                    <?= $message; ?>
                </div>
            <?php endforeach; ?>
            <?php unset($_SESSION['flash']); ?>
        <?php endif; ?>
    Jreaux62 : j'ai un message d'erreur.. Warning: implode(): Argument must be an array in C:\wamp64\www\site5\inc\header.php on line 60

    Merci

  5. #5
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Pour le <br/>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <?php if(isset($_SESSION['flash'])): ?>
            <?php foreach($_SESSION['flash'] as $type => $message): ?>
                <div class="alert alert-<?= $type; ?>">
                    <?= $message; ?><br/>
                </div>
            <?php endforeach; ?>
            <?php unset($_SESSION['flash']); ?>
        <?php endif; ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  6. #6
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    non j'ai les messages d'erreur sur une seule ligne..

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    me concernant, tu n'as pas montré ton code.
    Ni la ligne 60...

  8. #8
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Citation Envoyé par bndd24 Voir le message
    non j'ai les messages d'erreur sur une seule ligne..
    C'est quoi ton code exactement ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  9. #9
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    badaze : mon code d'affichage des erreurs est celui que tu m'as donné plus haut..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <?php if(isset($_SESSION['flash'])): ?>
            <?php foreach($_SESSION['flash'] as $type => $message): ?>
                <div class="alert alert-<?= $type; ?>">
                    <?= $message; ?><br/>
                </div>
            <?php endforeach; ?>
            <?php unset($_SESSION['flash']); ?>
        <?php endif; ?>
    et avec la façon de faire de jreaux62 j'ai un message d'erreur à la ligne 60 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['flash']['danger'] = ( !empty($_SESSION['flash']['danger']) )? '<ul><li>' . implode( '</li><li>', $_SESSION['flash']['danger'] ) . '</li></ul>' : ''; // sous forme de liste (par exemple)

  10. #10
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Il faudrait voir le code source de la page (touche F12 avec IE) car si tu as plusieurs $message alors il doit y avoir un <br/> entre chaque. En ce qui me concerne je n'ai jamais essayé <?=.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Pour moi : code insuffisant.
    Où est le reste ?

  12. #12
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Pour le problème d'implode le second paramètre doit être un tableau.

    http://php.net/manual/fr/function.implode.php

    Es-tu sûr que $_SESSION['flash']['danger'] est un tableau ? Essaye var_dump($_SESSION['flash']['danger']);
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  13. #13
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    voici ma page :

    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
    <?php
    require_once 'inc/functions.php';
    session_start();
     
    if (!empty($_POST)) {
     
        $_SESSION['flash']['danger'] = '';
     
        require_once 'inc/db.php';
     
        if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) {
            $_SESSION['flash']['danger'] .= "Votre pseudo n'est pas valide (alphanumérique)";
        } else {
            $req = $pdo->prepare('SELECT idmbr FROM users WHERE username = ?');
            $req->execute([$_POST['username']]);
            $user = $req->fetch();
            if ($user) {
                $_SESSION['flash']['danger'] .= 'Ce pseudo est déjà pris';
            }
        }
     
        if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            $_SESSION['flash']['danger'] .= "Votre email n'est pas valide";
        } else {
            $req = $pdo->prepare('SELECT idmbr FROM users WHERE email = ?');
            $req->execute([$_POST['email']]);
            $user = $req->fetch();
            if ($user) {
                $_SESSION['flash']['danger'] .= 'Cet email est déjà utilisé pour un autre compte';
            }
        }
     
        if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
            $_SESSION['flash']['danger'] .= "Vous devez rentrer un mot de passe valide";
        }
     
        if (empty($_SESSION['flash'])) {
     
            /* Création du compte */
            $req = $pdo->prepare("INSERT INTO users SET username = ?, password = ?, email = ?, creation_account = NOW(), status = 0");
            $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
            $req->execute([$_POST['username'], $password, $_POST['email']]);
            $user_id = $pdo->lastInsertId();
     
            /* Création du token et envoi du mail de validation */
            $req = $pdo->prepare("INSERT INTO confirm_account SET idmbr = ?, confirm_token = ?");
            $token = str_random(60);
            $req->execute([$user_id, $token]);
     
            mail($_POST['email'], 'Confirmation de votre compte', "Afin de valider votre compte merci de cliquer sur ce lien\n\nhttp://site5/confirm.php?idmbr=$user_id&token=$token");
            $_SESSION['flash']['success'] = 'Un email de confirmation vous a été envoyé pour valider votre compte';
            header('Location: login.php');
            exit();
        }
    }
     
    require 'inc/header.php';
     
    require 'view/register.php';
     
    require 'inc/footer.php';
    et la portion qui affiche les messages d'erreurs est dans header.php (le haut du design) dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        <?php if(isset($_SESSION['flash'])): ?>
            <?php foreach($_SESSION['flash'] as $type => $message): ?>
                <div class="alert alert-<?= $type; ?> alert-dismissible" role="alert">
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <?= $message; ?><br />
                </div>
            <?php endforeach; ?>
            <?php unset($_SESSION['flash']); ?>
        <?php endif; ?>
    cette fois, le code est complet^^

  14. #14
    Invité
    Invité(e)
    Par défaut
    les 2 solutions que je t'ai fournies fonctionnent.

    Revoici la 2ème, réécrite pour éviter toute ambiguité :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $flash_danger_array = array();
    if( ... )
    {
      $flash_danger_array[] = '...................';
    }
    if( ... )
    {
      $flash_danger_array[] = '...................';
    }
     
    $_SESSION['flash']['danger'] = ( !empty($flash_danger_array) )? implode( '<br />', $flash_danger_array ) : ''; // avec passage à la ligne
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // affichage
    if( !empty($_SESSION['flash']['danger']) ) { 
       echo '<p>' . $_SESSION['flash']['danger'] . '</p>';
    }


    Citation Envoyé par bndd24 Voir le message
    ...mais le <br /> à la fin me pose problème..
    Je ne vois vraiment pas pourquoi...

  15. #15
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    j'ai repris le premier code que tu m'as donné plus haut.

    - Quand je vais sur la page register, j'ai un message d'erreur :
    Warning: implode(): Invalid arguments passed in C:\wamp64\www\site5\inc\header.php on line 60
    dans mon header.php j'ai ton code d'affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // code jreaux62
    // affichage
    $_SESSION['flash']['danger'] = ( !empty($_SESSION['flash']['danger']) )? '<ul><li>' . implode( '</li><li>', $_SESSION['flash']['danger'] ) . '</li></ul>' : ''; // sous forme de liste (par exemple) LIGNE 60
    if( !empty($_SESSION['flash']['danger']) ) {
        echo $_SESSION['flash']['danger'];
    }
    ?>
    Mais en cliquant sur le bouton envoyé j'ai bien la liste des erreurs du visiteur, sans avoir l'erreur php plus haut.

    l'autre problème que je rencontre c'est qu'avec ton code d'affichage, je n'ai plus les messages de success comme avec mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php if(isset($_SESSION['flash'])): ?>
            <?php foreach($_SESSION['flash'] as $type => $message): ?>
                <div class="alert alert-<?= $type; ?> alert-dismissible" role="alert">
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <?= $message; ?><br />
                </div>
            <?php endforeach; ?>
            <?php unset($_SESSION['flash']); ?>
        <?php endif; ?>
    voici mon code de register.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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php
    require_once 'inc/functions.php';
    session_start();
     
    if (!empty($_POST)) {
     
        $_SESSION['flash']['danger'] = array();
     
        require_once 'inc/db.php';
     
        if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) {
            $_SESSION['flash']['danger'][] = "Votre pseudo n'est pas valide (alphanumérique)";
        } else {
            $req = $pdo->prepare('SELECT idmbr FROM users WHERE username = ?');
            $req->execute([$_POST['username']]);
            $user = $req->fetch();
            if ($user) {
                $_SESSION['flash']['danger'][] = 'Ce pseudo est déjà pris';
            }
        }
     
        if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            $_SESSION['flash']['danger'][] = "Votre email n'est pas valide";
        } else {
            $req = $pdo->prepare('SELECT idmbr FROM users WHERE email = ?');
            $req->execute([$_POST['email']]);
            $user = $req->fetch();
            if ($user) {
                $_SESSION['flash']['danger'][] = 'Cet email est déjà utilisé pour un autre compte';
            }
        }
     
        if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
            $_SESSION['flash']['danger'][] = "Vous devez rentrer un mot de passe valide";
        }
     
        if (empty($_SESSION['flash'])) {
     
            /* Création du compte code php... */
     
     
     
     
    // faut t'il mettre un [] également pour le message de success plus bas ??
     
     
     
            $_SESSION['flash']['success'][] = 'Un email de confirmation vous a été envoyé pour valider votre compte';
            header('Location: login.php');
            exit();
        }
    }
     
    require 'inc/header.php';
     
    require 'view/register.php';
     
    require 'inc/footer.php';
    .. concernant le <br /> de l'autre code, je trouve que ce n'est pas très adapté de mettre un <br /> à répétition a la fin de chaque message d'erreur, mais plutôt une seule fois au moment de l'affichage.. selon moi plus logique.

  16. #16
    Invité
    Invité(e)
    Par défaut
    1/ (solution avec array)
    Pourtant, la syntaxe semble correcte...

    Est-ce l’enchaînement des actions ?
    => Montre le code DANS SON ENSEMBLE.

    1a/ As-tu vérifié la variable (array ou pas ?) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_SESSION['flash']['danger']);
    1b/ Utilise mon code "sans ambiguité".

    1c/ $_SESSION['flash']['success'] = '...';

    2/ (solution avec concaténation)
    Quant à <br /> : il faut bien que tu passes à la ligne après CHAQUE erreur.
    Il faut donc intégrer/ajouter le <br /> à chaque concaténation.

    Du coup, la solution avec array est la plus polyvalente (ex. : on peut afficher en liste <ul><li>, si on veut )
    Dernière modification par Invité ; 19/09/2016 à 20h51.

Discussions similaires

  1. Affichage des messages d'erreur sur mon serveur
    Par philippe57460 dans le forum Langage
    Réponses: 4
    Dernier message: 25/06/2008, 08h23
  2. Réponses: 12
    Dernier message: 27/09/2007, 08h33
  3. Affichage des message d'erreurs avec Struts
    Par stujava dans le forum Struts 1
    Réponses: 4
    Dernier message: 13/08/2007, 21h12
  4. affichage des message d erreures
    Par Philcmoi dans le forum JSF
    Réponses: 6
    Dernier message: 05/08/2007, 19h18
  5. [PostgreSQL] eviter l'affichage des messages d'erreur
    Par Gandalf dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/03/2007, 10h15

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