checken of iets leeg is!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Peter  Flos

Peter Flos

08/03/2014 15:36:57
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
12
<?php
 $sql
= "
                        INSERT INTO table(
                              username,
                              password,
                              email
                        ) VALUES (
                              '"
.mysqli_real_escape_string($_POST[username])."',
                              '"
.md5($_POST[password])."',
                              '"
.$_POST[email]."'
                    )"
;
?>


Ik zou het zelf zo proberen ;)

Tevens zie ik dat je het in 2 stappen doet, eerst de Code, dan uitvoeren. Je zult hierna namelijk mysqli_query gaan gebruiken. Dat kan ook in ene:

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
<?php
 $query
= mysqli_query("
                        INSERT INTO table(
                              username,
                              password,
                              email
                        ) VALUES (
                              '"
.mysqli_real_escape_string($_POST[username])."',
                              '"
.md5($_POST[password])."',
                              '"
.$_POST[email]."'
                    )"
);
if($query){
echo "Query Gelukt";
}

if(!$query){
echo "Query Mislukt";
}

?>


Mag ik trouwens weten waarom je wel de gebruikersnaam beveiligd maar het wachtwoord en de email niet?
 
PHP hulp

PHP hulp

22/11/2024 13:50:13
 
Milo S

Milo S

08/03/2014 16:57:47
Quote Anchor link
@ Peter, wat jij doet vind ik eigenlijk nog veel vreemder. Je gebruikt 2 maal een if statement terwijl je gewoon else zou kunnen gebruiken. En dan nog zou ik mysqli_query niet direct om de Query heen zetten. Dat belemmert je namelijk in je mogelijkheden bij het weergeven van fouten.
Verder mis je nog je mysql link in de real_escape_string functie. Oftewel, je hebt maar 1 parameter en dat moeten er 2 zijn als je hem op deze manier gebruikt. Je mist diezelfde parameter ook bij mysqli_query.

Als je het doet zoals het voorbeeld hieronder, dan kun je eventueel ook de string van je query weergeven. Op die manier kun je zien of wat daar instaat wel is wat je zou verwachten.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if( $res = mysqli_query( $conn, $sql ) )
{

    echo 'Query Gelukt';
}

else
{
    echo 'Query Mislukt';
}

?>


Bij een select query kun je het dan als volgt doen

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
<?php
if( !$res = mysqli_query( $conn, $sql ) )
{

    echo 'Query mislukt';
}

elseif( mysqli_num_rows( $res ) == 0 )
{

    echo 'Geen resultaten';
}

else
{
    while( $rec = mysqli_fetch_assoc( $res ) )
    {

        # Je data weergeven
    }
}

?>
Gewijzigd op 08/03/2014 17:05:03 door Milo S
 
Mathieu Posthumus

Mathieu Posthumus

08/03/2014 20:06:05
Quote Anchor link
Nice super bedankt!

Toevoeging op 08/03/2014 20:09:42:

Peter ehm.... Wachtwoord is wel beveiligd en email kan die dan ook gewoon met real_escape....
Gewijzigd op 08/03/2014 20:11:08 door Mathieu Posthumus
 
- Ariën  -
Beheerder

- Ariën -

08/03/2014 20:28:09
Quote Anchor link
Dat zou ik zeker doen.

Toevoeging op 08/03/2014 20:28:13:

Dat zou ik zeker doen.
 
Nick kuijpers

nick kuijpers

08/03/2014 22:33:38
Quote Anchor link
Mischien ietwat te laat maar kan je controleren of iets leeg is niet beter met de nieuwe HTML5 tag required doen? Dan blijf je op de zelfde pagina, lijkt mij wat handiger. Bovendien kan je meteen een email controleren.
(
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="email" name="email" required/>

)
 
Erwin H

Erwin H

08/03/2014 23:37:14
Quote Anchor link
@Nick
Een client side check kan nooit een server side check vervangen. Wat als de gebruiker nu een browser heeft die nog geen HTML5 ondersteuning heeft, of moedwillig foute input opstuurt?
 
Jeff NextGDev

Jeff NextGDev

09/03/2014 02:09:52
Quote Anchor link
Waarom gebruik je isempty() niet? Ben je meteen klaar.
 
- Ariën  -
Beheerder

- Ariën -

09/03/2014 09:36:12
Quote Anchor link
empty() is waardeloos. Die functie laat meer toe dan je denkt. Kijk maar op http://php.net/empty

Ik zelf gebruik vaak:

If(trim($var)=="") {
 
Snelle Jaap

Snelle Jaap

10/03/2014 10:53:31
Quote Anchor link
Zet gewoon neer dat als de value = "" dat hij een melding geeft, of het script stopt.
 
Mathieu Posthumus

Mathieu Posthumus

10/03/2014 11:01:15
Quote Anchor link
Jaap het is allemaal al gelukt:D
 
Snelle Jaap

Snelle Jaap

10/03/2014 11:19:02
Quote Anchor link
Mooi.
 
Jeff NextGDev

Jeff NextGDev

12/03/2014 19:51:38
Quote Anchor link
- Aar - op 09/03/2014 09:36:12:
empty() is waardeloos. Die functie laat meer toe dan je denkt. Kijk maar op http://php.net/empty

Ik zelf gebruik vaak:

If(trim($var)=="") {


Ah thanks. Ik moet zeggen dat ik normaal gewoon gebruik maak van isset() of een filtertje (ligt aan de content en validatie), maar ik zie empty() steeds vaker voorkomen; ik zal mijn gewoonte niet veranderen dan en deze functie links laten leggen ;).
Gewijzigd op 12/03/2014 19:57:22 door Jeff NextGDev
 

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.