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 :

Mélanger deux FORM


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Par défaut Mélanger deux FORM
    Bonjour,

    Je sais pas si je suis exactement à la bonne place mais j'ai un souci auquel je ne trouve pas de réponse sur le net.

    J'ai un formulaire contact en HTML avec la gestion en php qui marche très bien. http://www.lafetedelamusique.ch/afm/contact.php

    En fait je voudrais y ajouter un checkbox pour demander à l'utilisateur si il veut ou pas s'inscrire directement à la Newsletter. Pour ça ce n'est pas un souci. Simplement, je ne vois pas comment ajouter la fonction qui fera l'inscription à la Newslettre en même temps que mon envoie du formulaire de contact.

    Le code de Form pour l'inscription à la NewsLetter est comme ça et séparément marche très très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Pour recevoir la Newslettre de la fête de la musique de La Chaux-de-Fonds
     
    <form method="post" action="http://admin.lafetedelamusique.ch/mail/newsletter/user/process.php?sExternalid=2b80d42f935f622a83aeb2b17f38ecf9" name="signup">
     
    <!--    Email field must be named "Email" -->
     
    <label for="email"><strong>Entrez votre Email:</strong></label>
    <input type="text" name="Email" id="email" maxlength="60" />
     
    <input type="hidden" name="pommo_signup" value="true" />
    <input type="submit" class='formlienbouton' value="Inscription" />
    </form>
    Comment faire pour que lorsque je valide le formulaire de contact ça me fasse automatiquement cette fonction ?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Salut,

    Tout dépend comment ton site web est architecturé. La solution la plus propre à mon sens serait , une fois le premier formulaire validé, de directement réaliser ou non l'inscription à la newsletter sans passer par un autre formulaire (via une la fonction qui réalise l'inscription dans le code du gestionnaire de newsletter);
    L'utilisation de deux formulaires ici étant un non sens à mon avis.

    Celà dit, en admettant que vous ne pouviez "réutiliser" la fonction d'inscription à la newsletter, il va falloir tenter de faire transiter les données nécessaires pour l'inscription à la newsletter "à la main".
    Si le formulaire newsletter accepte le GET :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Après le traitement du formulaire de contact.
    if($_POST["ckbox_nwsl"]) //si la checkbox est coché, à changer par le nom de votre checkbox...
    {
      header('location: http://admin.lafetedelamusique.ch/mail/newsletter/user/process.php?sExternalid=2b80d42f935f622a83aeb2b17f38ecf9&email='.$_POST["email"].'&pommo_signup=true')
    }
    Si il n'accepte que post, c'est un peu plus compliqué , mais faisable avec Curl ou fsockopen.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Par défaut
    Oui, mon but est justement de ne pas avoir 2 formulaire mais de pouvoir envoyer l'inscription à la newsletter directement.

    J'ai tenté votre code, après avoir compris au bout de 10 minutes qu'il manquait le ";" a la fin de la ligne . Ceci à passé sans erreur mais aucun inscriptions à la news

    Je pourrais vous mettre tous mon code php d'envoi mais ça risque de faire long. J'ai peut-être encore une idée, c'est que j'ai du changer le nom de la variable. Je continue mes test

    Mon code actuel est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // ++++++++++++++++++++++++++++++++++++++++++++++++++
    // ++++++++++ INSCRIPTIONS A LA NEWSLETTER ++++++++++
     
    if ($_SESSION['form_element8'] == "Oui") { header('location: http://admin.lafetedelamusique.ch/mail/newsletter/user/process.php?sExternalid=2b80d42f935f622a83aeb2b17f38ecf9&email='.$_POST["$form_element1"].'&pommo_signup=true');
    }
     
    // ---------- FIN DE L'INSCRIPTION A LA NEWSLETTER ----------
    // ----------------------------------------------------------
    J'ai tenté ça sur une page test mais ça ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    // ++++++++++++++++++++++++++++++++++++++++++++++++++
    // ++++++++++ INSCRIPTIONS A LA NEWSLETTER ++++++++++
     
        $Email="abc@def.com"; // j'avais une adresse réelle à moi
     
        header('location: http://admin.lafetedelamusique.ch/mail/newsletter/user/process.php?sExternalid=2b80d42f935f622a83aeb2b17f38ecf9&email='.$_POST['Email'].'&pommo_signup=true');
     
    // ---------- FIN DE L'INSCRIPTION A LA NEWSLETTER ----------
    // ----------------------------------------------------------
    ?>

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Soit j'ai pas compris où était la subtilité, soit ça devrait être simple.

    On admet que le checkbox a comme nom "form_element8" et qu'il soit dans le même formulaire ("signup").

    Suffit de vérifier s'il est coché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (isset($_POST['form_element8']) && !empty($_POST['form_element8'])) {
    	// La newsletter est cochée
    	// On met à jour cette donnée dans la Bdd par exemple
    	// On lui envoie une news par mail aussi
    }
    Pourquoi faire une redirection avec des paramètres ?
    A quoi serviront ils ces paramètres ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Par défaut
    Ce n'est pas la question de faire ou pas une redirection avec des paramètres. C'est simplement que mon formulaire est un formulaire de contact et non pas d'inscriptions à une newsletter. Je voulais simplement y ajouter cette fonction direct. Et c'est là que ça coince, je n'arrive pas à inscrire directement le mail dans la bdd de la newsletter.

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Et c'est là que ça coince, je n'arrive pas à inscrire directement le mail dans la bdd de la newsletter.
    Et pourquoi donc ?
    C'est la requête qui pose problème alors, non ?
    Est ce lié au fait que le contact.php ce trouve dans www.domaine.com et que la newsletter ce trouve dans admin.domaine.com ? Un problème de droit ?

    Tu veux appeler newsletter.php alors que tu te trouve dans contact.php, c'est ça ?
    Si c'est cela je dirais que tu te complique la vie, non ?
    Dans cette éventualité, ça doit être possible, et Curl serait surement plus adapté que des header(), car on peu envoyer des paramètres en POST.

Discussions similaires

  1. [VB]Relation entre deux form.
    Par dann dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 20/03/2006, 09h07
  2. [VB.NET] Passer une valeur de control entre deux form
    Par TheMacleod dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/12/2005, 11h07
  3. [VB .Net][Forms] Interaction entre deux forms
    Par plasticgoat dans le forum Windows Forms
    Réponses: 7
    Dernier message: 24/08/2005, 13h14
  4. comment faire communiquer deux form MDI?
    Par eponette dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2005, 12h20
  5. [VB.NET] Perte de focus entre deux form
    Par toniolol dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/07/2005, 08h00

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