IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

une variable PHP en Rewrite Url


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut une variable PHP en Rewrite Url
    bonjour je voudrais comme le titre l'indique qu'au lieu de l'id d'un topic dans une url soit son sujet
    par exemeple au lieu de t=1234
    j'aurai t="titre de topic"
    c'est pour ça j'ai pensé à l'.HTACCESS
    mais j'ignore si les variables PHP sont autorisés dans un tel format
    je voudrais aussi si c'est possible que le slash / devienne >

  2. #2
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2004
    Messages : 21
    Par défaut
    Citation Envoyé par AyManoVic Voir le message
    bonjour je voudrais comme le titre l'indique qu'au lieu de l'id d'un topic dans une url soit son sujet
    par exemeple au lieu de t=1234
    j'aurai t="titre de topic"
    c'est pour ça j'ai pensé à l'.HTACCESS
    mais j'ignore si les variables PHP sont autorisés dans un tel format
    je voudrais aussi si c'est possible que le slash / devienne >
    Tu ne dois pas passer de variables php à ton htaccess (tu ne peux pas d'ailleurs). Par contre tu dois activer le mod_rewrite sur ton serveur apache, c'est lui qui concertira ta requête mapage-variable1-variable2-variable3.htm en mapage.php?var1=1&var2=1&var3=1 par exemple.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    merci , mais cela ne satisfait pas ma condition
    je veux que le titre du topic qui soit en url non pas son Id

  4. #4
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2004
    Messages : 21
    Par défaut
    Citation Envoyé par AyManoVic Voir le message
    merci , mais cela ne satisfait pas ma condition
    je veux que le titre du topic qui soit en url non pas son Id
    Tu dois toujours passer l'id d'une manière ou d'une autre, sinon tu vas devoir récupérer ton topic en DB à partir du titre, et là bonjour les perfs

    Tu dois juste avoir un lien du genre:

    http://www.monsite.com/topic,1,le-ti...mon-topic.html

    ce qui, une fois traduit par mod_rewrite, te donnera topic.php?id=1?titre=le-titre-de-mon-topic, et tu pourras utiliser les variables dans ton script.

    par exemple...

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    et comment realiser cette idée ? elle est bonne à mon avis !

  6. #6
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2004
    Messages : 21

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    ce tutoriel est basic
    je vais m'expliquer mieux
    un topic d'ID "45" et de titre" meilleur topic "
    pour y acceder il faut aller sur www.monsite.com/index.php?mode=t&t=45
    alors que moi je le veux sous la form www.monsite.com>meilleur_topic

    c'est possible ?

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    ce site exprime mon besoin parfaitement
    http://forum.webrankinfo.com/redirec...ss-t84016.html
    voyez vous redirect-seeother-htm-php-htacess c'est le titre du topic approprié
    si c'est possible de le mettre comme ça donnez moi des idées svp

  9. #9
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Bien sur celà est tout à fait possible mais quelque peu compliqué .

    Dans un premier temps, il va fallori que tu stockes en base le nom du topic par exemple en format url (sans accent, etc...) et qu'il soit unique (c'est la clé qui te servira à retrouver le topic à partir du nom).
    Par exemple la table topic:
    topic_id 1
    topic_titre mon premier topic
    topic_url mon_premier_topic

    Ensuite tu crées le fichier affiche_topic.php dans le sous répertoire "article" de ton site.
    /article/affiche_topic.php
    Ce fichier va afficher l'article appelé.
    Dedans tu vas avoir une ligne du genre qui fait la requete à la base de données en fonction du topic url:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $requete="select * from topic where topic_url='".$_GET['topic_url']."'";
    $exe=mysql_query($requete);
    if($exe)
    {
       $topic=mysql_fetch_assoc($exe);
       var_dump($topic);
    }
    Ensuite dans le .htaccess tu mets par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine On
    RewriteRule ^article/(.*) article/affiche_topic.php?topic_url=$1 [QSA,L,NC]
    C'est ce code qui va permettre à ton site de comprendre qu'une url :
    http://www.tonsite.com/article/mon_premier_topic va être traduite en http://www.tonsite.com/article/affic..._premier_topic


    Enfin dans ton site, quand tu veux afficher le lien vers le topic en question, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='http://www.tonsite.com/article/".$nom_du_topic_formate."'>".$nom_du_topic."</a>";
    Attention je le répete tu dois appliquer une fonction sur $nom_du_topic au préalable pour retirer les accents, apostrophes, etc... Personnellement, j'ai une fonction qui remplace tous les mots accentués par l'équivalent sans accent et qui remplace tous les caracteres qui ne sont pas des chiffres ou des lettres par des tirets.

    ET puis voilà , apres ca, t'es bon normalement.

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    et le côté performance , je veux dire Wow ça va epuiser les ressources
    au lieu de chercher un int on va chercher un string
    c'est la galere chez mon hebergeur

  11. #11
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Ouais... si une requete comme ca épuise ton serveur, change d'hébergeur.
    Dans ce cas fais pas de moteur de recherche non plus, parce que WoW, une requête sur une chaine, je risque l'overflow.

  12. #12
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    Sinon , on pourrait pas trouver une methode pour le rendre comme ce forum?
    ta methode est tres bonne theoriquement mais les ressources ne sont pas abondantes comm

  13. #13
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Ouais enfin, l'éternel débat de la performance, je t'inciterais à faire un test et apres de juger des performances. Une requete sur un varchar est certes pas la plus opti mais ca m'étonnerait fort que celà créer une quelconque chute des perfs globales du serveur. D'autant que les jointures se feront toujours sur la clé primaire et seulement UNE requete sur le varchar...

    Apres, je sais pas trop comment est fait ce forum, mais tu as l'id du sujet apparement dans l'url, donc c'est la meme mécanique avec l'id à rajouter dans la règle de rewriting tout simplement et un accés au topic via une requete sur l'id.

  14. #14
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    je te remercie fortement pour ton aide precieuse
    ça m'a donné des idées : )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] passer une variable php dans une url
    Par griese dans le forum Langage
    Réponses: 27
    Dernier message: 12/06/2006, 09h02
  2. Affecter une variable javascript à une variable php
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 20h58
  3. Utiliser la valeur d'un input dans une variable php
    Par megane dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/08/2005, 16h02
  4. [FLASH MX2004] Recuperation d'une variable php
    Par Shooter dans le forum Flash
    Réponses: 2
    Dernier message: 30/06/2005, 09h37
  5. [Applet] récupérer une variable PHP ?
    Par Shiryu44 dans le forum Applets
    Réponses: 10
    Dernier message: 22/03/2005, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo