Hallo,

Ik heb de navigatie op mn website bovenin en ik wil deze uit de SQL database halen.
Ook moet een nieuwe link automatisch zichtbaar worden in de nav als ik in de db er een toevoeg.
Het is ook de bedoeling dat hij automatisch de juiste tekst die bij de link hoort uitleest en in de content plaatst zonder dat de header, footer en menu bar worden vernieuwd.

Ik wil dus graag een soortgelijke URL als mijnsite.nl/index.php?pagina=1 of ?pagina=home.

Kan iemand mij helpen?
Pim de Haan op 19/08/2010 11:49:50

Bijna klaar, vervang
<?php
$query = "SELECT * FROM `cafe` WHERE pagina_id = '".$pagina."' ";
// door
$page = isset($_GET['pagina']) ? (int) $_GET['pagina'] : 1; // SQL injection beveiliging
$query = "SELECT * FROM `cafe` WHERE pagina_id = '".$page."' ";
?>
Je moet nu alleen nog een foutafhandeling maken als er geen pagina gevonden wordt.



Heel erg bedankt, het werkt :)
nog 1 klein vraagje, hoe maak ik zo'n fout afhandeling?
dat als bijvoorbeeld de pagina_id niet terug is gevonden in de db dat er dan automatisch op komt te saan dat de pagina niet kon worden gevonden.
onder de juiste query

<?php
if(mysql_num_rows($record) == 0){
// geen pagina's gevonden
} else {
// pagina gevonden, ga door
}
?>

Daarnaast, maak gebruik van mysql_fetch_row of mysql_fetch_assoc, mysql_fetch_object is de traagste.

Is pagina_id een int? Dan kan je die beter zonde quotes doen, nu maak je er een string van en moet mysql dus een string to int conversie maken, wat extra tijd kost.

Gezien de pagian_id van de gebruiker moet je deze wel valideren, in dit geval is een
<?php
if(ctype_digit($pagina)){
// $pagina is veilig
} else {
// $pagina is geen getal? ERROR ERROR!
}
?>

myqsl_real_escape_string hoeft dan niet gebruikt te worden, mysql injection kan niet met enkel cijfers.
maar waar moet ik deze in mijn script zetten?
De makkelijkste manier is het in een php bestandje zetten en deze overal includen.
Pim de Haan op 23/08/2010 13:12:47

De makkelijkste manier is het in een php bestandje zetten en deze overal includen.


4 dagen later...

Niet zo moeilijk eigenlijk ke werkt met een get functie
ik zal je een voorbeeld geven

<?php
switch($_GET['JEPAGINAREQUEST']) { //Bevoorbeeld dan www.jesite.com/?JEPAGINARESUEST=
      case "home":
       echo ''; 
       break;
?>

Reageren