Page 1 sur 1

Aide redirection et formulaire

Posté : 28 juin 2007, 02:01
par rcsfoot67
Bonjour, je débute en php et je souhaite créer un concours par sms pour gagner un maillot de foot.
J'ai installé un formulaire allopass sur le site web et je souhaiterai par exemple que tous les 100 sms une personne gagne. J'aimerai donc que si la personne gagne qu'une page apparaisse pour l'informe qu'elle a gagné et avec un formulaire pour y mettre ses coordonnés.
Si la personne ne gagne pas, je souhaiterai qu'une page apparaisse en lui indiquant le nombre de sms avant le prochain gagnant (il y a un gagnant tous les 100 sms)

Quelqu'un peux m'aider à faire ce code et me précisant ce que je dois modifier si je veux changer les paramètres
Merci

Posté : 28 juin 2007, 10:51
par Ryle
Voici une suggestion de ce que tu peux faire : à chaque sms envoyé, tu vas incrémenter un compteur dans une base de données afin de savoir combien de sms ont été envoyés (tu peux vérifier la valeur précédente et éventuellement la remettre à 0 à chaque fois qu'il atteint 100, ce qui te simplifiera les calculs :))

Quand l'utilisateur arrive sur ta page, tu consultes le nombre de sms comptabilisé avec une requête de type SELECT. Si tu laisses le compteur s'incrémenter de manière automatique, on va vérifier que la valeur est multiple de 100. Pour cela, il suffit de diviser par 100 et de vérifier que le reste de la division est égal à 0. On utilise pour cela l'opérateur modulo qui s'écrit "%" :

Code : Tout sélectionner

$compteur % 100 = reste de la division ($compteur / 100)
En fonction du résultat tu vas pouvoir rediriger l'utilisateur avec la fonction header(). Il te suffit donc de mettre en place une simple structure conditionnelle : SI le résultat du modulo est 0, alors redirection vers la page des gagnants, SINON redirection vers la page des perdants.

Posté : 28 juin 2007, 12:00
par jpaul
Bonjour,

La réponse de Ryle est tout à fait complète.

Je réponds juste pour faire une remarque, il n'est peut être pas nécessaire d'implémenter la fonction header() (attention, elle est chatouilleuse : elle ne marche que si rien, pas même un espace ni une ligne vide, n'a été envoyé avant qu'on l'appelle) pour faire une redirection.
Arrivé au test comme te l'a expliqué Ryle, tu peux utiliser ta condition pour afficher directement dans la même page :
- soit le nombre de sms restants
- soit le formulaire

Posté : 28 juin 2007, 19:33
par rcsfoot67
MErci de votre aide, je vais essayer de mettre en pratique ces conseils, mais je pense que je reviendrai vite vers vous, car c'est la première fois que j'utilise le php
Quelqu'un peut me donner des liens de tutoriaux à consulter pour m'aider à débuter et à faire ce que je voudrai mettre en place

Posté : 28 juin 2007, 22:44
par jpaul
Hum,

http://www.phpdebutant.org/
http://www.siteduzero.com/

Après, si tu as une question spécifique, tu cherches dans ce forum ou avec google.

Bonne continuation,

Posté : 29 juin 2007, 14:28
par rcsfoot67
ME revoilà, j'ai fait ça à l'aide d'un copain et je l'ai envoyé sur mon site avec un fichier nb.txt vide.
Le problème est que le nombre de sms se descends pas, comment faire

<?php

$fichier = fopen('nb.txt','r+');

$nb_sms = fgets($fichier);

if (!isset($nb_sms) OR $nb_sms == 100)
{
$nb_sms = 0;
}

$nb_sms++;

fseek($fichier, 0);
fputs($fichier, $nb_sms);
fclose($fichier);

$nb_sms_restant = 100 - $nb_sms;

echo '<p><h2>Bravo !</h2></p>

<p>Il reste '.$nb_sms_restant.' SMS.</p>';
?>