Regel laden uit database per id

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Micasa

micasa

14/08/2008 11:59:00
Quote Anchor link
Ik wil het volgende voor elkaar krijgen.

In de tabel: SITENAAM staan de regels ID en TITEL. Ik wil dat wanneer een bezoeker op het url:

http://sitenaam.eu/site/?id=1&game_verander=1

De titel van de site te zien krijgt met ID 1.

Hetzelfde wanneer een bezoeker op het url van

http://sitenaam.eu/site/?id=20&game_verander=1

Hier moet de titel worden geladen van het ID 20 ( etc. )

Hoe kan ik dit doen?
 
PHP hulp

PHP hulp

21/11/2024 14:03:21
 
Maarten Slenter

Maarten Slenter

14/08/2008 12:12:00
Quote Anchor link
Als je MySQL gebruikt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql
= "SELECT TITEL FROM SITENAAM WHERE ID = ".$_GET['id'];
if($query = mysql_query($sql))
{

    $titel = mysql_fetch_array($query);
    echo $titel['TITEL'];
}
[
/code]

Dit is wel wat onveilig omdat je info uit de GET direct in je SQL gooit, maar dat laat ik even achterwege omdat het anders miss wat ingewikkeld wordt;)

Er moet uiteraard wel verbinding worden gemaakt met de database enz en je moet MySQL gebruiken, anders werkt dit niet;)
 
Micasa

micasa

14/08/2008 12:28:00
Quote Anchor link
Dank u voor de reactie. Echter krijg ik niet werkende. Er wordt geen titel getoond, maar wel deze error:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Notice: Undefined index: id in /home/site/public_html/site/aanmelden.php on line 224


Op deze regel staat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT titel FROM sitenaam WHERE id = ".$_GET['id'];
 
Douwe

Douwe

14/08/2008 12:43:00
Quote Anchor link
Dat komt omdat $_GET['id'] leeg is. Zoals Maarten zegt is zijn scriptje nog niet af en veilig genoeg, het is dus niet bedoeld om echt in gebruik te nemen, meer als basis.
 
Micasa

micasa

14/08/2008 12:44:00
Quote Anchor link
Ah oke, maar hoe kan ik dan het id opvragen / titel.
 
Maarten Slenter

Maarten Slenter

14/08/2008 13:06:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_GET['id']) && is_numeric($_GET['id']))
{

    $sql = "SELECT TITEL FROM SITENAAM WHERE ID = ".$_GET['id'];
    if($query = mysql_query($sql))
    {

        $titel = mysql_fetch_array($query);
        echo $titel['TITEL'];
    }
}

?>


Dan zou je iig niet meer die error moeten krijgen.

Verder zul je zelf ff moeten rondkijken of je dit beter wilt beveiligen, maar dat is aan jou;)
Gewijzigd op 01/01/1970 01:00:00 door Maarten Slenter
 
- -

- -

14/08/2008 13:17:00
Quote Anchor link
Maarten, is_nummeric is niet volledig veilig, gebruik voor dit soort ID's altijd ctype_digit!

[Edit: moest even wat testen :)]
Gewijzigd op 01/01/1970 01:00:00 door - -
 
Maarten Slenter

Maarten Slenter

14/08/2008 13:44:00
Quote Anchor link
Dus is_nummeric geeft ook TRUE door bij 102.39 ofzo?

Sorry voor mijn niet ware waarheid;)
 
Emmanuel Delay

Emmanuel Delay

14/08/2008 14:44:00
Quote Anchor link
102.39 is dan ook een getal he.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.