fout in registratie script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niek Kasius

Niek Kasius

10/07/2013 19:12:02
Quote Anchor link
Ik krijg de onderstaande foutmelding, maar word wel geregistreerd

Deprecated: Function eregi() is deprecated in C:\wamp\www\voetbal\registreren.php on line 7

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
<?php
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
include('includes/config.php');
    if(isset($_POST['registreer'])){

        function
email_validator($email){
            if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
               {
$geldig = 'ja';   }
           else{$geldig = 'nee';}
        return $geldig;
        }
        function
email_check($email){
                $email_query = "SELECT speler_email FROM speler WHERE speler_email='".$email."';";
                $email_sql   = mysql_query($email_query)or die(mysql_error());
                if(mysql_num_rows($email_sql) == 0)
                    {
$bezet =  'nee';}
                else{$bezet =  'ja' ;}
                return $bezet;
        }
        function
spelersnaam_check($spelersnaam){
                $spelersnaam_query = "SELECT speler_naam FROM speler WHERE speler_naam='".$spelersnaam."';";
                $spelersnaam_sql   = mysql_query($spelersnaam_query)or die(mysql_error());
                if(mysql_num_rows($spelersnaam_sql) == 0)
                    {
$bezet =  'nee' ;}
                else{$bezet =  'ja';}  
                return $bezet;
        }


            if(trim($_POST['spelersnaam']) == ""){
                    echo 'U heeft geen spelersnaam ingevuld';
            }
elseif(spelersnaam_check($_POST['spelersnaam']) == 'ja'){
                echo 'Deze spelersnaam is al in gebruik, kies a.u.b een ander.';
               }
elseif($_POST['wachtwoord1'] != $_POST['wachtwoord2']){
                 echo 'De opgegeven wachtwoorden komen niet overeen';
               }
elseif($_POST['wachtwoord1'] == ""){
                 echo 'Er zijn geen wachtwoord<b>en</b> opgegeven';
               }
elseif(email_validator($_POST['emailadres']) == 'nee'){
                   echo 'Het ingevulde emailadres is niet geldig';
               }
elseif(email_check($_POST['emailadres']) ==  'ja'){
                   echo 'Er is al iemand geregistreerd met dit emailadres.';
               }
else{
                    $query = "INSERT INTO speler
                              (speler_naam, speler_wachtwoord, speler_email)
                              VALUES
                              ('"
.mysql_real_escape_string($_POST['spelersnaam'])."',
                                '"
.md5($_POST['wachtwoord1'])."',
                                '"
.$_POST['emailadres']."');";
                   $sql = mysql_query($query)or die(mysql_error());
                echo 'U bent succesvol aangemeld. Hieronder kunt u inloggen:';
                include('inloggen.php');              
               }
}
else{
?>

<form action="registreren.php" method="POST">
<table>
<tr><td>Spelernaam:</td><td><input type="text" name="spelersnaam" value=""></td></tr>
<tr><td>Wachtwoord:</td><td><input type="password" name="wachtwoord1" value=""></td></tr>
<tr><td>Wachtwoord nogmaals:</td><td><input type="password" name="wachtwoord2" value=""></td></tr>
<tr><td>Emailadres:</td><td><input type="text" name="emailadres" value=""></td></tr>
<tr><td></td><td><input type="submit" name="registreer" value="Aanmelden">
</table>
</form>    
<?php
}
?>
 
PHP hulp

PHP hulp

29/03/2024 16:33:23
 
- Ariën  -
Beheerder

- Ariën -

10/07/2013 19:16:14
Quote Anchor link
En wat heb je al gevonden? Deze vraag is al vrij veel gevraagd op het forum ;-)

Wat tips verder:
- $_POST['emailadres'] in je query kent SQL-injection
- Je foutafhandeling in je query kan beter
- md5() als encryptie is inmiddels achterhaald.
- Waarom gebruik je niet gewoon in je email_validator een true en false?
Gewijzigd op 10/07/2013 19:18:28 door - Ariën -
 
Niek Kasius

Niek Kasius

11/07/2013 05:04:18
Quote Anchor link
Probleem is opgelost!
Heb dit gevonden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if (preg_match('/^\w[-.\w]*@(\w[-._\w]*\.[a-zA-Z]{2,}.*)$/',$email))
 



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.