Vraag & Antwoord

Webprogrammeren & scripting

wel id in adresbalk, niet op scherm

Anoniem
sjouken
5 antwoorden
  • Met onderstaand script vraag ik een lijst van id-nummers uit de database op. Door op een id te klikken moeten bijbehorende gegevens uit de database worden gehaald. Het weergeven van de lijst met id#'s gaat goed. Maar als ik op een id klik gebeurd er niks. Behalve in de adresbalk, daar komt bijv. "?id=8". De gegevens bij deze id worden echter niet getoond. Weet iemand wat er fout is?

    <?php
    $db = mysql_connect("**","**","**");
    mysql_select_db("**", $db) or die ("FOUT: openen mislukt");
    $bla = mysql_query("SELECT id, titel FROM pagina", $db);

    if (!empty($_POST)){
    $query = "SELECT * FROM pagina WHERE id='" .$_GET["id"] ."'";
    $result = mysql_query($query) or die ("FOUT: balbla");
    while (list($id, $titel, $tekst) = mysql_fetch_row($result)){
    echo ("$titel");
    }
    }else{
    while (list($id, $titel) = mysql_fetch_row($bla)){
    echo ("<a href="". $_SERVER["PHP_SELF"] . "?id=$id" . "">$id $titel</a><br>");
    }
    }
    ?>
  • [quote:35f7491414="yolk2003"]if (!empty($_POST)){
    $query = "SELECT * FROM pagina WHERE id='" .$_GET["id"] ."'";
    [/quote:35f7491414]
    Je controleert op de inhoud van $_POST, terwijl je eigenlijk wil weten of er iets in de querystring staat.
  • [quote:6c33c3cf33="yolk2003"] echo ("<a href="". $_SERVER["PHP_SELF"] . "?id=$id" . "">$id $titel</a><br>");[/quote:6c33c3cf33]
    Bijna goed voor
    [code:1:6c33c3cf33]. "?id=$id"[/code:1:6c33c3cf33]
    moet je aangeven waar hij heen moet gaan, dus bijvoorbeeld de naam van de file waar je opstart. (bijvoorbeeld index.php).
    Je krijg dan:
    [code:1:6c33c3cf33] echo ("<a href=\"". $_SERVER["PHP_SELF"] ."/index.php"?id=$id"\">$id $titel</a><br>");[/code:1:6c33c3cf33]
    Ik had het trouwens gewoon in een appart formulier geplaatst met daarin die links op de $id plaats
  • is ook niet helemaal correct sjouken:

    echo ("<a href="". $_SERVER["PHP_SELF"] ."/index.php?id=$id"">$id $titel</a><br>");

    zonder quote na index.php :p
    en je hoeft helemaal niet index.php er voor te hebben, hij hoort het ook te doen zonder.
    zo krijg je urls als www.google.com?id=blah
  • [quote:981696f395="sjouken"]
    […] moet je aangeven waar hij heen moet gaan, dus bijvoorbeeld de naam van de file waar je opstart. (bijvoorbeeld index.php) […][/quote:981696f395][quote:981696f395="_arno_"]is ook niet helemaal correct sjouken:

    echo ("<a href="". $_SERVER["PHP_SELF"] ."/index.php?id=$id"">$id $titel</a><br>");
    […][/quote:981696f395]
    Uhm, misschien is het handig als jullie zelf eens een blik werpen in de PHP manual, vooral het stukje over PHP_SELF is interessant. ;)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.