if voert het gewoon uit

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dirk Renes

Dirk Renes

07/12/2011 11:21:20
Quote Anchor link
wat doe ik hier fout? als alles vol is behalve wachtwoord dan stuurt die hem door.

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
<?php

    $id
= '';
    $email = mysql_real_escape_string($_POST['email']);
    $gebruikersnaam = mysql_real_escape_string($_POST['gebruikersnaam']);
    $wachtwoord = mysql_real_escape_string(addslashes(sha1($_POST['wachtwoord'])));
    $hwachtwoord = mysql_real_escape_string(addslashes(sha1($_POST['hwachtwoord'])));
    $recht = '2';

if(empty($gebruikersnaam) || empty($wachtwoord) || empty($email)|| empty($hwachtwoord)){
                echo 'U bent iets vergeten in te vullen';
                
                    }
elseif($wachtwoord  != $hwachtwoord){
                        echo'De wachtwoorden komen niet overeen!';
                    }
else
?>
Gewijzigd op 07/12/2011 11:26:46 door Dirk Renes
 
PHP hulp

PHP hulp

08/05/2021 12:58:36
 
- Ariën -
Beheerder

- Ariën -

07/12/2011 11:24:25
Quote Anchor link
Waar komt $gebruikersnaam, $wachtwoord, $email vandaan?

empty() is trouwens geen goede manier om te kijken of iets een waarde heeft.
 
Peter Dorn

Peter Dorn

07/12/2011 11:25:06
Quote Anchor link
Ik kan hier zo geen fout in ontdekken.
Mogelijk dat het eerder al fout gaat, met het vullen van de variabelen?
 
Dirk Renes

Dirk Renes

07/12/2011 11:27:07
Quote Anchor link
- Aar - op 07/12/2011 11:24:25:
Waar komt $gebruikersnaam, $wachtwoord, $email vandaan?

empty() is trouwens geen goede manier om te kijken of iets een waarde heeft.


heb ook me post even toegevoegd. volgorde maakte ook niet uit.
Gewijzigd op 07/12/2011 11:27:47 door Dirk Renes
 
Peter Dorn

Peter Dorn

07/12/2011 11:30:38
Quote Anchor link
sha1 over een lege string geeft alsnog een string terug, en zal dus nooit leeg zijn.
Sowieso moet je geen zaken als addslashes en escape_string niet gebruiken zolang je met de variabelen werkt, maar pas toepassen bij database gebruik.

Daarnaast is escape_string en addslashes dubbelop.
 
Dirk Renes

Dirk Renes

07/12/2011 11:40:18
Quote Anchor link
oke, maar hiermee is niet het probleem opgelost.
 
Peter Dorn

Peter Dorn

07/12/2011 11:41:36
Quote Anchor link
Wat heb je nu dan?
 
Wouter J

Wouter J

07/12/2011 11:44:12
Quote Anchor link
Je handelt PHP af in de verkeerde volgorde.

Je doet eerst dingen met de variabelen en kijkt dan pas of ze bestaan. Alsof je je eerst van 50 meter hoog laat vallen en dan pas kijkt of er een vangnet klaar ligt...

Dus kijk eerst of de $_POST variabelen allemaal geset zijn. Dit doe je niet met empty, maar met isset (en dan natuurlijk gebruikmaken van de not operator).
Mocht alles oké zijn, ga dan verder met je script en doe wat leuks met de variabelen. Mocht het niet oké zijn geef dan de error en voer de rest niet uit.
 
Dirk Renes

Dirk Renes

07/12/2011 14:48:53
Quote Anchor link
Opgelost isset werkte
 



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.