Registratie script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ben Janssen

Ben Janssen

17/04/2011 13:46:01
Quote Anchor link
Hoi allemaal,

Ik ben nog niet zo heel lang met PHP bezig, en werk nu aan een registratie script.
Helaas zie ik door de bomen het bos niet meer.

Kan iemand van jullie mijn script controleren, en mij vertellen of er fouten in zitten, en zo ja, welke.

Alvast bedankt

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php

/**
 * @author Ben Janssen
 * @copyright 2011
 */

ini_set('display_errors',1);
error_reporting(E_ALL);
session_start();
include 'cfg/mbrcon.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/secure/latest/securimage.php';
$securimage = new Securimage();

if ($securimage->check($_POST['captcha_code']) == false)
{

  // the code was incorrect
  // handle the error accordingly with your other error checking

  // or you can do something really basic like this

  die('The code you entered was incorrect.  Go back and try again.');
}


if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    $_SESSION['errors'] = array();
    $_SESSION['data'] = array();
    $form = array(
    'nm','anm','afd','kind','email','ww','ww2'
    );
    $form2 = array(
    'pnm','panm');
    $pw = $_POST['ww'];
    $pw2 = md5($pw);
    if(isset($_POST[$form]))
    {

        $value = trim($_POST[$form]);
    }

    $_SESSION['data'][$veld] = $value;
    if(in_array($veld,$form2))
    {

        continue;
    }

    if($veld == 'email')
    {

        if(!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$value))
                    {

                        $_SESSION['errors'][$veld] = true;
                        $errors[] = 'Dit is geen geldig email adres.';
                    }
        
    }

    elseif($veld == 'ww')
    {

        if($veld['ww'] == $veld['ww2'])
        {

            $_SESSION['errors'][$veld] = true;
            $errors[] = 'Het wachtwoord komt niet overeen.';
        }

        else
        {
        $veld['ww'](ctype_alnum($password) // numbers & digits only
        && strlen($password)>6 // at least 7 chars
        && strlen($password)<21 // at most 20 chars
        && preg_match('`[a-z]`',$password) // at least one lower case
        && preg_match('`[0-9]`',$password)); // at least one digit
        $_SESSION['errors'][$veld] = true;
        $errors[] = 'Het wachtwoord moet uit minimaal 7 en maximaal 20 letters of cijfers bestaan.';
        }
    }

    if(empty($value))
    {

        $_SESSION['errors'][$veld] = true;
        $errors[] = 'U bent het volgende vergeten, : '.$veld;
    }
    
}


?>
 
PHP hulp

PHP hulp

28/11/2024 10:18:23
 
Noppes Homeland

Noppes Homeland

17/04/2011 14:04:45
Quote Anchor link
Volgens mij kan je beter zelf aangeven wat er aan hapert.....

2 aanwijzingen:
Je gebruikt $veld als string en als array, dat kan uiteraard nooit goed gaan

en de volgende functies zijn in mijn ogen uit den boze om te gebruiken:
die()
empty()
 
Ben Janssen

Ben Janssen

17/04/2011 16:08:16
Quote Anchor link
hmmm, ik ben hem nog niet aan het testen, omdat de MySQL code er nog bij moet.

Zou je me kunnen vertellen waar ik hem gebruik als string, en waar als array.
Ik heb nog best wel moeite met het onderscheiden van die 2.

Heb je ook alternatieven voor die() en empty()??

Alvast bedankt
 
Noppes Homeland

Noppes Homeland

17/04/2011 16:13:24
Quote Anchor link
Alternatieven:
die(), correcte foutafhandeling, script logica
empty(), trim en http://php.net/manual/en/language.operators.comparison.php

$veld als string op 43, 52
$veld als array op 54
 



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.