rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[php] Redirection de page sous conditions...

Posté par scorpus.keylog, le lundi 12 novembre 2007 à 12:53:52
Bonjour,
Je suis entrain de realiser un petit script, pour essayer de dispacher les utilisateurs et eviter un probléme CPU high load dans mon serveur... mais je tape dans un probléme depuis 2 heures que j'arrive pas a résoudre....

1ére version du script (tout en php en utilisant les headers):

<?php
//connexion a la base
mysql_connect("localhost", "jouteyan", "pass");
mysql_select_db("db");


//recuperation du nombre d utilisateurs
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$nbr_utilisateur = mysql_fetch_array($retour);

if ($nbr_utilisateur < 30)
header('Location: http://www.jouteya.net/tv-bt/index.php');
else
header('Location: http://tv-bt.jouteya.net/index.php');
?>

Le soucis avec ce code c'est qu'il me redirige tjs ver tv-bt mm si j'ai plus ou moins de 30 utilisateurs, j'ai nétoyer le cache relancer mon script a plusieurs reprise... rien a faire


ayant su que des lignes de codes avant le header peuvent poser probléme je suis passé à la
2 version du code cette fois en lancant la redirection en javascript:


Code:
<?php
//connexion a la base
mysql_connect("localhost", "jouteyan", "pass");
mysql_select_db("db");


//recuperation du nombre d utilisateurs
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$nbr_utilisateur = mysql_fetch_array($retour);

if ($nbr_utilisateur < 30)
'<script language="JavaScript">self.location="http:­//www.jouteya.net/tv-btindex.php"</script>';
else
'<script language="JavaScript">self.location="http:­//tv-bt.jouteya.net/index.php"</script>';
?>
dans ce cas il n y a pas de redirection la page reste figée.

si quelqu'un arrive a voir ou a une idée de la solution qui peut me tirer de ce probléme :') merci
Configuration: Windows XP
Firefox 2.0.0.6
Répondre à scorpus.keylog  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
s.spark, le lundi 12 novembre 2007 à 13:02:56
Salut,

Sauf erreur de ma par j'aurrais plutôt mis :


<?php
//connexion a la base
mysql_connect("localhost", "jouteyan", "pass");
mysql_select_db("db");


//recuperation du nombre d utilisateurs
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$donnees = mysql_fetch_array($retour);
$nbr_utilisateur = $donnees['nbre_entrees'];

// On vérifi que $nbr_utilisateur contient bien ce qu'on veut
echo 'N'ombre d'utilisateur : '.$nbr_utilisateur ;


Le code avec modification du header doit être mis avant l'affichage de donnés sinon tu auras un message d'erreur.
Répondre à s.spark

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
scorpus.keylog, le mardi 13 novembre 2007 à 13:11:33
RE salut tout le monde
l'erreur ne viens pas de la, ca je l'ai commis quand j'ai recopier le code dans le site de comment ca marche... la variable(je l'ai teste) elle contient bien le nombre total des visiteurs connecte dans les 5 dernieres minutes, mais apparament le soucie viens du faite que headers ne supporte pas des ligne de code avant... c pour ce la j ai essayer de passer par du javascript et apparament dans le deuxieme c un souci de ' et de " si quelqu'un peut verifier la syntaxe... je pensse ca viens de la
Répondre à scorpus.keylog

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
s.spark, le mardi 13 novembre 2007 à 14:40:07
"mais apparament le soucie viens du faite que headers ne supporte pas des ligne de code avant..."

Je me répète et ça devient lassant de façon général ...

Le code avec modification du header doit être mis avant l'affichage de donnés sinon tu auras un message d'erreur.

Ta page ne s'afficherait même pas si tu avais une erreur de header.

-__-
Répondre à s.spark

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
s.spark, le mardi 13 novembre 2007 à 14:44:52
Ha oui au fait bien sur il ne faut pas faire boucler code ...

http://www.jouteya.net/tv-bt/index.php

http://tv-bt.jouteya.net/index.php


Si index.php est le même sur les deux lien (avec le code que tu as donné plus haut) tu finiras toujours par te retrouver dans le cas "else" sauf si la condition < 30 reste vrai trop longtemps (30sec en général) tu finiras sur un timeout.

Ton 2ème lien devrai être du genre :


http://www.jouteya.net/tv-bt/full.php

full.php -> Le site est temporairement saturé, veuillez revenir plus tard, merci.



Mais ça c'est qu'une question de logique.
Répondre à s.spark

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
s.spark, le mardi 13 novembre 2007 à 14:55:48
Autre chose, d'un point de vu référencement c'est très mauvais d'avoir 2 liens différent qui pointe vers la même chose. C'est du "duplicat content" et google va blacklister les deux liens. Et tu va perdre tout ton référencement.

Là je fais référence aux domaine et sous domaine que tu viens de diffuser ici.
Répondre à s.spark

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
scorpus.keylog, le mercredi 14 novembre 2007 à 22:09:11
Bonjour,
pour l'instant ils ont referencer les deux liens, j'ai utiliser un sous domaine pour resoudre le soucis mais apparament ca n'a pas resolu grand chose vue que l'hebergeur bloque tout mes domaines et sous domaines... si non pour le script j'ai pu bidouiller dessus avec un ami a moi et on a resolu le probleme c'ete effectivement un probleme de syntaxe... le script je le met a la racine de jouteya.net ca evite que ca boucle mais tu as raison spark je suis tomber sur ce probleme quand je l'ai mis dans l'index de tv-bt...
je vous fait une copie du code mtn il marche bien:
alors pour caluler le nombre de visiteurs j'ai utilise un siple code que jai trouver dans le siteduszero je ne sais pas si on peut mettre des liens ici, mais c pour le bien de la science :)
http://www.siteduzero.com/tuto-3-174-1-tp-nombre-de-visiteur­s-connectes.html

aprer pour le script qui dispache les visiteur je l'ai mis dans une page dispacher.php que j'appelle en include dans l'index:

<?php
mysql_connect("localhost", "login", "pass");
mysql_select_db("db");
$retour = mysql_query("select * from connectes");
$donnees = mysql_num_rows($retour);


if ($donnees < 250) echo "<script language='JavaScript'>self.location='http://www.jouteya.n­et/tv-bt/index.php'</script>";
else echo "<script language='JavaScript'>self.location='http://tv-bt.jouteya­.net/index.php'</script>";
?>

la le code il marche bien a 250 visiteurs il redirige vers le deuxieme lien (mais ca ne m'as tjs pas resolue le probleme il va falloir que je change d'hebergeur).
si quelqu'un a une idee pour ameliorer le code exemple: le mettre dans l'index sans que ca boucle ca sera bien aussi.

Merci a vous
Répondre à scorpus.keylog

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 s.spark, le jeudi 15 novembre 2007 à 01:55:52
"si quelqu'un a une idee pour ameliorer le code exemple: le mettre dans l'index sans que ca boucle ca sera bien aussi. "

http://www.commentcamarche.net/forum/affich 4023975 php redirection de page sous conditions#4
Répondre à s.spark
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger PagePlus SEPagePlus - PagePlus SE est un logiciel gratuit de PAO (publication assistée par ordinateur) permettant de concevoir et de créer des...Catégorie: Présentation
Licence: Freeware/gratuit
Télécharger PageDefrag 2.32PageDefrag - Le défragmenteur de disque de Windows fait un boulot correct, mais il a un inconvénient : il ne défragmente ni le fichier...Catégorie: Formatage/Partitionnement
Licence: Freeware/gratuit
Télécharger PageStyle2Tab 0.8PageStyle2Tab - Cette extension Firefox est toute simple et pourtant agréable: Elle colore les onglets avec le style de la page. En plus...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [php] Redirection de page sous conditions... »