Contrainte de projet [Résolu]

Signaler
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012
-
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
-
Bonjour,

Je suis confronté un problème de contrainte imposé par mon entreprise.
J'ai réalisé un script en PHP/MySQL qui permet l'affichage de données présentes dans ma base de données MySQL. Jusque là, ce n'est rien de bien très compliqué.

La base de données est commune pour différents sites web, le script réalisé est général et s'adapte à tous les sites web.
L'affichage des données devait se faire à l'aide d'un paramètre par la méthode GET : mapage.php?id=MONID.

De cette manière, je lançais ma requête SELECT * FROM matable WHERE id='MONID';

Ce dont je n'étais pas au courant c'est que je ne dois pas toucher à l'url. Le site existe déjà, et son référencement naturel a été largement commencé sur les différents moteurs de recherche. Du coup mon idée de vouloir utiliser la méthode GET tombe complètement à l'eau.

Si quelqu'un avait une solution à mon problème, une idée plutôt pour m'aider pour corriger ce problème et faire en sorte que ce soit le plus automatisé possible car le script doit se trouver sur une trentaine de sites web.
Si je dois initialiser une variable avec une valeur différente sur chacun de mes scripts je ne vais pas m'en sortir... Passer les varaibles par la méthode POST ne m'aidera pas énormément no plus, enfin du moins je n'ai pas l'impression.

Je n'ai plus d'idées, à l'aide.

NIRVANA is never enough ! It's in the spirit !

11 réponses

Messages postés
95
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
28 avril 2009

Salut,
A la base, tu avais donc deja decidé de te rettapper tous les changement d'url de tous les sites pour y rajouter ton petit id du site en parametre, ca peu etre beaucoup de taff selon les sites en question et si rewritting.

Une solution propre tout en gardant le chemin que tu empreintait serait des redirection permante 301 sur toutes les urls que tu modifierais, le temps que les moteur prennent bien en compte les nouvelles urls.

Du coup, t'aurais ton id en GET, et les referenceurs serai content de ne pas repartir de zero (PR concervé et autres).
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012

Bonjour,

Désolé pour le temps de réponse mais j'ai enfin trouvé une solution adapté au problème, si cela peut aider quelqu'un.
J'aurais du y penser plus tôt mais utiliser l'URL Rewriting permet d'utiliser la méthode GET de manière invisible.

IL suffisait de mettre un fichier .htaccess sur le serveur et de mettre ceci à l'intérieur de celui-ci :

RewriteEn
gine on
RewriteRule ^mapage\.php$ mapage.php?ID=MONID [L]


Ainsi on n'est pas obligé de toucher au script PHP qui reste non spécifique, et on peut conserver l'url telle qu'elle existe déjà pour éviter tout problème.

Merci pour vos réponses!

NIRVANA is never enough ! It's in the spirit !
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Rien compris. Tu veux quoi en fait ?

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012

Mon script affiche des infos récupérées sur une base MySQL.
Quand on clique sur une page le script est appelé, je fais un include.

La requête SQL est effectuée avec une clause WHERE qui me permet de déterminer si je dois envoyer les informations de tel ou tel site web.
Mon problème est là, je voulais récupérer l'information dans l'url mais ce n'est pas possible.

Donc existe t-il un moyen qui pourrait me permettre de le faire tout en gardant un script général, et de ne pas faire un script spécifique par site où je serais obligé d'écrire en durce que je veux dans ma clause WHERE de mon instruction SQL.

C'est un peu dur à synthétiser tout en restant clair, j'admet.

NIRVANA is never enough ! It's in the spirit !
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Si j'ai bien compris tu veux savoir quel site appelle l'include ? c'est bien ça ?

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012

Oui de cette manière je sais quelle requête il faut exécuter et je peux afficher les informations qui vont avec le site web. L'important c'est de bien déterminer de quel site il s'agit, car chaque site possède un ID présent dans la base de données MySQL et c'est avec l'aide cet ID que les informations sont sélectionnées.

NIRVANA is never enough ! It's in the spirit !
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Alors pour bien faire les choses, Il faudrait :
Ajouter un param genre euh
mapage.php?id=IDTRUC&site=IDSITE
a toutes tes urls

ensuite !

Tu fais une table de site avec id et noms (tant qu'a faire hein ;) )
Et une autre table qui fait correspondre a un id de site un id de truc.
Tu fais correspondre tous tes trucs a tes differents sites
Et tu modifie la requete SQL.

Ceci n'etant pas optimal car tu peux afficher les trucs d'un autre site sur un site en modifiant le GET... donc ca améliore mais c'est pas la solution finale.

PS: tu remplaces truc par ce que ca doit afficher >_<

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
Salut,

Je n'ai sans doute rien compris :
En quoi le fait de toucher à l'url pose t il pb ?
Sur les sites, c'est un clic de l'utilisateur qui appelle le script de ton site ou est ce au chargement que celui ci doit être appelé ?
Pourquoi la méthode POST ne réglerait pas ton pb ?
   clic ou chargement de la page poste "ID" vers ton site
   tu récupère => requête => envoi des données liées au site appelant

Cet ID tu le fais simplement avec $_SERVER['SERVER_NAME']. Ensuite une petite table de correspondance ID <=> server_name.

Cordialement,

Kohntark -
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012

Je ne suis pas l'auteur des sites en questions, je ne fais qu'ajouter des des scripts pour améliorer le rafraichissement des informations et ceux de la manière la plus automatique possible.
Il y a un service marketing qui s'occupe du référencement des pages de chacun des sites et le fait d'ajouter des paramètres dans l'url va perturber le référencement des sites et cela risque de faire chuter leur position dans Google. Etant donné qu'il ont déjà commencé à référencer une url, ils ne veulent pas tout recommencer.

Donc je n'ai pas l'aval de mon équipe pour utiliser la méthode GET, même si j'avou être bien embêté parce que sinon tout marchait comme je le souhaitais.

NIRVANA is never enough ! It's in the spirit !
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
Je n'ai toujours rien compris, c'est bien trop vague pour moi et tu n'as pas répondu à toutes mes questions.
Pourrai tu être plus précis (où se trouve la base ? que fait exactement le script ? etc ...)

Et l'URL rewriting ?

Cordialement,

Kohntark-
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
  grrrr .... 1 semaine que je te l'ai proposé !!!

Cool si tu t'en es sorti.

@+,

Kohntark -