Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1725 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Instabilité sur Online avec "if (strstr..."

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Instabilité sur Online avec "if (strstr..."

n°1489423
Pierrick81
Posté le 11-12-2006 à 11:10:08  profilanswer
 

Coucou à tous,
Me voilà avec un problème bizarre !
1er point : je suis chez Online, c'est une grosse contrainte, mais j'arrive pour l'instant à contourner tous les problèmes (rewriting, htaccess...)
 
Je viens de mettre en place un code sur mon index.php pour qu'il change le contenu en fonction du nom de domaine utilisé.  
Ici j'ai :
* hallucine.fr --> mon compte principal : texte normal en français
* inflatablescreen.eu --> un alias qui pointe à la racine avec le texte en anglais
* ecrangonflable.com --> un autre alias qui pointe à la racine et qui affiche un autre texte.
 
J'ai utilisé le code suivant :

Code :
  1. if (strstr($SERVER_NAME, 'hallucine.fr')) {
  2.      define('HTTP_SERVER', 'http://www.hallucine.fr');
  3. $langue = 'fr';
  4. $ecran = '0';
  5.   }  elseif (strstr($SERVER_NAME, 'inflatablescreen.eu')) {
  6.      define('HTTP_SERVER', 'http://www.inflatablescreen.eu');
  7. $langue = 'en';
  8. $ecran = '0';
  9.    }  elseif (strstr($SERVER_NAME, 'ecrangonflable.com')) {
  10.      define('HTTP_SERVER', 'http://www.ecrangonflable.com');
  11. $langue = 'fr';
  12. $ecran = '1';
  13.    }


 
Résultats :
* Pour Halluciné, aucun problème, tout se passe bien !
* Pour les 2 autres, c'est très instable, je dois réactualisé la page plusieurs fois avant que la bonne page s'affiche, le reste du temps il me mets URL Introuvable ou Proxy Error... enfin ce qui est bien c'est que les messages varient... pas de monotonie :p ! Et dès que je clique sur un lien de la page, le même problème se pose, je dois à nouveau actualiser plusieurs fois avant que ma page n'apparaisse ! Je ne suis pas sûr que mes visiteurs aient la même patience ! ;)
 
Mes questions sont donc les suivantes :
* Est-ce un pb d'Online, mais alors pkoi ???
* Est-ce mon code qui n'est pas adapté ? et si c'est le cas avez-vous des idées sur le code à utiliser ?
* Est-ce mon PC qui déconne ??
 
Voili voili... J'ai essayé d'exprimer mon pb clairement, en espérant que ça vous inspire !
Vous pouvez tester les URL www.inflatablescreen.eu ou www.ecrangonflable.com
Merci pour votre aide.
 
++
 
Pierrick


Message édité par Pierrick81 le 14-12-2006 à 17:22:40
mood
Publicité
Posté le 11-12-2006 à 11:10:08  profilanswer
 

n°1489463
rufo
Pas me confondre avec Lycos!
Posté le 11-12-2006 à 11:58:20  profilanswer
 

quand on lit la doc de php, ils conseillent d'utiliser strpos($str) !== FALSE pour ce que tu veux faire

n°1489566
Pierrick81
Posté le 11-12-2006 à 14:44:58  profilanswer
 

Merci rufo.
Je viens de remplacer mon code par le suivant :  

Code :
  1. if (strpos($SERVER_NAME, 'hallucine.fr')!== false) {
  2.      define('HTTP_SERVER', 'http://www.hallucine.fr');
  3. $langue = 'fr';
  4. $ecran = '0';
  5.   }  elseif (strpos($SERVER_NAME, 'inflatablescreen.eu')!== false) {
  6.      define('HTTP_SERVER', 'http://www.inflatablescreen.eu');
  7. $langue = 'en';
  8. $ecran = '0';
  9.    }  elseif (strpos($SERVER_NAME, 'ecrangonflable.com')!== false) {
  10.      define('HTTP_SERVER', 'http://www.ecrangonflable.com');
  11. $langue = 'fr';
  12. $ecran = '1';
  13.    }


 
Effectivement le résultat semble meilleur, même s'il ce n'est vraiment pas top... je dois encore réactualiser les pages plusieurs fois (moins qu'avant, mais toujours !), avant que les pages ne s'affichent !
 
Y a-t-il d'autres solutions pour faire ce que je veux faire ? ou d'autres aménagements de mon code à effectuer ?
 
L'autre question que je me pose est sur l'utilisation de l'url rewriting une fois que je suis sur un autre nom de domaine... je me demande si ça ne pose pas un problème sur les liens...
 
Merci d'avance.
 
Pierrick

n°1489569
rufo
Pas me confondre avec Lycos!
Posté le 11-12-2006 à 14:48:52  profilanswer
 

y'aurait pas un pb de case sensitive?

n°1489577
Pierrick81
Posté le 11-12-2006 à 14:57:55  profilanswer
 

euh je ne suis pas très fort en anglais :p, mais je dirai que tout est en minuscule, où le problème se situerait-il ?
Peux-tu me donner plus d'infos rufo stp ?
Merci

n°1489757
rufo
Pas me confondre avec Lycos!
Posté le 11-12-2006 à 18:46:49  profilanswer
 

sensible à la casse. Mais bon, si tout est en minuscule, ça ne peut venir de là...

n°1489862
vanadium
N° Atomique : 23
Posté le 11-12-2006 à 22:07:59  profilanswer
 

C'est crade à mort de créer plusieurs sites différents comme ça ! il vaut mieux un hébergement dédié pour chacun d'entre eux, donc un script pour chaque site.
En plus, s'il existe des urls différentes pour des pages identiques, tu risque le blacklistage de ton site par google pour duplicate content.

n°1489942
Pierrick81
Posté le 12-12-2006 à 08:52:43  profilanswer
 

En fait ce n'est pas plusieurs sites :
Un est en français, l'autre en anglais et l'autre ne correspond qu'à une seule page avec des liens vers le site en français !
Normalement je n'ai aucune page identique avec des URL différentes...
Ce que je voudrai savoir c'est si qq1 a une idée du "pourquoi" de l'instabilité. Vous pouvez essayer de cliquer sur www.ecrangonflable.com, cliquez ensuite plusieurs fois sur Actualiser... pkoi la page s'affiche, ne s'affiche plus, se réaffiche, etc... ?
Merci à vous.
++

n°1489944
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 09:04:06  profilanswer
 

ton hébergeur te rajouterait pas automatiquement du code dans tes pages?

n°1489951
Pierrick81
Posté le 12-12-2006 à 09:13:49  profilanswer
 

non pas que je sache, Si je regarde dans le code de la page (Ctrl+U) sur Firefox, le code est identique à celui tapé (code PHP interprété of course !)
Mais c'est qd même incompréhensible qu'une fois de temps en temps il arrive à lire la page...

mood
Publicité
Posté le 12-12-2006 à 09:13:49  profilanswer
 

n°1489960
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 09:30:31  profilanswer
 

t'utilises des redirections en boucles? que ce soit en JS, PHP ou HTML?

n°1489966
Pierrick81
Posté le 12-12-2006 à 09:43:43  profilanswer
 

c'est quoi que tu appelles des redirections en boucles ?
J'utilise l'URL Rewriting, mais pas sur les pages index.php. et sinon pas de redirection à ce que je sache.

n°1489974
vanadium
N° Atomique : 23
Posté le 12-12-2006 à 09:54:56  profilanswer
 

Une adresse URL = un site
 
Ou alors je n'ais pas compris le web lol

Message cité 1 fois
Message édité par vanadium le 12-12-2006 à 09:55:12
n°1490004
Pierrick81
Posté le 12-12-2006 à 10:16:00  profilanswer
 

bah j'ai bien 1 URL = 1 site non ? peut-être y a t il qqch que je ne comprends pas ?
www.hallucine.fr --> mon site en français
www.inflatablescreen.eu --> même site mais en anglais
www.ecrangonflable.com --> une page unique avec des liens vers le site en français
Peux-tu me donner plus de détails stp vanadium ?
Merci

n°1490040
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 10:54:23  profilanswer
 

tu pourrais nous monter un peu plus le code de ton script? Parce que j'ai l'impression que c'est plus loin que ça doit merder...

n°1490043
skeye
Posté le 12-12-2006 à 10:58:51  profilanswer
 

vanadium a écrit :

Une adresse URL = un site
 
Ou alors je n'ais pas compris le web lol


non.
Une url, c'est ce qui permet d'identifier un document sur le web.
Il n'a jamais été dit nulle part qu'un document ne pouvait pas être identifié par plusieurs url.:o


---------------
Can't buy what I want because it's free -
n°1490058
Pierrick81
Posté le 12-12-2006 à 11:04:52  profilanswer
 

Voici le code complet de ma page index.php :

Code :
  1. <?php
  2. if (strpos($SERVER_NAME, 'hallucine.fr')!== false) {
  3.      define('HTTP_SERVER', 'http://www.hallucine.fr');
  4. $langue = 'fr';
  5. $ecran = '0';
  6.   }  elseif (strpos($SERVER_NAME, 'inflatablescreen.eu')!== false) {
  7.      define('HTTP_SERVER', 'http://www.inflatablescreen.eu');
  8. $langue = 'en';
  9. $ecran = '0';
  10.    }  elseif (strpos($SERVER_NAME, 'ecrangonflable.com')!== false) {
  11.      define('HTTP_SERVER', 'http://www.ecrangonflable.com');
  12. $langue = 'fr';
  13. $ecran = '1';
  14.    }
  15. include "chemin.php";
  16. include "$langue/index-contenu.php";
  17. include "$langue/photos_accueil/photos-contenu.php";?>
  18. <HTML>
  19. <HEAD>
  20. <TITLE><?php echo $titre_page;?></TITLE>
  21. <? include 'haut_de_page.php'; ?>
  22. <table>
  23.    <tr>
  24.       <td width="60" height="60" valign="top"><img src="images/titre_page_puce.gif" width="54" height="59"></td>
  25.       <td width="746" height="60">
  26.           <div align="left"><font color="3F649F" size="5" face="Verdana, Arial, Helvetica, sans-serif"><strong>
  27.             <?php echo $sstitre;?>
  28.           </strong></font></div>
  29.       </td>
  30.    </tr>
  31. </table>
  32. <br>
  33. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  34.    <tr>
  35.       <td width="23%"  valign="top">
  36. <div align="center">
  37. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-1-'.$langue.'.html" target="_blank">';
  38. echo '<img src="photos_accueil/images/1P.jpg" alt="'.$alternatif[1].'" width="130" height="98" border="1"></a>';
  39. ?>
  40. <br><br>
  41. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-3-'.$langue.'.html" target="_blank">';
  42. echo '<img src="photos_accueil/images/3P.jpg" alt="'.$alternatif[3].'" width="130" height="98" border="1"></a>';
  43. ?>
  44. <br><br>
  45. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-5-'.$langue.'.html" target="_blank">';
  46. echo '<img src="photos_accueil/images/5P.jpg" alt="'.$alternatif[5].'" width="100" height="150" border="1"></a>';
  47. ?>
  48. <br><br>
  49. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-7-'.$langue.'.html" target="_blank">';
  50. echo '<img src="photos_accueil/images/7P.jpg" alt="'.$alternatif[7].'" width="130" height="98" border="1"></a>';
  51. ?>
  52. </div>
  53.       </td>
  54.       <td width="55%" valign="top">
  55.           <?php echo $contenu[$ecran];?>
  56.       </td>
  57.       <td width="22%"  valign="top">
  58. <div align="center">
  59. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-2-'.$langue.'.html" target="_blank">';
  60. echo '<img src="photos_accueil/images/2P.jpg" alt="'.$alternatif[2].'" width="130" height="98" border="1"></a>';
  61. ?>
  62. <br><br>
  63. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-4-'.$langue.'.html" target="_blank">';
  64. echo '<img src="photos_accueil/images/4P.jpg" alt="'.$alternatif[4].'" width="130" height="98" border="1"></a>';
  65. ?>
  66. <br><br>
  67. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-6-'.$langue.'.html" target="_blank">';
  68. echo '<img src="photos_accueil/images/6P.jpg" alt="'.$alternatif[6].'" width="130" height="98" border="1"></a>';
  69. ?>
  70. <br><br>
  71. <?php echo'<a href="'.$chemin[$langue].'photos_accueil/photos-8-'.$langue.'.html" target="_blank">';
  72. echo '<img src="photos_accueil/images/8P.jpg" alt="'.$alternatif[8].'" width="130" height="98" border="1"></a>';
  73. ?><br>
  74. <font size="1px">
  75.      <i>&nbsp;<?php echo $clique;?></i>
  76. </font>
  77. </div>
  78.       </td>
  79.    </tr>
  80. </table>
  81. <? include 'bas_de_page.php'; ?>
  82. </BODY>
  83. </HTML>


 
Si tu veux le code de mon haut de page et de mon bas de page  n'hésite pas à me demander.
Merci en tout cas.

n°1490064
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 11:08:04  profilanswer
 

j'imagine que index-contenu.php contient les traductions, mais que contient chemin.php?

n°1490092
Pierrick81
Posté le 12-12-2006 à 11:22:51  profilanswer
 

Chemin contient le code suivant :

Code :
  1. <?php
  2. $chemin[fr]='http://www.hallucine.fr/';
  3. $chemin[en]='http://www.inflatablescreen.eu/';
  4. ?>


 
Pour ce qui est de Index-contenu effectivement, il ne contient que du texte

Code :
  1. <?php
  2. $titre_page='blabla';
  3. ...
  4. ?>

n°1490111
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 11:40:32  profilanswer
 

ben tu t'en sers où de ta constante HTTP_SERVER:??:

n°1490118
Pierrick81
Posté le 12-12-2006 à 11:43:51  profilanswer
 

ah sur ce point je ne sais pas trop, on m'a fourni ce code en me disant de l'utiliser tel quel, mais effectivement peut-être que c'est inutile. J'avoue avoir recopier cette ligne bêtement en me disant que si elle était là ce n'était pas pour rien !!
Tu penses qu'il faut le retirer ??
 
Pour répondre à ta question, sans faire celui qui fait tout bêtement : je ne l'utilise pas cette constante, elle est donc inutile, mais peut-être que le gars qui m'a fourni le code la réutilise à un autre endroit et alors là je n'ai aucune idée de où !
 
Je viens de retirer la ligne define (HTTP_SERVER, ...) Mais ça ne change rien, le problème reste identique.


Message édité par Pierrick81 le 12-12-2006 à 11:58:32
n°1490155
Pierrick81
Posté le 12-12-2006 à 12:15:44  profilanswer
 

STTOOPP !  
Je viens d'effectuer un test que j'aurai du effectuer depuis longtemps !
J'ai supprimer mon code qui me porte malheur ;)
c'est à dire que le code suivant n'est plus sur ma page :

Code :
  1. if (strpos($SERVER_NAME, 'hallucine.fr')!== false) {
  2. $langue = 'fr';
  3. $ecran = '0';
  4.   }  elseif (strpos($SERVER_NAME, 'inflatablescreen.eu')!== false) {
  5. $langue = 'en';
  6. $ecran = '0';
  7.    } // elseif (strpos($SERVER_NAME, 'ecrangonflable.com')!== false) {
  8. //$langue = 'fr';
  9. //$ecran = '1';   }
  10.    elseif (strpos($SERVER_NAME, 'maisonrondin.com')!== false) {
  11. $langue = 'fr';
  12. $ecran = '0';
  13.    } elseif (strpos($SERVER_NAME, 'cinemapleinair.com')!== false) {
  14. $langue = 'fr';
  15. $ecran = '2';
  16.    }  elseif (strpos($SERVER_NAME, 'projectioncinema.com')!== false) {
  17. $langue = 'fr';
  18. $ecran = '3';
  19.    }


Désormais ça doit donc être la redirection de l'alias web effectuée par Online qui doit être effective ! Et pourtant... le problème se poursuit !
Une partie du mystère est éclaircie... ça ne semble pas venir de mon code, même si qq1 pourrait me dire pour la l'utilité de la ligne "define..." que je me couche moins bête !
Mais alors que dois-je faire, je crois que je vais changer d'hébergeur, mais j'aimerai bien savoir auparavant si une erreur de ma part est à l'origine de ce sousi !
Merci à vous...

n°1490167
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 12:51:02  profilanswer
 

Moi, j'obtiens ça comme erreur : The requested URL /www.ecrangonflable.com/index.php was not found on this server.
 
J'ai l'impression qu'il y a un slash devant www qui ne devrait pas y être. T'es sûr qu'il n'y a pas de redirection qui traîne qq part?

n°1490169
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 12:52:49  profilanswer
 

C'est bon, je crois avoir trouvé. Faut mettre :

Code :
  1. <?php
  2. $chemin['fr']='http://www.hallucine.fr/';
  3. $chemin['en']='http://www.inflatablescreen.eu/';
  4. ?>


 
t'as oublié les ' devant et après le nom des langues...

n°1490253
Pierrick81
Posté le 12-12-2006 à 14:18:22  profilanswer
 

Merci beaucoup pour ton aide rufo, malheureusement ce n'est toujours pas ça (je viens d'essayer) ! Déjà avant que j'utilise un tableau, en utilisant $chemin='http://www.hallucine.fr/'; le problème se posait.
 
Effectivement le problème que tu soulèves du slash devant le www peut être la cause du problème mais à ce moment là je ne vois pas quoi faire.
J'ai écrit à Online pour leur demander leur avis sur la question. J'attends
 
Y-a-t-il qq1 qui possède plusieurs noms de domaines chez Online et qui pointe vers la racine d'un seul et même hébergement ???
 
On est sur la bonne piste avec le slash, je le sens ! Mais par contre, rufo, tu me confirmes que si tu actualises plusieurs fois ta page, la bonne page apparait, non ?
 
Pour info voilà ma page d'administration des alias web sur Online :
http://www.hallucine.fr/aliasweb.jpg
 
Les alias avvc.com et projectioncinema.com fonctionnent sans problème.
L'alias maisonrondin.com n'est pas encore activé.


Message édité par Pierrick81 le 12-12-2006 à 14:23:42
n°1490261
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 14:22:35  profilanswer
 

non, ça n'apparaît pas.

n°1490263
Pierrick81
Posté le 12-12-2006 à 14:25:05  profilanswer
 

ni pour ecrangonflable.com, ni pour inflatablescreen.eu ? pq moi à force de faire F5 ou Ctrl+F5, la page apparait ! Il m'arrive de devoir le faire 10 fois avant que la page n'apparaisse !

n°1490277
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2006 à 14:36:21  profilanswer
 

ben tu vois que t'as bien des redirections!!! faut enlever le / quand y'a rien après je pense...

n°1490286
Pierrick81
Posté le 12-12-2006 à 14:43:04  profilanswer
 

oui mais je ne peux pas :) Online oblige qu'un alias pointe vers un dossier !
C'est tout caca Online !
Si j'enlève le "/" il me met une erreur lorsque je clique sur "Envoyer"

n°1491459
Pierrick81
Posté le 14-12-2006 à 17:07:27  profilanswer
 

Petit retour sur ce problème qui a passionné les foules !
Il s'agissait bien d'un problème interne à Online, et aujourd'hui tout marche très bien sans instabilité aucune !
Petite anecdote : Ayant marre d'Online (avant que cela marche :), j'ai changé d'hébergeur et je suis passé chez Celeonet. Désormais le code ne marche plus du tout car étonnement, la variable SERVER_NAME est vide ! et je ne sais pas trop quoi utiliser pour tester le contenu de l'url dans barre d'adresse ! Enfin bref tout rentre dans l'ordre petit à petit donc ce problème devrait être corrigé bientôt !!
 
Merci à tous en tout cas et particulièrement à rufo pour son aide...

n°1491464
vanadium
N° Atomique : 23
Posté le 14-12-2006 à 17:12:20  profilanswer
 

Je te recommande plutot d'utiliser la variable $_SERVER.
Syntaxe correcte pour ce dont tu as besoin :  

Code :
  1. echo $_SERVER['SERVER_NAME'];


 
EDIT : peut etre que la version de php chez Online était assez ancienne, c'est pour ça que $SERVER_NAME devait marcher.
EDIT2 : je pencherais plutot pour les register_globals à ON chez Online, voila pourquoi $SERVER_NAME devait etre initialisée. Je te recommande d'utiliser les register_globals à OFF pour des raisons de sécurité.
 
Plus d'infos sur $_SERVER : http://www.aidejavascript.com/article113.html


Message édité par vanadium le 14-12-2006 à 17:16:11
n°1491469
Pierrick81
Posté le 14-12-2006 à 17:22:12  profilanswer
 

Super vanadium, effectivement... ou sinon il fallait que je demande que REGISTER GLOBAL soient mis à ON ce qui était le cas chez Online !
Merci de de ton aide !
Je marque un beau [RESOLU] avec beaucoup de bonheur :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Instabilité sur Online avec "if (strstr..."

 

Sujets relatifs
[PHP][résolu] date, le mois n'apparait pas toujours![RESOLU] 2 listbox relation n à m
[résolu] film le plus loué SQLrecuperer aleatoirement des donnees d'un tableau [RESOLU]
[PHP/MySQL][résolu] Images dans un BLOB -> <img src="...">[résolu]Authentification php surprenante...
[Résolu] Générer une nouvelle clé[RESOLU] Recherche de quoi debugger du JS sous IE6
Différence borders dans browsers - résolu[Résolu] JDBC Taille memoire des resultset
Plus de sujets relatifs à : [RESOLU] Instabilité sur Online avec "if (strstr..."


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR