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 :

[Javascript] je cale popup


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut [Javascript] je cale popup
    Salut a tous ,
    je debute et je cale depuis déja qq jours ,
    que doit-je faire pour que la page 2 soit une popup qui se declenche au bouton envoyer de la page 1.
    jusqu'a la quand j'insere le script de la popup la page 2 souvre en popup mais j'inscris rien dans la table et j'ai un message
    "Notice: Undefined index: email in c:\program files\easyphp1-7\www\mail\insert_client.php on line 14"


    page 1:
    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
    <?PHP
    require_once('param_connect.php');
    ?>
    <html>
    <head>
    <title>saisie_client.php</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <form name="form1" method="post" action="insert_client.php">
    <table width="225" border="1">
    <tr>
        <td colspan="2"><center>Inscrivez vous a la newsletter </center></td>
      </tr>
      <tr>
    <td><input type="text" name="email" value="entrée votre email" maxlength="100"   ></td>
      </tr>
      <tr>
      <td>
    <input type="submit" value="Envoyer"></td>
      </tr>
    </table>
    </form>
    </body>
    </html>
    Page2:

    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
    <?PHP
    /*insert_client.php*/
    require_once('param_connect.php');
    $email=$_POST['email'];
    $R="insert into email (email) values('$email')";  //      [b]ligne 14[/b]
    $Rq=mysql_query($R);
    $R1="select * from mail where '$email'";
    $Rq1=mysql_query($R1);
    ?>
    <a href="saisie_client.php">Modifier</a>
    <html>
    <body>
    <p><center>Vous etes incris a la newsletter </center></p>
    <form method="post">
    <p align="center"><input type="button" name="B1"
    value="Fermer la fenêtre" onClick="window.close()"></p>
    </form>
    </form>
    </body>
    </html>

    Merci d'avance
    Nébil

    Balises code ajoutées par Le_coyote. Merci d'y penser la prochaine fois

  2. #2
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Bonjour nebil,

    1) Utilise les balises code, c'est plus lisible
    2) quand tu fais une requête prend la bonne habitude de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    or die ('erreur requête'.mysql_error())
    3) à la ligne 16, ta table se nomme mail alors qu'à la ligne 14 elle se nomme email.

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Je présume que cela vient en fait de la ligne qu tu présentes ici comme étant le numéro 13 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $email=$_POST['email'];
    Undefined index signifie que tu accèdes à un élément de tableau alors que cet élément n'existe pas. J'imagine, comme l'a suggéré papyphp, que ce champ s'appelle "mail" dans ton formulaire et que tu tentes d'y accéder ici par l'index "email".

    En outre, tu t'en rendras compte en mettant en place les suggestions de papyphp, ta requête $R1 est incorrecte car la condition WHERE ne s'écrit pas comme cela.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    Merci
    Ok , je vais changer le mail en email ,
    mais tu peut me dire que doit-je faire pour que la page 2 soit une popup
    au click du bouton envoyer de la page 1.
    parceque sans le javascript pour la popup sa marche mais dés que j'insére le script , c'est la ou je me retrouve avec message d'erreur.

    merci a toi

  5. #5
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    popup = js

    Je suis nul en js mais je suppose que c'est à cause du js que tes données ne sont pas transmises par POST --> tu ne les récupères pas. Donc $_POST['mail'] ne contient rien. (utilise isset() pour en être certain)

    Ceci étant dit, pourquoi ne pas continuer avec php ?
    Dans ta page 2 tu récupère les données, tu les vérifie du point de vue sécurité, tu les traite et tu redirige le client vers la page de ton choix avec, par exemple, un header().

  6. #6
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Par défaut
    Pour ouvrir la page 2 en popup utilise cette fonction javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function popup(page){
    window.open(page,'description',"width=500,height=600,left=500,top=100");
    }
    et dans ton code HTML:
    ex <A HREF='javascript:;' onClick=popup('ta page 2')>bla bla </A>

    Balises code ajoutées par Le_coyote. Merci d'y penser la prochaine fois

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    rellik45 ,
    j'ai inserer le js la popup fonctionne, mais rien dans la table , voila le message recu

    " Notice: Undefined index: email in c:\program files\easyphp1-7\www\mail\insert_client.php on line 14 "

    papyphp ,
    je crois que tu as raison ,
    le fait d'avoir du js entre les balises form empeche
    la valeur du champ email d'etre posté vers la pages 2 et donc le message
    dit qu'il n'identifie pas l'index email .

    mais alors comment faire une popup en php ?


    page 1

    <?PHP
    require_once('param_connect.php');
    ?>
    <html>
    <head>
    <title>newsletter</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <SCRIPT language="JavaScript">
    function popup(page)
    { window.open(page,'description',"width=500,height=600,left=500,top=100");
    }
    </SCRIPT>
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <form name="form1" method="post" action="insert_client.php">
    <table width="225" border="1">
    <tr>
    <td colspan="2"><center>Inscrivez vous a la newsletter </center></td>
    </tr>
    <tr>
    <td><input type="text" name="email" value="entrez votre email" maxlength="100" ></td>
    </tr>
    <tr>
    <td>
    <A HREF='javascript:;' onClick=popup('insert_client.php')>
    <input type="submit" value="Envoyer"></A></td>
    </tr>
    </table>
    </form>
    </body>
    </html>

    page 2

    <?PHP
    /*insert_client.php*/
    require_once('param_connect.php');
    $email=$_POST['email'];
    $R="insert into email (email) values('$email')"; //ligne14
    $Rq=mysql_query($R);
    $R1="select * from email where '$email'";
    $Rq1=mysql_query($R1);
    ?>
    <a href="saisie_client.php">Modifier</a>
    <html>
    <body>
    <p><center>Vous etes incris a la newsletter </center></p>
    <form method="post">
    <p align="center"><input type="button" name="B1"
    value="Fermer la fenêtre" onClick="window.close()"></p>
    </form>
    </form>
    </body>
    </html>

  8. #8
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    C'est bien ce que je te disais, quand tu ouvre une popup, tu ne soumets pas le formulaire donc ta variable $_POST['email'] n'existe pas

  9. #9
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Par défaut
    si tu veux le réaliser en js essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function popup(page)
    { 
    page=page.'?email='.document.form1.email.value;
    window.open(page,'description',"width=500,height=600,left=500,top=100");
    }
    Par contre, pour recupérer la valeur contenue dans email il faut utiliser $_GET["email"][/code]

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    apres avoir inseré le nouveau js
    voila l'erreur

    Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp1-7\www\mail\insert_client.php on line 14


    page 1

    <?PHP
    require_once('param_connect.php');
    ?>
    <html>
    <head>
    <title>newsletter</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <SCRIPT language="JavaScript">
    function popup(page)
    {
    page=page.'?email='.document.form1.email.value;
    window.open(page,'description',"width=500,height=600,left=500,top=100");
    }
    </SCRIPT>

    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <form name="form1" method="post" action="insert_client.php">
    <table width="225" border="1">
    <tr>
    <td colspan="2"><center>Inscrivez vous a la newsletter </center></td>
    </tr>
    <tr>
    <td><input type="text" name="email" value="entrez votre email" maxlength="100" ></td>
    </tr>
    <tr>
    <td>
    <A HREF='javascript:;' onClick=popup('insert_client.php')>
    <input type="submit" value="Envoyer"></A></td>
    </tr>
    </table>
    </form>
    </body>
    </html>


    page 2


    <?PHP
    /*insert_client.php*/
    require_once('param_connect.php');
    $email$_GET["email"][/code] // la fameuse ligne 14
    // $email=$_POST['email'];
    $R="insert into email (email) values('$email')"; //
    $Rq=mysql_query($R);
    $R1="select * from email where '$email'";
    $Rq1=mysql_query($R1);
    ?>
    <a href="saisie_client.php">Modifier</a>
    <html>
    <body>

    <p><center>Vous etes incris a la newsletter </center></p>
    <form method="post">
    <p align="center"><input type="button" name="B1"
    value="Fermer la fenêtre" onClick="window.close()"></p>
    </form>
    </form>
    </body>
    </html>

  11. #11
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Par défaut
    $email$_GET["email"][/code] // la fameuse ligne 14
    // $email=$_POST['email'];
    sa serait mieux comme sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $email=$_GET["email"]
    Sinon pour concaténation de chaine en javascript c'est pas "." mais "+".

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    sa marche pas sa ecris en bas a gauche de mon navigateur
    javascrip:;

    mais aucune popup ne s'ouvre ni rien ne s'ecris dans la table.
    sa ouvre aussi une console qui dit

    -Attempt to load a javascript: URL from one host
    in a window displaying content from another host
    was blocked by the security manager.

    -Les scripts ne peuvent pas fermer une fenêtre qui n'a pas été ouverte par un script.

    tu sais je connais absolument rien au javascript .
    en tous cas merci de ton aide , j'espere qu'on va y arrivé.

  13. #13
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Par défaut
    Pour lancer le popup remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <A HREF='javascript:;' onClick=popup('insert_client.php')>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <A HREF='javascript:;' onClick="popup('insert_client.php')">
    et pour dans le code javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function popup(page)
    {
    page=page+'?email='+document.form1.email.value;
    window.open(page,'description',"width=500,height=600,left=500,top=100");
    }
    Normalment sa devrai marcher

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    bon maintenant la popup s'ouvre
    mais le message d'erreur suivant s'affiche

    Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp1-7\www\mail\insert_client.php on line 20

    <?PHP
    /*insert_client.php*/
    require_once('param_connect.php');

    //$email=$_GET["email"]
    // $email=$_POST['email'];


    $email=$_POST['email']
    $R="insert into email (email) values('$email')"; // la ligne 20
    $Rq=mysql_query($R);
    $R1="select * from email where '$email'";
    $Rq1=mysql_query($R1);
    ?>

    <a href="saisie_client.php">Modifier</a>
    <html>
    <body>

    <p><center>Vous etes incris a la newsletter </center></p>
    <form method="post">
    <p align="center"><input type="button" name="B1"
    value="Fermer la fenêtre" onClick="window.close()"></p>
    </form>
    </form>
    </body>
    </html>

  15. #15
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Par défaut
    ta oublié un ";" pour $email=$_POST['email'] .
    Utilise $email=$_GET['email']; comme on les envoie plus en POST

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    bon ba sa marche maintenant et grace a toi ,
    jsuis vraiement nul .

    mille merci

    maintenant quel fonctionne je vais essayé de l'amelioré ,
    effacer le contenu de la valeur du champs par defaut a l'entrée du curseur

    etc.... mais je pense que le plus difficile est fait maintenant

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

Discussions similaires

  1. Redirection javascript d'une popup à travers une iframe parente
    Par l.ponchon dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 13/02/2013, 16h10
  2. Javascript et PHP -- popup image
    Par ptitelolo dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 14/05/2007, 15h04
  3. [Javascript] Redimension de popup
    Par Djoul dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/01/2007, 08h13
  4. [Javascript] ouvrir un popup une fois
    Par PAYASS59 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/06/2006, 04h38
  5. [VB.NET][Javascript]Focus sur popup
    Par Dnx dans le forum ASP.NET
    Réponses: 6
    Dernier message: 08/11/2005, 16h10

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