Mega probleem, weet zelf ook niet wat

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Bjorn Hoogeveen

Bjorn Hoogeveen

12/01/2009 19:58:00
Quote Anchor link
Oké oké, ik geef je gelijk. Alleen nu beetje gestrest omdat ik het toch gemaakt wil hebben, zodat ik gelijk een backup kan maken...
 
PHP hulp

PHP hulp

27/11/2024 11:44:59
 
Jeroen

Jeroen

12/01/2009 20:47:00
Quote Anchor link
Als je begint met je stuk script netjes en correct te scripten dan zie je snel waar errors e.d. staan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?PHP
if (isset($_GET['actie']) && $_GET['actie'] == "profiel") // AND == &&
{
    $query = mysql_query("SELECT * FROM leden WHERE id='".$_GET['id']."'");
    $aantal = mysql_num_rows($query);
    
    if($aantal == FALSE)
    {

        begintabel("Foutmelding");
    }
}

?>


Zoals je ziet is dit al een stuk overzichtelijker, je zou trouwens ook eens op de PHP website kunnen kijken voor functies om je script veiliger te maken.

Zo kan je controleren of $_GET['id'] wel uit nummers bestaat: is_numeric() & mysql_real_escape_string()

Mysql_real_escape_string() voorkomt SQL injectie

Jeroen
 
Bjorn Hoogeveen

Bjorn Hoogeveen

12/01/2009 21:01:00
Quote Anchor link
Dankje wel Jeroen!

Ik zal zeker nog het een en ander door gaan lezen. Ik denk ook dat ik als het allemaal weer werkt ga proberen om het inderdaad nog veiliger te maken. Ik heb nog wat mensen gemaild waarvan ik de template heb gevonden. Ik wacht hun reactie nog even af, dan kan ik in iedergeval die pagina terug zetten, zodat die weer werkt. Dan maak ik een mooie back-up, en in die tussentijd zal ik alweer wat meer kennis op gedaan hebben;)

Mvg, Bjorn
 
Jesper Diovo

Jesper Diovo

12/01/2009 21:14:00
Quote Anchor link
Overigens is het voorbeeldje van Jeroen nog aan de magere kant. Er mist nog een heleboel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(isset($_GET['actie']) && $_GET['actie'] == "profiel") {
  if(isset($_GET['id'])) {
    $query = "SELECT * FROM leden WHERE id = ".(int)$_GET['id']; // sql injection wordt voorkomen door (int) voor $_GET['id'] te zetten, hierdoor moet $_GET['id'] een int zijn
    $result = mysql_query($query); // query uitvoeren
    if($result) { //kijken of de query is gelukt
      if(mysql_num_rows($result) > 0) { // kijken of er records zijn
        // er is een record, profiel weergeven.

      } else { // er zijn geen records
        echo 'Profiel bestaat niet.';
      }
    }
else { // query niet gelukt, weergeef foutmelding + de uitgevoerde query
      echo mysql_error().' in query: '.$query;
    }
  }
else { // er is geen id
    echo 'Geen ID meegegeven.';
  }
}
else { // er is geen actie / de actie is niet "profiel"
  echo 'Actie is niet profiel/bestaat niet.';
}

?>
 
Bjorn Hoogeveen

Bjorn Hoogeveen

12/01/2009 21:23:00
Quote Anchor link
Haha het ziet er inderdaad wat ingewikkelder uit :P Ik ga nog proberen het hele script te krijgen, en daarin zal ik dit zeker gaan verwerken;)

Mvg, Bjorn
 

Pagina: « vorige 1 2



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.