8791 sujets

Développement web côté serveur, CMS

Bonjour
J'ai un souci avec le renvoi d'une variable vers une page après une redirection.
La redirection dans le fichier mail.php :
//Redirection une fois le bouton envoyé cliqué//
$validation = "Votre message a bien été envoyé et nous vous en remercions.";
Header("Location:  http://contreverresetbasseapied.fr/#contact");
 
?>


La partie de la page index.php qui devrait recevoir le contenu de $validation :
         <span class="valid-text"><?php
echo $validation;?></span>

en dessous cela il y a le formulaire.
Je voudrais que le contenu de $validation s'affiche une fois que le bouton envoyer a été cliquer et le mail envoyer.

Je n'y arrive malheureusement pas malgré tous mes essais et recherches

Merci de votre aide
Je le trouve joli, ce site one page !

Le mieux serait, je pense, de faire une soumission de formulaire en Ajax. JQuery est déjà embarqué dans le site, autant en profiter. Je ne sais quels tutos te conseiller, je te laisse fureter. Comme ça, pas besoin d'une redirection, et autre avantage, un traitement des retours (ok ou erreur) mieux intégré à ce site tout cool.

Sinon, en attendant une implémentation en Ajax, dans mail.php, tu pourrais faire une redirection du genre http://contreverresetbasseapied.fr/?ret=0#contact. La valeur 0 pour "ret" correspondrait à OK, un autre entier à tel ou tel code d'erreur. Et dans index.php, il te resterait à tester le paramètre $_GET['ret'] et à afficher le texte en conséquence.
Modifié par petibato (12 Sep 2013 - 22:47)
petibato (joli pseudo)
Merci pour le compliment.

Si je comprends bien la démarche je ne sais pas précisement comment faire, je n'y connait pas grand chose voir rien en php. Faut-il que je fasse cela :
<span class="valid-text"><?php
$_GET['ret'] "Votre message a bien été envoyé et nous vous en remercions."?></span>


Merci
Plutôt quelque chose comme ça :

if (isset($_GET['ret'])) {
	$ret = (int) $_GET['ret'];
	$msg = ($ret == 0)?"Message envoyé":"Erreur lors de l'envoi du message";
	echo "<span class='valid-text'>$msg</span>";
}

Modifié par petibato (12 Sep 2013 - 23:29)
Et je mets cela où ?
A la fin de mon fichier mail.php
ou dans le fichier index.php a la place de
<span class="valid-text"><?php
$_GET['ret'] "Votre message a bien été envoyé et nous vous en remercions."?></span>

Excuses par avance mes questions qui doivent te paraître préssentent mais j'ai beaucoup de mal a comprendre la syntaxe du php.
Quand je le lis je comprends a peu prêt ce qui se passe mais de là a l'écrire je n'y arrive pas.
Dans mail.php :

// Redirection avec ret=0 pour signaler que c'est OK
Header("Location:   http://contreverresetbasseapied.fr/?ret=0#contact");


Dans index.php, à la place de <span>...</span> :

<?php
if (isset($_GET['ret'])) {
	$ret = (int) $_GET['ret'];
	switch ($ret) {
		case 0 :
			$msg = "Votre message a bien été envoyé et nous vous en remercions.";
			break;
		case 1 :
			$msg = "Message d'erreur correspondant au code 1";
			break;
		case 2 :
			$msg = "Message d'erreur correspondant au code 2";
			break;
		default :
			$msg = "Message d'erreur correspondant à un code inconnu";
	}
	echo "<span class='valid-text'>$msg</span>";
}
?>


J'ai rajouté un switch pour le traitement des différents codes d'erreur si ça t'est utile.