shadowfox666
Messages postés64Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 8 mars 2012
-
16 janv. 2009 à 13:59
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
23 janv. 2009 à 17:53
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.
PlayerMania
Messages postés95Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention28 avril 2009 17 janv. 2009 à 21:21
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).
shadowfox666
Messages postés64Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 8 mars 2012 23 janv. 2009 à 12:07
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.
shadowfox666
Messages postés64Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 8 mars 2012 16 janv. 2009 à 15:28
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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
shadowfox666
Messages postés64Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 8 mars 2012 16 janv. 2009 à 17:25
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.
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 16 janv. 2009 à 17:32
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
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 16 janv. 2009 à 19:53
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.
shadowfox666
Messages postés64Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 8 mars 2012 16 janv. 2009 à 20:09
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.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 16 janv. 2009 à 20:32
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 ...)