Php.... if(conditions=1){affichage page html}

bonjour,

j'ai une partie de code php ci dessous :

if(@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){
// mail envoyé
donc affichage direct de la page de remerciement ...
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n";
}
}

J'ai essayé avec Header("Location: ./merci.html"); mais ca ne fonctionne pas.. une petite aide... merci
Configuration: Windows XP
Firefox 2.0.0.3

4 réponses

  1. Contributeur
    salut,

    pourrais-tu nous en dire un peu plus ?
    qu'est-ce qui ne marche pas ?
    si tu veux envoyer un header il ne faut envoyer aucun caractère avant.
    il y avait un article dans la faq, je ne le retrouve pas.

    et à priori, il vaudrait mieux le rédiger ainsi :
    header("Location:../merci.html");

    0
    1. le propleme c'est que j'inclu l'affichage de mon formulaire avant c'est pour ca que je peux pas utiliser le Header.. une autre alternative ?
      0
      1. Contributeur
        tu dois pouvoir le gérer autrement.

        tu ne peux pas mettre le traitement dans un script à part qui renverrai via header soit vers le formulaire soit vers le remerciement ?
        0
      2. et appeler un script java dans la premiere parti du if ?

        genre : if(conditions=1) (lancer script java redirection auto) else(....)
        0
      3. Contributeur
        @deliriumnon, je pensais à un script php…

        - formulaire
        - script php qui envoie le mail
        - page de remerciement

        le formulaire execute le script d'envoi de mail
        dans le script:
        - si mail() alors redirection remerciement
        - sinon redirection formulaire
        0
      4. Contributeur
        @deliriumsalut,

        la nuit porte conseil…
        dans mon post précédent je pense avoir été chercher une solution bien compliquée pour peu de chose…

        comment ce fait-il que tu envoies le code du formulaire avant le header ?
        le script php qui traite l'envoie du mail est situé où ? dans un fichier séparé où dans le même fichier que le formulaire html ? dans ce dernier cas il suffirait d'inverser formulaire et traitement.
        0
      5. @deliriumle script qui traite du formulaire est situé avant la parti html... avec dans la parti html la gestion de la fonction décrite ci dessus... c'est peut etre la le pb....
        0
    2. salut tt le monde ,j'ai un petit probleme
      je veux la disponibilité de chambres d'1 hotel ,j'ai fais une requete ,et une boucle if pour verifier s'il y a la demande du client
      voici le code

      <body>
      <form>
      <table border=1 >
      <tr><td>
      <input type="text" name="nbre" />
      </td></tr>
      <tr><td> nombre de chambres </td>
      <td><input type="text" name="nbr" /></td>
      </tr>
      <tr>
      <td>type de chambre</td>
      <td>
      <select name="typechambre">
      <option></option>
      <option >single</option>
      <option >double</option>
      <option >suite geniors</option>
      <option >suite seniors</option>
      </select>
      </td>
      <tr>
      <input type="submit" value="verifier" />
      <? mysql_connect("localhost","root","");
      mysql_select_db ("bd_php");
      $req=mysql_query ("select count (*) as nbre from chambre where etat='dispo' ")
      if ( $req => nbr )
      // c là ou je ne c koi faire
      // je veux redirectioner le client vers le formulaire pour le remplir
      </body>
      </html>

      merci d'avance
      0
      1. Contributeur
        salut,

        fais ton test en tout début de document (aucun caractère avant la balise PHP !) et redirige avec 'header()'.
        if ( $req => nbr )
        {
        header( 'Location: http://www.domaine.tld/formulaire.php' );
        }
        0
        1. Bonjour,
          j'ai creer un site web mais j'ai un probléme dans la partie envoi des mails au niveau Exchange,
          je sais pas comment je le fais,
          0