Mysql
 sql >> Base de données >  >> RDS >> Mysql

réécrire ?id=__ au titre de la page stocké dans la ligne db

Il faudra alors modifier la ligne qui génère les liens :

echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID'>$pageTitle</a></li>";

Vous pouvez soit ajouter le titre en tant que &title= séparé et inutilisé paramètre, qui est une bonne astuce pour éviter d'avoir à modifier quoi que ce soit d'autre :

echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID&title=$pageTitle'>$pageTitle</a></li>";

Ou générer 123+title liens :

echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID+$pageTitle'>$pageTitle</a></li>";

Cela nécessiterait d'adapter le code réel du répartiteur "cms", car il doit séparer l'identifiant et le titre du paramètre $_GET.

Ou même remplacer l'ensemble index.php?id= avec juste le titre :

echo "<li><a href='" . BASE_URL . "/$pageTitle'>$pageTitle</a></li>";

Ce qui nécessiterait à son tour de déployer un .htaccess règle (quelque chose comme routage d'URL htaccess pour PHP MVC ? ). Et vous auriez à modifier le index.php script à nouveau pour rechercher le id de title . Ce qui, encore une fois, ne fonctionnerait que si les titres de votre base de données étaient tous uniques.

P.S. :Vous devriez également utiliser urlencode($pageTitle) . Et htmlspecialchars() sur le $pageTitle qui devient le texte du lien.