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

JavaScript Discussion :

Comment passer une variable PHP dans une Alert


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut Comment passer une variable PHP dans une Alert
    Bonjour,
    Quelqu'un pourra t-il m'aider SVP?
    J'essaie de passer des variables PHP dans l'alert Javascript pendant la valiation du formulaire. Voici ce que j'ai fait qui n'est pas correcte :

    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
    function verificationContact(formulaire){
     
    adresse = formulaire.mail.value;
     
    if (formulaire.titre.value == "selectionner"){
    alert("<?php echo $champ_vide.' :\n'.$champ_titre; ?>");
    return false;
    }
     
    else if (formulaire.prenom.value == ""){
    alert("<?php echo $champ_vide.' :\n'.$champ_nom; ?>");
    return false;
    }
     
     
    else if (formulaire.mail.value == ""){
    alert("<?php echo $champ_vide.' :\n'.$champ_titre; ?>");
    return false;
    }
     
    else if ((adresse.indexOf('@',0)==-1) || (adresse.indexOf('.',0)==-1)) {
    alert("<?php echo $champ_vide.' :\n'.$champ_titre; ?>");
    return false;
    }
     
     
    else{
    formulaire.submit();
    }
     
    }
    Merci beaucoup pour votre aide

  2. #2
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonjour,
    D'où proviennent les deux variables "$champ_vide" et "$champ_titre" ?
    A quel moment sont-elles déclarées ?

  3. #3
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Merci bcp mais ce n'est pas ça le problème.
    Ces variables sont dans un fichier require.
    J'accède à ces variables sans probl en php bien entendu.

    Ce que j'ai fait est un argument en javascript donc m'affiche le contenu comme texte et n'interprête pas les variables. Je ne connais pas Javascript. C'est juste comment l'écrire pour que les variables soient interprétées.

    Merci qu'en même

  4. #4
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    re,
    Et bien je suis persuadé que ton problème vient que tes variables ne soient pas déclarées avant ton code javascript.
    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php 
    $champ_vide = "Nom";
    $champ_titre = "Test";
    ?>
    <script type="text/javascript">
    alert("<?php echo $champ_vide.' :\n'.$champ_titre; ?>");
    </script>
    Cà fonctionne ...
    Et ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    alert("<?php echo $champ_vide.' :\n'.$champ_titre; ?>");
    </script>
    <?php 
    $champ_vide = "Nom";
    $champ_titre = "Test";
    ?>
    Cà ne fonctionne pas ...

  5. #5
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Vous êtes drôle vous

    Ce n'est pas un problème de variable
    Si c'est un problème de variable alors rien ne s'affiche vu que la variable n'existe pas. Ce que vous avez fait affichera ceci :
    <?php echo $champ_vide.' :
    .$champ_titre; ?>
    Ce qui est normal. Parce que tout ceci se trouve dans une expression de Javascript
    alert("bonjour");


  6. #6
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Re,
    Merci de me trouver drôle, mais ce n'étais vraiment pas le but ...
    Ce que vous avez fait affichera ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php echo $champ_vide.' :
    .$champ_titre; ?>
    Non je ne crois pas ... Avec le premier script fournit j'obtiens bien une "alert" avec mes deux variables PHP.


  7. #7
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Mea culpa. C'est vous qui avez raison.
    Je n'accède pas aux variables parce que j'étais dans une fonction. Je dois passer des paramètres (variables php) à la fonction javascript pour pouvoir y accéder.

    Voici ce que j'ai fait mais je ne suis pas sûr de la syntaxe javascript au niveau des paramètres de la fonction

    Déclaration de la fonction Javascript avec les 2 variables php à utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function verificationContact(formulaire, <?php echo $champ_vide; ?>, <?php echo $champ_titre; ?>)
    {
    adresse = formulaire.mail.value;
     
    if (formulaire.titre.value == "selectionner"){
    alert("<?php echo $champ_vide.' :\n'.$champ_titre; ?>");
    return false;
    }
     
    else{
    formulaire.submit();
    }
    Appel de la fonction dans un formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="http://www.monsite.com/contact.php" method="post" name="formulaire" onsubmit="javascript : return verificationContact(this, <?php echo $champ_vide; ?>, <?php echo $champ_titre; ?>);">
    D'avance merci pour votre patience et votre aide.
    Si vous pouvez m'aider à écrire correctement les paramètres de la fonction

    Merci

  8. #8
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Dans ce cas il faut juste indiquer les variables PHP dans l'appel de la fonction JavaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="http://www.monsite.com/contact.php" method="post" name="formulaire" onsubmit="verificationContact(this, '<?php echo $champ_vide; ?>', '<?php echo $champ_titre; ?>');">
    Et modifier la fonction comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script type="text/javascript">
    function verificationContact(formulaire,vide,titre) {
    adresse = formulaire.mail.value;
    if (formulaire.titre.value == "selectionner"){
    alert(vide+' :\n'+titre);
    return false;
    } else {
    formulaire.submit();
    }
    }
    </script>

  9. #9
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Merci bcp.
    Ton explication est claire et ton code propre. Je l'ai testé, et la fonction n'est pas exécutée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function verificationContact(formulaire,vide,titreok){
     
    adresse = formulaire.mail.value;
     
    if (formulaire.titre.value == "selectionner"){
    alert(vide+' :\n'+titreok);
    return false;
    }
     
    else{
    formulaire.submit();
    }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="http://www.monsite.com/contact.php" method="post" name="formulaire" onsubmit="javascript : return verificationContact(this, <?php echo $champ_vide; ?>, <?php echo $champ_titre; ?>);">
    Encore merci pour ton aide

  10. #10
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Tu n'as pas bien regardé le code que je t'ai donné il y a des simples quotes autour des variables PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="verificationContact(this, '<?php echo $champ_vide; ?>', '<?php echo $champ_titre; ?>');"
    Sinon as tu un message d'erreur ?

  11. #11
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Vous avez raison. Mais comme l'appel de la fonction se trouve dans une variable que j'ai omis de vous dire, du coup, je dois jongler avec les guillemets.

    Et c'est là que j'ai fait quelque chose de mauvais.
    Voici mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $varFormulaire ='<form action="http://www.monsite.com/contact.php" name="formulaire" onsubmit="javascript : return verificationContact(this'.','. '<?php echo $champ_vide; ?>'.','. '<?php echo $champ_titre; ?>'.');">
              
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="matable2">
    etc
    ';
    ?>
    Merci bcp

  12. #12
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Essaye avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $varFormulaire ='<form action="http://www.monsite.com/contact.php" name="formulaire" onsubmit="verificationContact(this,"'. $champ_vide.'","'.$champ_titre.'");">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="matable2">
    etc
    ';
    ?>

  13. #13
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Je l'ai testé comme vous me l'avez demandé. Mais pas de message d'erreur et la fonction ne s'exécute pas malgré que le code me parait parfait.
    J'ai même changé this par le nom du formulaire et modifier le nom dans la fonction pour éviter les conflits. Rien non plus. C'est une casse-tête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function verificationContact(varform,vide,titreok){
     
    adresse = varform.mail.value;
     
    if (varform.titre.value == "selectionner"){
    alert(vide+' :\n'+titreok);
    return false;
    }
     
    else{
    varform.submit();
    }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $varFormulaire ='<form action="http://www.monsite.com/contact.php" name="formulaire" onsubmit="verificationContact(formulaire,"'. $champ_vide.'","'.$champ_titre.'");">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="matable2">
    etc
    ';
    ?>

  14. #14
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Essaye d'appeler la fonction avec des valeurs connues, et attention si tu enlèves "this" et que tu le remplace par le nom du formulaire, il faut alors mettre ce nom entre quotes.
    Donc fais un test avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="verificationContact("formulaire","champ_vide","champ_titre");">

  15. #15
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Je l'ai fait avec les 2 variables du champ formulaire qui sont connu de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="verificationContact("formulaire","nom","prenom");">
    Mais rien ne se passe. Même pas de message d'erreur pour comprendre où se trouve le problème.

  16. #16
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Tu as un lien pour tester ta page en direct ?

  17. #17
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Ce n'est pas encore en ligne. C'est sur mon serveur local. (en phase de développement) Je dois le mettre en ligne ce soir pour demain.

    Si je ne trouve pas de solution, je serai obligé de vérifier le formulaire depuis le serveur en PHP. Le seul langage que je connaîs bien. C'est vrai que Javascript est mieux vu qu'il y a bcp de champs à tester.

    J'avoue que je ne comprends pas pourquoi ça ne marche pas. C'est incroyable

  18. #18
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Montre moi ton code complet, sinon.

  19. #19
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    J'ai fait le code "Contact" comme une application qui peut gérer plusieurs langues.
    Donc
    1 fichier pour les variables de contrôles dans les langues respectives. (php)
    1 fichier pour l'application (php)
    1 fichier pour valider les champs (fonction JS)
    et le fichier index.php qui appelle toutes les applications du site.

    Mon architecture utilise le modèle MVC.
    Le code marche parfaitement sans la fonction javascript que je ne maitrise pas. Vu que le code complet est long, je pourrai tout vous envoyer par mail si vous acceptez.

    Merci bcp pour votre patience et votre aide

  20. #20
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    J'ai testé ce code simple avec mon application. Tout marche parfaitement.
    Le problème est que j'ai besoin de lui faire dire les erreurs dans les langues du site selon la langue choisie. Je ne peux pas faire autrement que de passer par des paramètres de fonction. C'est la déclaration de ces nouveaux parametres qui pose problème

    Voici le code testé qui marche correctement
    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
    function verificationContact(formulaire){
    adresse = formulaire.mail.value;
     
    if (formulaire.nom.value == ""){
    alert("Veuillez indiquer votre nom SVP");
    return false;
    }
     
    else if (formulaire.mail.value == ""){
    alert("Veuillez écrire  votre adresse e-mail");
    return false;
    }
     
    else if ((adresse.indexOf('@',0)==-1) || (adresse.indexOf('.',0)==-1)) {
    alert("Votre adresse e-mail est invalide");
    return false;
    }
     
    else{
    formulaire.submit();
    }
     
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/06/2009, 10h54
  2. Réponses: 1
    Dernier message: 20/04/2007, 09h12
  3. [PHP-JS] mettre une variable javascript dans une variable php
    Par Mounr dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2007, 09h09
  4. [PHP-JS] une variable php dans une fonction javascript
    Par megapacman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2006, 14h08
  5. [PHP-JS] une variable php dans une fonction javascript
    Par megapacman dans le forum Langage
    Réponses: 3
    Dernier message: 12/06/2006, 14h02

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