Comment executer cela en PHP ?

Fermé
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 - 1 nov. 2009 à 21:02
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 - 2 nov. 2009 à 18:04
Bonsoir !
Je vous explique, j'ai une page et je veux que la 40ème personne qui la visite soit redirigée vers une autre page.
C'est à dire en cliquant sur le lien *lien1* les 39 premières personnes vont voir la page *page1*, et la 40ème personne qui clique sur ce lien sera redirigée vers une autre page *page2*.

Je ne sais pas du tout comment interpréter ceci, en plus de cela je suis un débutant mais je sais exactement ce que je veux. Je remercie toutes les personnes qui prennent le temps de m'aider.
Bonne soirée à tous !
A voir également:

11 réponses

lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
1 nov. 2009 à 21:20
tu peut faire comme un compteur de visite tout simple , en utilisant un fichier texte ici il s'appele clic.txt et il est dans le meme repertoire


$fp = fopen ("visite.txt", "r+"); 
 //a+ positionne a la fin du fichier 
 $fda= fopen ("clic.txt", "a+");  
  
 $nb_visites = fgets ($fp, 11);  
//$nb_visites sera ta variable à prendre en compte pour rediririger ton visiteur
 $nb_visites = $nb_visites + 1;  
  fseek ($fp,0); 
 fputs ($fp, $nb_visites);  
 //ecrire dans le fichier texte avec un retour chariot chr(10)..
 fputs ($fda, $text)).chr(10); 
//on ferme
fclose ($fp); 
fclose ($fda);

ensuite tu peut rediriger comme ça
en php
if($nb_visites==40)
{
header('loaction:tapge');
//a voir si tu veut remettre a zero ton fichier clic txt
}

ou alors en javascript
if($nb_visites==40)
{
echo'<script type="javascript>
window.location.replace('tapage');
</script>';

}
0
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 61
1 nov. 2009 à 22:25
Merci lewis34 mais entre temps on m'as aiguillé sur une autre solution semblable à la tienne, j'ai mit ceci :

<?php
$monfichier = fopen('compteur.txt', 'r+');

$pages_vues = fgets($monfichier); // On lit la première ligne (nombre de pages vues)
if($pages_vues == 39)
header('Location: dsoneiwin_v.php');
$pages_vues++; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues

fclose($monfichier);
?>


Et j'ai créé un "compteur.txt" tout fonctionne mais je ne suis pas redirigé, saurais-tu pourquoi ?
Merci encore !
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 nov. 2009 à 05:09
tu la fait comment ta redirection ?
0
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 61
2 nov. 2009 à 05:47
if($pages_vues == 39)
header('Location: dsoneiwin_v.php');

Dès que le nombre est de 39 je veux qu'il me redirige mais ça fonctionne pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 nov. 2009 à 11:00
ça ne fonctionne pas ?? comment ça..

a tu des erreurs ?
si elle ne s'affiche pas regarde dans le fichier error.log de ton apache

a tu essayé en javascript ?
0
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 61
2 nov. 2009 à 15:29
Aucune erreur, ça ne me redirige pas pourtant à première vu le code est bon, j'ai une autre redirection php que j'ai installé sur un autre page (c'est un formulaire qui redirige vers une page de remerciement) et j'ai le même problème.

C'est bizarre pourtant le formulaire je l'ais fait sur un générateur et il fonctionne à merveille ! Si tu es une autre idée, si c'est faisable en mélangeant du javascript ou autre je veux bien.

Merci encore
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 nov. 2009 à 15:55
est ce qu'avant ton header il y a du code qui s'affiche par hasard 'style echo'qqch..' ?
0
vindicien Messages postés 131 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 22 février 2011 33
2 nov. 2009 à 16:05
Un header doit être tout en haut de ta page. Ca signifie qu'avant tu ne dois avoir aucun code HTML, et pas non plus de echo etc.
0
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 61
2 nov. 2009 à 16:09
Non ca reste seulement sur la même page, et oui c'est tout en haut comme ceci...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
	
<?php
$monfichier = fopen('compteur.txt', 'r+');

$pages_vues = fgets($monfichier); // On lit la première ligne (nombre de pages vues)
if($pages_vues == 39)
header('Location: dsonei_0211.php'); // redirection
$pages_vues++; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues

fclose($monfichier);
?>


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>

ETC...
0
vindicien Messages postés 131 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 22 février 2011 33
2 nov. 2009 à 16:10
t'as essayé de mettre ton bloc php en tout premier ?
0
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 61
2 nov. 2009 à 16:59
Non mais il y a pas de raison puisque les autres "commandes" marchent, c'est juste la redirection
0
lilburrows Messages postés 643 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 24 avril 2012 61
2 nov. 2009 à 18:04
Ca y est ce code fonctionne...

<?php
$monfichier = fopen('compteur.txt', 'r+');

$pages_vues = fgets($monfichier); // On lit la première ligne (nombre de pages vues)
if($pages_vues == 39)
{
header('Location : dsonei_0211.php');
exit();
}
$pages_vues++; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues

fclose($monfichier);
?>


Sauf que au moment de la redirection au lieu de changer de page il m'affiche une page blanche
0