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

Fermé
delirium - 5 mai 2007 à 19:19
 dana - 7 juin 2008 à 09:52
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

4 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
5 mai 2007 à 19:48
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
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
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
5 mai 2007 à 20:21
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
et appeler un script java dans la premiere parti du if ?

genre : if(conditions=1) (lancer script java redirection auto) else(....)
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922 > delirium
5 mai 2007 à 23:25
non, 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
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922 > delirium
6 mai 2007 à 11:56
salut,

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
delirium > delirium
7 mai 2007 à 00:05
le 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
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
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
7 févr. 2008 à 23:46
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
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