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] popup avec renvoi d'informations


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut [PHP-JS] popup avec renvoi d'informations
    bonjour
    je débute plus ou moins en php javascript html ...
    voilà j'ai ces quelques lignes dans un script 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
     
    <b>Commentaire : </b><br>
    <TEXTAREA readonly name="commentaire" rows="5" cols="50"><? echo $commentaires_app; ?></TEXTAREA>
    <tr>
    <td><input type="button" name="ajout_comment" value="Ajouter un commentaire" onclick="Commentaire('commentaire.php',450,150,'menubar=no,scrollbars=no,statusbar=no,modal')"></td></tr>
    </tr>
     
    <SCRIPT LANGUAGE=JavaScript>
     
    function Commentaire(page,largeur,hauteur,options)
    {
      var top=(screen.height-hauteur)/2;
      var left=(screen.width-largeur)/2;
      window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
    }
     
    </SCRIPT>
    quand je clique sur le bouton ça m'ouvre une fenêtre popup commentaire.php qui devrait me permettre de saisir un commentaire et de l'envoyer vers le champ textarea "commentaire" pour l'afficher soit à la place de ceux existants soit à la place peu importe
    ensuite je dois soumettre le nouveau commentaire pour l'ajouter dans une table sql

    dans commentaire.php je mettrai un textarea "nouv_comment" pour la saisie du commentaire
    est ce que je dois mettre aussi un formulaire ?
    cvomment transmettre ensuite ma saisie vers le champ textarea "commentaire" ?

  2. #2
    Membre confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Salut !

    Dans la page commentaires (le popup qui s'ouvre) il faut que tu fasses comme si c'était une page normale. Il te faut donc :

    - Un formulaire, ou action pointera vers un script php qui te permettra d'enregistrer les valeurs dans la base
    - Les divers champs textes

    Lorsque la personne aura taper son commentaire elle cliquera sur un bon soumettre par exemple, qui va déclencher l'action du formulaire. De là la page va être redirigé vers un script php dans lequel tu vas enregistrer les données du formulaire dans la base, et éventuellement à la fin de script, tu fais des echo qui vont écrire un code javascript qui peut fermer le popup.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '<script type="text/javascript">';
    echo '   window.parent.refresh();';
    echo '   self.close();';
    echo '</script>
    A vérifier pour la syntaxe exacte de refresh et close, je n'ai plus fais de js depuis quelques temps, mai l'esprit est là.
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut
    ok
    un formulaire qui va soumettre le nouveau commentaire vers un script qui alimente la table sql
    un refresh qui réaffichera ma page principale avec le nouveau commentaire

  4. #4
    Membre confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Tout compris, y a plus qu'à !

    N'oublie pas le tag "Résolu" dans le titre de ton sujet, merci !
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut
    le rafraichissement de la page et la fermeture du popup ne fonctionnent pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
      <!Fermeture du popup>
      <script type='text/javascript'>
      alert("ok");
      window.parent.refresh();
      self.close();
      </script>
    j'ai essayé aussi avec ta syntaxe et également en inversant cotes et guillemets sans succès

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut
    voilà comment j'ai fait :

    dans ma page principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <b>Commentaire : </b><br>
    <TEXTAREA readonly name="commentaire" rows="5" cols="50"><? echo $commentaires_app; ?></TEXTAREA>
     
    <SCRIPT LANGUAGE=JavaScript>
     
    function Commentaire(page,largeur,hauteur,options)
    {
      var top=(screen.height-hauteur)/2;
      var left=(screen.width-largeur)/2;
      window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
    }
    dans commentaire.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
     
    <?
    //AJOUT D'UN COMMENTAIRE
    //**********************
     
     
    //Ouverture de session et connexion à la BDD
    session_start(); 
    require "../config.php";
     
     
    $mat_util = $_GET["mat_util"];
    $no_di = $_GET["no_dem"];
    $typ_com = $_GET["typ_com"];
     
    if (isset($_POST["valide"]) && $_POST["nouv_comment"] != NULL)
    {
      $commentaire = $_POST["nouv_comment"];
      //Mise à jour de la table T_COMM
      $sql_insert_DI = "INSERT INTO `t_comm` (no_com, lib_com, typ_com, mat_util, no_di, no_crit, no_niv) VALUES ('', '$commentaire', '$typ_com' , '$mat_util', '$no_di', NULL , NULL)";
      $req_insert_DI = mysql_query($sql_insert_DI) or die( mysql_error() ) ;
    }
    ?>
     
    <form method="POST" action="commentaire.php?mat_util=<? echo $mat_util ?>&no_dem=<? echo $no_di ?>&typ_com=<? echo $typ_com ?>">
     
    <b>Commentaire : </b><br>
    <TEXTAREA name="nouv_comment" rows="5" cols="50"></TEXTAREA>
     
    <table cellspacing=10>
     
    <! BOUTON DE VALIDATION avec message de confirmation>
    <tr>
    <td><input type="submit" name="valide" value="Valider" onclick="window.close()"></td>
    </form>
     
    <! BOUTON D'ANNULATION : retour à la page d'accueil>
    <form>
    <td><input type="button" value="Annuler" onclick="self.close();"></td>
    </tr>
     
    </table>
    </form>
    j'ai réglé le pb de fermeture du popup, la table est bien mise à jour
    seul souci : comment ensuite recharger ma page principale ?

  7. #7
    Membre confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Tu peux essayer avec ça, mais je ne garantie rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.parent.location.reload(true);
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut
    la fonction jacascript dans dans commentaire.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <!Ferme le popup et rafraichit l'affichage de la demande>
    <SCRIPT LANGUAGE=JavaScript>
    function fermer_popup()
    {
    self.close();
    opener.location.reload();
    }
    </SCRIPT>
    le popup se ferme, la page principale se rafraichit mais la mise à jour de la table sql ne se fait pas
    par contre si je vire la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    opener.location.reload();
    pas de rafraichissement mais la table se met à jour !!!

    je travaille en local (client /serveur même machine)
    comment faire ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut
    c bon j'ai trouvé

    commentaire.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
     
    <?
    //AJOUT D'UN COMMENTAIRE
    //**********************
     
     
    //Ouverture de session et connexion à la BDD
    session_start(); 
    require "../config.php";
     
     
    $mat_util = $_GET["mat_util"];
    $no_di = $_GET["no_dem"];
    $typ_com = $_GET["typ_com"];
     
    if (isset($_POST["valide"]) && $_POST["nouv_comment"] != NULL)
    {
      $commentaire = $_POST["nouv_comment"];
      //Mise à jour de la table T_COMM
      $sql_insert_DI = "INSERT INTO `t_comm` (no_com, lib_com, typ_com, mat_util, no_di, no_crit, no_niv) VALUES ('', '$commentaire', '$typ_com' , '$mat_util', '$no_di', NULL , NULL)";
      $req_insert_DI = mysql_query($sql_insert_DI) or die( mysql_error() ) ;
     
     
      //Fermeture du popup et rafraichissement de la demande
      ?>
      <SCRIPT LANGUAGE=JavaScript>
      self.close();
      opener.location.reload();
      </SCRIPT>
      <?
     
    }
    ?>
     
    <form method="POST" action="commentaire.php?mat_util=<? echo $mat_util ?>&no_dem=<? echo $no_di ?>&typ_com=<? echo $typ_com ?>">
     
    <b>Commentaire : </b><br>
    <TEXTAREA name="nouv_comment" rows="5" cols="50"></TEXTAREA>
     
    <table cellspacing=10>
     
    <! BOUTON DE VALIDATION avec message de confirmation>
    <tr>
    <td><input type="submit" name="valide" value="Valider")"></td>
    </form>
     
    <! BOUTON D'ANNULATION : retour à la page d'accueil>
    <form>
    <td><input type="button" value="Annuler" onclick="self.close();"></td>
    </tr>
     
    </table>
    </form>
    mettre le script javascript juste après la mise à jour de la table, c'était logique
    le mettre dans le onclick d'un bouton submit ... un peu moins les pinceaux s'emmêlent

    merci à toi c'est galère quand on connait pas trop

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

Discussions similaires

  1. [PHP-JS] Eviter le renvoi d'informations
    Par Him dans le forum Langage
    Réponses: 1
    Dernier message: 13/06/2006, 16h24
  2. [PHP-JS] Comment forcer le renvoi d'informations ?
    Par jejerome dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2006, 09h55
  3. ouverture popup avec un paramètre => variable php
    Par gmonta31 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/03/2006, 08h59
  4. Ouverture d'une popup avec affichage d'information
    Par leloup84 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/02/2006, 19h53
  5. ouvrir une popup avec php
    Par Defrancesco dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/10/2005, 10h34

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