if name is anders dan $_GET[name]

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas de vries

thomas de vries

06/05/2011 10:34:19
Quote Anchor link
Goedendag,

Ik zit met een klein probleemje zal wel iets simpels zijn maar ik kom er niet uit.
ik heb deze code
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
22
23
24
25
26
27
28
29
<?php
$payment_id
= $_REQUEST['payment_id'];
$name = $_REQUEST['naam'];
$amount = $_REQUEST['price'];
$mpoints = $_REQUEST['punten'];
$currency = $_REQUEST['currency'];


include("includes/connect.php");
//Gegevens uit de DB onebipvalid halen//
$sql_valid = "SELECT name,mpoints,price FROM onebipvalid WHERE name = '".$name."'";
if(!$result = $mysqli->query($sql_valid))
{

    $melding = "Fout";    
}

else
{
    $row = $result->fetch_assoc();
    if($name !== $row['name'])
    {

        echo "ok";    
    }

    else
    {
        echo "fout";    
    }
    
}

?>


Zoals jullie kunnen zien haalt dit script gegevens uit de database waar het begint met de name.
Maar nu wil ik dus een controle inbouwen
met een if else constructie.
maar wat ik ook doe hij blijft zeggen fout.
Haal ik de ! teken weg en dus alleen de vergelijking operator
dan blijft ie alleen maar zeggen ok.
en dat hoort niet vindt ik.
Kan iemand mij hiermee helpen?

Alvast bedankt,

Thomas de vries.

Toevoeging op 06/05/2011 10:42:34:

Srry probleem al opgelost.
Had de url verkeerd.
excusus.
 
PHP hulp

PHP hulp

16/01/2025 00:57:08
 
Vincent Huisman

Vincent Huisman

06/05/2011 10:59:18
Quote Anchor link
je script is lek => sqlinjection
 
Kees Schepers

kees Schepers

06/05/2011 12:05:18
Quote Anchor link
Doe eens het volgende om erachter te komen WAAROM hij 'fout' terug geeft:

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
<?php
if(!$result = $mysqli->query($sql_valid))
{

    $melding = "Fout";    
}

else
{
    $row = $result->fetch_assoc();
    var_dump($name, $row['name']);
    if($name !== $row['name'])
    {

        echo "ok";    
    }

    else
    {
        echo "fout";    
    }
    
}

?>
 
- SanThe -

- SanThe -

06/05/2011 12:50:28
Quote Anchor link
Kees Schepers op 06/05/2011 12:05:18:
... WAAROM hij 'fout' terug geeft


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if($name !== $row['name'])
    {

        echo "ok";    
    }

    else
    {
        echo "fout";    
    }

?>


Simpel: Als ze NIET hetzelfde zijn dan krijg je 'ok'. En in de query moeten ze hetzelfde zijn. Logisch dat je dan 'fout' krijgt te zien.
 
Joren de Wit

Joren de Wit

06/05/2011 13:38:29
Quote Anchor link
@SanThe: ik vermoed dat er verwezen werd naar het afhandelen van de mysql error? Alleen is het voorbeeld van Kees dan nog niet handig, beter zou daar mysql_error() als melding op regel 4 gebruikt worden :-)
 
- SanThe -

- SanThe -

06/05/2011 13:45:19
Quote Anchor link
@Joren: Ik denk het niet aangezien dit op regel 9 is toegevoegd: var_dump($name, $row['name']);
 
Joren de Wit

Joren de Wit

06/05/2011 13:51:21
Quote Anchor link
Heb je helemaal gelijk in :-)
 
Vincent Huisman

Vincent Huisman

06/05/2011 13:56:12
Quote Anchor link
Thomas de vries op 06/05/2011 10:34:19:
Toevoeging op 06/05/2011 10:42:34:

Srry probleem al opgelost.
Had de url verkeerd.
excusus.
 



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.