Faire un lien dynamique pour RewriteRule

Nouveau WRInaute
Bonjour à toutes et à tous,

D'abord, je tiens à remercier tous les intervenants de ce forum que je touve super bien fait.
J'ai un tout petit problème avec RewriteRule. Avec votre aide, je vais m'en sortir.

J'ai fait une réécriture des liens qui marchent bien. Voici le code.
Code:
Options +FollowSymlinks
RewriteEngine on 
RewriteRule ^arts-([0-9]+)-([0-9]+)\.html$ arts.php?pg=$1&ID=$2 [L]


Ce code génére ce lien: http://www.sherata.com/arts-1-2.html

C'est magnifique. Le problème, c'est changer tous les liens à l'intérieur de mon site pour qu'ils soient tous au nouveau format. Les liens étant dynamiques, je ne peux pas écrire arts-1-3.html. Comment faire q'uil prenne en compte les variables envoyées.

Le lien dynamique actuel que je cherche à formater est :
echo "<a href= \"arts.php?pg=$pg&ID=$ID\"> </a>";

Comment récrie ce lien?

Merci d'avance de m'aider

Dave
 
WRInaute passionné
Jack_du_Lac a dit:
Bonjour à toutes et à tous,

D'abord, je tiens à remercier tous les intervenants de ce forum que je touve super bien fait.
J'ai un tout petit problème avec RewriteRule. Avec votre aide, je vais m'en sortir.

J'ai fait une réécriture des liens qui marchent bien. Voici le code.
Code:
Options +FollowSymlinks
RewriteEngine on 
RewriteRule ^arts-([0-9]+)-([0-9]+)\.html$ arts.php?pg=$1&ID=$2 [L]


Ce code génére ce lien: http://www.sherata.com/arts-1-2.html

C'est magnifique. Le problème, c'est changer tous les liens à l'intérieur de mon site pour qu'ils soient tous au nouveau format. Les liens étant dynamiques, je ne peux pas écrire arts-1-3.html. Comment faire q'uil prenne en compte les variables envoyées.

Le lien dynamique actuel que je cherche à formater est :
echo "<a href= "arts.php?pg=$pg&ID=$ID"> </a>";

Comment récrie ce lien?

Merci d'avance de m'aider

Dave

Arg faut faire un effort...

t'avais un truc du style
Code:
arts.php?pg=(chiffre)&ID=(chiffre)
créé avec
Code:
echo "<a href= "arts.php?pg=$pg&ID=$ID"> </a>";

maintenant tu veux
Code:
arts-(chiffre)-(chiffre).html
tu ne vois vraiment pas comment faire ? :?
 
Nouveau WRInaute
Non je ne vois pas

Je pense qu'on s'est mal compris.

Pourtant je croyais avoir été très clair sur ce que je demandais.
Le lien de la page est réécrite. Il y a pas de problème à ce ne niveau. C'est le lien vers cette page que je veux modifier. Ce lien dois rester dynamique.

Code:
echo "<a href= \"arts.php?pg=$pg&ID=$ID\"> </a>";

Je vous serez reconnaissant de m'aider sans me faire faire des devinettes
Merci infiniment à toutes et à tous.
Dave[/code]
 
WRInaute passionné
et c'est pas
Code:
echo "<a href= \"arts-$pg-$ID.html\"> </a>";
que tu cherches à faire, par hasard ? :roll:
 
Nouveau WRInaute
Merci aux participants de ce forum

Je te remercie beaucoup Dj_Apx

J'aurai d'autres questions à te poser plus tard mais je te laisse qu'en même souffler un peu.
Merci et A+
 
WRInaute passionné
Re: Merci aux participants de ce forum

Jack_du_Lac a dit:
Je te remercie beaucoup Dj_Apx

J'aurai d'autres questions à te poser plus tard mais je te laisse qu'en même souffler un peu.
Merci et A+
N'hésite pas à poser des questions en cascade, ça ne me pose aucun problème de répondre à toutes, à condition que tu y mettes du tien :wink:
 
Nouveau WRInaute
J'ai un problème pour gérer les guillemets-double dans un texte du visiteur entré depuis un formuaire .
Lorsque je mets le code suiant pour le champ caché qui contient le texte dont un le mot est entouré des guillemets-double, le texte est coupé avant le mot.
Voici le code. Il faut noter que l'affichage est traité par stripslashes();
Code:
<input name="monmessage" type="hidden" id="monmessage" value="<?php echo $monmessage; ?>">
J'ai essayé ensuite de gérer la variable $monmessage avant de l'insérer dans la base de données Voilà ce que j'ai fait:
Code:
<?php
$message = addslashes($monmessage);
?>

Malheureusement dans ce cas-ci, le résultat est pire: le texte est coupé avant le mot contenant les guillemets-doubles mais en plus il m'affiche les antislashes alors que l'affichage est géré par stripslashes();
A l'aide Dj-Apx s'il vous plait.
 
Nouveau WRInaute
J'ai finalement trouvé la réponse. Il faut travailler avec les str_replace.
C'est un truc comme ça que j'ai fait et ça marche.
str_replace('"','#!#',$monmessage);
En tout cas merci pour ton aide.
 
Nouveau WRInaute
Merci beaucoup. Je vais le remplacer alors. Mais juste pour savoir. Pourriez vous me dire pourquoi l'autre solution n'est pas bonne? J'aimerais apprendre, c'est pour ça que je vous demande.
Merci d'avance de me renseigner
 
WRInaute discret
Bah parce que tu remplaces des " par une autre chaîne, bref si tu as besoin d'utiliser cette autre chaîne, c'est niet. Ensuite pour faire ça la fonction htmlentities() est plus appropriée car elle transforme les caractères html en leurs entités affichables.
 
Nouveau WRInaute
Bonjour tout le monde,
j'ai un problème de Mysl. J'essaie de modifier une donnée avec update et voilà le message d'erreur qu'il m'affiche. "Duplicate entry '11' for key 1" Quelqu'un peut me dire ce que ça signifie?

Merci d'avance
 
Nouveau WRInaute
Merci Anthomicro et merci à tout le monde

J'ai trouvé le problème. C'est la base de données MySql qui buggait.
J'ai tout supprimé et tout refait. Maintenant, tout marche bien.
Bonne soirée à tout le monde
 
Discussions similaires
Haut