sql >> Database >  >> RDS >> Mysql

herschrijf ?id=__ naar paginatitel opgeslagen in db-rij

U moet dan de regel wijzigen die de links genereert:

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

Je kunt de titel als aparte en ongebruikte &title= . toevoegen parameter, wat een leuke hack is om te voorkomen dat je iets anders hoeft te wijzigen:

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

Of genereer 123+title links:

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

Hiervoor zou de werkelijke "cms"-dispatchercode moeten worden aangepast, omdat deze de id en de titel van de $_GET-parameter moet opsplitsen.

Of vervang zelfs de hele index.php?id= met alleen de titel:

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

Wat op zijn beurt een .htaccess . zou vereisen regel (zoiets als htaccess URL-routering voor PHP MVC? ). En je zou de index.php . moeten aanpassen script opnieuw om de id . op te zoeken van title . Wat weer alleen zou werken als de titels in je database allemaal uniek waren.

P.S.:Je zou eigenlijk ook urlencode($pageTitle) moeten gebruiken . En htmlspecialchars() op de $pageTitle dat wordt de linktekst.



  1. MySqlCommand Command.Parameters.Add is verouderd

  2. Hoe zou u de variantie van gegevensvariabelen op een gemeenschappelijk schema modelleren? SQL

  3. Selecteer gegevens via een functie met tabelwaarde in SQL Server

  4. Vreemd gedrag Laravel Homestead Database-verbinding