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 :

lien de formulaire php vers html


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 24
    Points
    24
    Par défaut lien de formulaire php vers html
    Bonjour à tous
    Je suis tout nouveau et débutant en PHP (mais je vais faire des efforts, promis...)
    J'ai réalisé un formulaire PHP qui fonctionne pour l'envoi (contrôlé sur serveur)
    mais me pose des petits problèmes,Voici mon script (sans prétention...):

    /*
    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
    <?php
    	// creation valeur de controle	
    $verif1="$nom"
    $verif2="$email"
     
    	// enregistrement des variables formulaire
    $msg .= "Civilité..:\t$civilite\n\n";
    $msg .= "Nom.......:\t$nom\n\n";
    $msg .= "E-Mail....:\t$email\n\n";
    $msg .= "Activité..:\t$activite\n\n";
    $msg .= "Objet.....:\t$motif\n\n";
    $msg .= "Contenu...:\t$contenu\n\n";
     
    	//Traitement de l'envoi
    $recipient = "mon_adresse_mail";
    $subject = "Nouveau contact";
    $mailheaders = "From: Demande de renseignements<> \n";
    $mailheaders .= "Reply-To: $email\n\n";
    mail($recipient, $subject, $msg, $mailheaders);
     
    	//Lien vers resultat envoi
    if ($verif1 =="")||($verif2 =="") 
    {
    header('Location: ../contact/erreurEnvoi.html');
    }
    else 
    {
    header('Location: ../contact/validEnvoi.html');
    } 
    ?>
    */

    Je voudrai qu'à la fin du traitement...La page de (contrôle ?) ne s'affiche pas
    mais soit directement et automatiquement redirigée vers une autre page "xEnvoi.html".

    les 3 pages PHP et HTML sont dans le même dossier

    ca ne fonctionne pas et je n'ai que l'affichage d'une page blanche de PHP.
    Pouvez vous m'aider, merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    J'en sais un peu plus

    renvoi du serveur lors des essais

    Parse error: syntax error, unexpected T_VARIABLE in traitement.php on line 5
    (réglé) supression des deux valeurs de controle $verif1 et 2

    Parse error: syntax error, unexpected T_BOOLEAN_OR in traitement.php on line 19
    (réglé) erreur de syntaxe sur la condition if

    Parse error: syntax error, unexpected $end in traitement.php on line 33
    (réglé) un fond de script noctambule qui trainait

    j'ai donc modifié la dernière partie

    en début du php création d'une valeur pour test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $errors=0;
     
    	//Lien vers resultat envoi
    if ($nom ==""||$email =="") {
    $errors=1;}
    {
    if($errors==1) {
    header('Location: ../contact/page1.html');
    }
    else 
    {
    header('Location: ../contact/page2.html');
    } 
    ?>
    et là je suis perdu avec ce message

    Warning: Cannot modify header information -
    headers already sent by (output started at /contact/traitement.php:2) in traitement.php
    on line 28

  3. #3
    jnore
    Invité(e)
    Par défaut
    Salut et bienvenue,

    Edite tes tes messages et utilise le # (Balise code ) pour y insérer tes scripts.
    Pour l'instant tes messages ne sont pas engageants.

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Points : 182
    Points
    182
    Par défaut
    Je ne comprend pas : tu dis que tes pages sont dans le même dossier et dans ton header tu remontes? Désolé si j'ai raté quelque chose . Ensuite le code que tu nous a fourni correspond t-il à toute la page?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    Bonjour jnore

    Oups ! désolé
    je ne suis pas très familiarisé avec ce forum...
    utilise le # (Balise code )
    tu veux dire mettre un # devant chaque ligne du script à la place de /*
    je vais essayer (si ce n'est pas ça ne m'en veut pas trop et dit moi.)
    messages peu engageant ? que veux-tu dire...

    Bonjour yann0807

    donc dans mon www, j'ai un dossier qui se nomme "contact"
    et dans lequel se trouve mes pages de formulaire
    formulaire.html
    traitement.php
    envoi.html
    erreur.html

    et voici la dernière mouture que je vais essayer cette nuit
    (php complet) sans blanc ou balises html

    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
    <?php
     $msg .= "Civilité..:\t$civilite\n\n";
     $msg .= "Nom.......:\t$nom\n\n";
     $msg .= "E-Mail....:\t$email\n\n";
     $msg .= "Activité..:\t$activite\n\n";
     $msg .= "Objet.....:\t$motif\n\n";
     $msg .= "Contenu...:\t$contenu\n\n";
     $recipient = "mon-adresse_de_reception";
     $subject = "Nouveau contact";
     $mailheaders = "From: Demande de renseignements<> \n";
     $mailheaders .= "Reply-To: $email\n\n";
     mail ($recipient, $subject, $msg, $mailheaders);
     if ($nom =="" || $email =="")
     {
     header('Location: erreur.html');
     }
     else 
     {
     header('Location: envoi.html');
     } 
     ?>
    effectivement dans mon header je remontai à la racine
    (j'ai lu cela sur un site d'éviter de mettre des chemins relatif...)
    Je vais donc essayer en classique, même dossier donc lien direct.

    pour l'instant le mail est bien envoyé
    mais le php se fige sur une page blanche et l'accès automatique à erreur ou envoi.html ne se fait pas.

    Grand merci pour votre aide

  6. #6
    jnore
    Invité(e)
    Par défaut
    Citation Envoyé par Patounoff Voir le message
    Bonjour jnore

    Oups ! désolé
    je ne suis pas très familiarisé avec ce forum...

    tu veux dire mettre un # devant chaque ligne du script à la place de /*
    je vais essayer (si ce n'est pas ça ne m'en veut pas trop et dit moi.)
    messages peu engageant ? que veux-tu dire...
    Rien de grave.
    Tous les scripts que tu copies dans le corps du message doivent être insérés dans les balises que tu obtiens en cliquant sur le #.
    En ne le faisant pas, cela nuit à la lisibilité, d'où le fait qu'ils ne sont pas engageants à lire.
    Sinon, il n'y a pas de problème.
    Bon courage pour la suite.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    donc si jai bien compris je clique sur la balise code
    je colle tout mon petit fourbis php ou html à linterieur
    et roule la bidouille...

    merci.

  8. #8
    jnore
    Invité(e)
    Par défaut
    Citation Envoyé par Patounoff Voir le message
    donc si jai bien compris je clique sur la balise code
    je colle tout mon petit fourbis php ou html à linterieur
    et roule la bidouille...

    merci.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    Aprés suppression des espaces, des lignes vides et balises html.
    puis modification du test "if" et changement de l'adressage de lien
    on en est là:
    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
    <?php
    $msg .= "Civilité..:\t$civilite\n\n";
    $msg .= "Nom.......:\t$nom\n\n";
    $msg .= "E-Mail....:\t$email\n\n";
    $msg .= "Activité..:\t$activite\n\n";
    $msg .= "Objet.....:\t$motif\n\n";
    $msg .= "Contenu...:\t$contenu\n\n";
    $recipient = "mon_adresse@teufteuf.fr";
    $subject = "Nouveau contact";
    $mailheaders = "From: Nom_de_mon_site<> \n";
    $mailheaders .= "Reply-To: $email\n\n";
    mail ($recipient, $subject, $msg, $mailheaders);
    if ($nom =="" || $email =="")
    {
    header('Location: erreur.html');
    }
    else 
    {
    header('Location: envoi.html');
    } 
    ?>
    tout fonctionne sous IE et Firefox reste un petit problème avec IE
    l'appel de ma page formulaire et le header (page erreur ou envoi) s'ouvrent en fenêtre réduite ...
    vous auriez une idée ? Merci...

  10. #10
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Points : 182
    Points
    182
    Par défaut
    Au lieu de header tu peux aussi utiliser ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<script>window.location.replace('tapage.php')</script>";
    Peut-être ceci réglera ton problème.

    D'ailleurs j'édite pourquoi ne pas utiliser un pop-up pour préciser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo "<script>alert(\"Erreur...\")</script>"; 
    echo "<script>window.location.replace('erreur.html')</script>";

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    Merci Yan
    Merci pour l'idée je la met sous le coude,
    entre temps et après modifs...

    Le problème semblait venir en amont, lorsque j'appelais ma page de formulaire qui s'ouvrait en format réduit
    (Flash vers formulaire)
    Maintenant l'ouverture des trois pages (formulaire, envoi ou erreur) parait correcte, en plein écran.
    //sur ma page flash

    On(release) {
    getURL("contact/formulaire.html","_blank");
    }

    // j'ai modifié l'instruction

    on (release) {
    getURL("contact/formulaire.html","_top");
    }
    d'autre part sur mon formulaire
    j'avais 3 boutons submit (valider effacer et fermer)
    J'ai modifié le bouton submit "fermer" qui n'appelle pas une fonction mais un lien.

    // Sur mon formulaire html

    <input type="button" value="Fermer" OnClick="window close()">

    // devient

    <input type="button" value="Fermer" OnClick="window.location.href='../index.html'">
    Actuellement en local tout à l'air de fonctionner correctement.
    Il ne me reste plus qu'a attendre cette nuit pour les essais de contrôle.
    Merci pour tes conseils... à peluche

  12. #12
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Points : 182
    Points
    182
    Par défaut
    Ravi de voir que ça fonctionne,n'hésite pas si tu as des problèmes.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    Donc en résumé:

    sur ma page flash pour ouvrir mon formulaire html en plein écran
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    on (release) {
    getURL("contact/formulaire.html","_top");
    }
    Sur mon formulaire html pour fermer le formulaire et retourner à l'index ne pas utiliser un submit
    penser à enlever les ../ si la page est dans le même dossier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="Fermer" OnClick="window.location.href='../index.html'">
    pour le PHP du formulaire
    pas d'espaces ou de balises html
    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
    <?php
    $msg .= "Civilité..:\t$civilite\n\n";
    $msg .= "Nom.......:\t$nom\n\n";
    $msg .= "E-Mail....:\t$email\n\n";
    $msg .= "Activité..:\t$activite\n\n";
    $msg .= "Objet.....:\t$motif\n\n";
    $msg .= "Contenu...:\t$contenu\n\n";
    $recipient = "mon_adresse@paf_la_mouche.fr";
    $subject = "Nouveau contact";
    $mailheaders = "From: le nom de mon site<> \n";
    $mailheaders .= "Reply-To: $email\n\n";
    mail ($recipient, $subject, $msg, $mailheaders);
    if ($nom =="" || $email =="")
    {
    header('Location: ma_page_personalisée-erreur.php');
    }
    else 
    {
    header('Location: ma_page_personalisée-envoi.php');
    } 
    ?>
    Le plus gros du fourbis tourne (sauf sous linux) maintenant je passe au fignolage.
    Merci pour l'aide

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

Discussions similaires

  1. [MySQL] [PHP] du formulaire php vers easyphp
    Par beurknbba dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/08/2009, 13h50
  2. Envoi Formulaire php vers Excel ou Autre
    Par ju3979 dans le forum Langage
    Réponses: 1
    Dernier message: 17/12/2008, 21h53
  3. RewriteRule de Php vers Html
    Par Gunner4902 dans le forum Apache
    Réponses: 10
    Dernier message: 22/09/2008, 11h48
  4. [URL Rewriting] rediriger .php vers .html
    Par Gunner4902 dans le forum Apache
    Réponses: 8
    Dernier message: 27/12/2007, 08h59
  5. Formulaires ? PHP ou HTML ?
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 15/11/2005, 10h22

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