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 :

[PHP-JS] Affichage de message d'erreur


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut [PHP-JS] Affichage de message d'erreur
    J'ai créé pour PHP une fontion pour l'affichage des messages d'alertes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Evoi d'un message dans le php
    function alert ($message)
    {
        echo "<script language=\"Javascript\">";
        echo "alert (\"$message\") </script>";
    }
    Mais ma page web disparait, elle réapparait lorsque je valide le message d'erreur.

    Est-il possible de garder la page web en font.

    A moins bien sûr qu'il y ai mieux pour afficher des messages de contrôle de formulaire.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    ça depend je pense de l'endroit ou tu appel ta fonction. dans les normes tu devrais avoir la page en fond.

  3. #3
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    Si tu appels ta fonction avant le 1er echo, c'est normal

  4. #4
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    si j'ai bien compris tu veux faire un traitement en php et pouvoir afficher une alerte en javascript?
    alors tu doit écrire une fonction en javascript et dans ta balise <body>
    tu ajoute un onload="javascript: ma_fonction();'
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="javascript: ma_fonction();">
    tu voit le truc ? ou alors est ce que je suis à côté de la plaque ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Par défaut
    Non c'est exact : Les navigateurs exécutent les script javascript dès qu'ils sont disponibles. (Ce dont on peut tirer profit dans certaines interractions entre PHP et Javascript) Il vaut souvent mieux n'éxecuter le premier morceau de code javascript qu'une fois que la page est complètement chargée. La solution proposée est d'utiliser l'attribut onload de la balise body, ce qui demande toutefois une structure de code PHP un peu moins directe. Il faut d'abord savoir quelles alertes afficher avant de générer la page. Il existe des solutions de rechange qui risquent de moins bien marcher (Moins compatible) qui consistent à enregistrer via javascript quelles fonctions seront appellées au chargement de la page. Un code du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.onload = 'alert("Un message d'erreur");'
    (A vérifier, usage de document.body incompatible avec quelques vieux navigateurs) ou d'utiliser document.addEventListener. (DOM, pourtant carrément incompatible avec IE 6)

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Bon j'ai fait cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="page" action="{$current_page}" method="post" onsubmit="javascript:Validator.Submit(document.page,'test()');">
    Il m'affiche bien les erreurs lorsqu'il y en a mais, il passe à la page suivante comme s'il n'y avait pas d'erreur lorsque je clique sur "ok" sur la fenêtre d'affichage des messages.

    Pourtant je pense que j'ai le code retour false.

    Etrange ,

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Par défaut
    il ne faut pas utiliser

    dans le corps d'une fonction javascript. L'attribut onsubmit a pour valeur le corps d'une fonction. javascript: est donc redondant, et pire, peut arrêter l'exécution du script en cours. Le blocage d'envoi d'un formulaire se fait par la valeur de retour de cette fonction, et non la dernière valeur du bloc de code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form onsubmit="return Validation();" />
    Dans votre page, la soumission d'un formulaire en soumet un autre apparement, ce qui est une opération plutôt étrange.

  8. #8
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Oui return c'est le top et j'ai supprimé javascript:

    Merci beaucoup

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

Discussions similaires

  1. [PHP-JS] Pb d'affichage de message d'erreur
    Par yakup.67 dans le forum Langage
    Réponses: 19
    Dernier message: 14/06/2007, 15h50
  2. Problème avec l'affichage de message d'erreur
    Par gaet_045 dans le forum JSF
    Réponses: 2
    Dernier message: 08/05/2007, 11h56
  3. [PostGreSQL] Empêcher l'affichage de message d'erreur
    Par FapInfo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/04/2007, 11h27
  4. [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
  5. affichage de message d erreur
    Par *alexandre* dans le forum JSF
    Réponses: 2
    Dernier message: 18/09/2006, 11h02

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