Avatar billede UlstrupDK Nybegynder
08. august 2013 - 10:00 Der er 5 kommentarer og
1 løsning

PHP mysqli og GET

Så er den gal igen.

Jeg stirer mig blind på koderne.

Jeg kan ikke få vist min funktion VisProdukt:

function VisProdukt($produktid)
{
   
    global $mysqli;
   
    $ProduktQuery = $mysqli->query("SELECT * FROM shop_produkter WHERE id = '.$produktid.'");
    if($ProduktQuery)
      {
       
        while ($ProduktData = $ProduktQuery->fetch_object())
       
                {
           
                Echo '<div class="navn"><a href="produkt.php?id='.$ProduktData->id.'">'.$ProduktData->navn.'</a></div>';
                Echo '<div class="pris">'.$ProduktData->pris.' DKK</div>';
                       
                }
        } 
       
        else 
           
            {
           
            echo "Der opstod en fejl i databsen, prøv venligst igen senere";}

            }

På en anden side har jeg tastet:
<?php        VisProdukt($GET_[id]);?>

databasen virker mv.
Jeg kan kalde andre funktioner, men ikke denne...
Der er heller ikke fejlmeddelelse fra databasen, så jeg kan ikke gennemskue det.
Avatar billede michael_stim Ekspert
08. august 2013 - 10:44 #1
<?php        VisProdukt($GET[id]);?>
Avatar billede erikjacobsen Ekspert
08. august 2013 - 11:33 #2
<?php        VisProdukt($_GET['id']);?>
Avatar billede erikjacobsen Ekspert
08. august 2013 - 11:34 #3
Men din kode er vidt åben for SQL-injection, med mindre du begynder at anvende mysqli sammen med parameters. Læs fx http://www.eksperten.dk/guide/1480
Avatar billede erikjacobsen Ekspert
08. august 2013 - 11:37 #4
Og linien

    $ProduktQuery = $mysqli->query("SELECT * FROM shop_produkter WHERE id = '.$produktid.'");

skal så være

    $ProduktQuery = $mysqli->query("SELECT * FROM shop_produkter WHERE id = ".$produktid);

(men den skal jo så laves med parameters inden du lægger siden på nettet)
Avatar billede UlstrupDK Nybegynder
15. august 2013 - 21:02 #5
Tak for hjælpen.

Jeg fandt en anden løsning på tingene. Men jeg skal lige have styr på SQL-injection. Jeg har tidligere brugt addslashes, men jeg skal nok overveje løsningerne i linket.
Avatar billede UlstrupDK Nybegynder
22. september 2013 - 07:41 #6
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester