chargement automatique d'une page

antoine-cr
Invité n'ayant pas de compte PHPfrance

27 sept. 2006, 18:57

Bonjour,
J'ai trouvé plusieurs posts sur le forum à ce sujet mais il me faudrait quelques précisions.
J'ai construit un formulaire avec chronoform pour des réservations. Lorsqu'il n'y a plus de place un message s'affiche mais les utilisateurs peuvent tout de même remplir le formulaire.
Je souhaiterais remplacer le message par une redirection automatique vers une autre page.

Voici mon code :

Code : Tout sélectionner

if ($champ26<20) {echo $champ26." places sur 20";} else {echo "<b>Il ne reste plus de places<br>Merci pour votre compréhension</b>";};
Peut-être que la fonction header permet cela mais je n'ai pas saisi comment l'insérer.

Merci.
Antoine.

Petit nouveau ! | 9 Messages

27 sept. 2006, 19:54

Bonsoir,

Pour utiliser la fonction header, tu dois ne rien avoir envoyer même pas un espace.
header("Location: http://www.phpfrance.com/")
Cette exemple te renverra sur le site phpfrance.

Peut-être qu'une solution en javascript serait plus adapté à ton cas...

@+
Poulou

antoine-cr
Invité n'ayant pas de compte PHPfrance

28 sept. 2006, 02:01

le message s'affice dès que les utilisateurs arrivent sur la page donc ils n'ont rien envoyé. Par conte je ne comprends pas comment pas comment employer la fonction. Je n'ai aucune connaissance en php. Juste en spip. C'est pour ça que j'ai ulisé chronoform.
merci pour la réponse.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 sept. 2006, 11:24

if ($champ26<20) { // si la valeur de $champ26 est inférieure à 20
  echo $champ26." places sur 20"; // affiche le nombre de places
} 
else { // sinon (la valeur de $champ26 est supérieure ou égale à 20)
  echo "<b>Il ne reste plus de places<br>Merci pour votre compréhension</b>"; // affiche le message d'info 
}
Il te suffit donc en principe de remplacer la ligne "echo" du message d'information par le code donné par Poulou (sans le "<?php" qui a été ajouté sauvagement :)) et en modifiant l'url pour aller vers la page désirée.

En revanche, si tu as déjà du html affiché au préalable, ce qui est plus que probable, cela risque de te faire un message d'erreur et de ne pas faire la redirection.

La solution javascript :

Code : Tout sélectionner

echo "<script>document.location = 'http://www.phpfrance.com/';</script>";
Après, tu peux le faire de différente manière : là il redirigera immédiatement vers l'url spécifiée, mais tu peux aussi le retarder de quelques secondes pour afficher ton message avant de rediriger l'utilisateur :)

antoine-cr
Invité n'ayant pas de compte PHPfrance

28 sept. 2006, 11:36

Merci beaucoup et désolé pour les fautes d'hier soir. J'ai relu mon message ce matin et ce n'est pas chouette :)

Eléphant du PHP | 66 Messages

28 sept. 2006, 11:46


<meta http-equiv='refresh' content='0;URL=http://www.phpfrance.com'>
Mess With Best or die With the Rest

antoine-cr
Invité n'ayant pas de compte PHPfrance

28 sept. 2006, 21:25

Bonsoir,
Mon premier problème résolu, je dois faire face à un nouveau :(

Jusqu'ici, je proposais aux visiteurs de choisir entre gagner 1 ou 2 places.
Donc j'avais un champ 24 "choix multiple" suivi d'une requête SQL : SUM(champ24).

Enfin, si mon champ 25 est supérieur à 100, ma page est redirigée pour les empêcher jouer.

Tout fonctionne.

Maintenant, je voudrais que les utilisateurs gagnent 2 places à chaque fois (généreux :) ) et donc supprimer le choix multiple.

En gros, il faudrait juste que je puisse définir une variable (2) qui soit prise en compte pour le calcul de la somme.

Merci d'avance.