User reg script, weg kwijt :)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels

Niels

03/08/2009 19:52:00
Quote Anchor link
Dit is mijn eerste script, en is al een keer nagelopen. Volgens mij mis ik ergens een klein dingetje, maar zie niet wat... Bij het uitvoeren slaat de pagina blanco.

Iemand enig idee waarom ie blanco slaat? niet gewoon een foutmelding?

Hoop dat iemand er naar kan kijken, 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?php
mysql_connect("mysql8.000webhost.com", "") or die(mysql_error());
mysql_select_db("a8378689_userreg") or die(mysql_error());

define('DEBUG_MODE', true); // Deze op false zetten als je klaar bent met het debuggen

 //////////////////////////////////////////////
 // This script validates the register form. //
 //////////////////////////////////////////////



 ///////////////////////////////////////////////////////////////
 // Functie om de lengte van een string te controleren (3-15) //
 ///////////////////////////////////////////////////////////////


  function CheckStrlen($sValue) {
     if(strlen($sValue) < 3 || strlen($sValue) > 35) {
         return 1; // foute boel!!
     } else {
         return 0; // alles oké hier....
     }
  }




  // Alle POST variabelen escapen
  foreach ($_POST as $key => $value) {
      $_POST[$key] = mysql_real_escape_string($value);
  }

  // Alle GET variabelen escapen
  foreach ($_GET as $key => $value) {
      $_GET[$key] = mysql_real_escape_string($value);
  }



  if(isset($_GET['act'])) {
     $sAction = $_GET['act'];
  }


  if(isset($sAction) && $sAction == 'register' && isset($_POST['submit'])) {

      // De error variabele zetten
      $aError = array();

      $sName = $_POST['naam'];
      $sPassword = $_POST['password'];
      $sUsername = $_POST['username'];
      $sRePassword = $_POST['repassword'];
      $sWoonplaats = $_POST['woonplaats'];
      $sEmail = $_POST['email'];
      $sGender = isset($_POST['sex']);
      $sReEmail = $_POST['reemail'];

      $aStrlen['Name'] = CheckStrlen($sName);
      $aStrlen['Username'] = CheckStrlen($sUsername);
      $aStrlen['Password'] = CheckStrlen($sPassword);
      $aStrlen['Woonplaats'] = CheckStrlen($sWoonplaats);
      $aStrlen['RePassword'] = CheckStrlen($sRePassword);
      $aStrlen['Woonplaats'] = CheckStrlen($sWoonplaats);
      $aStrlen['Email'] = CheckStrlen($sEmail);

      foreach($aStrlen as $key => $value) {
          if($value == 1) {
              echo $key . ' te kort of te lang, 3 - 35 char toegestaan. <br />';
 
              $aError[$key] = 1;
          }
      }


      if(empty($sGender)) {
         echo 'Er is geen geslacht ingevuldt<br/>';

         $aError['Gender'] = 1;
      }


      if($sReEmail != $sEmail) {
         echo 'Emails matchen niet<br/>';

         $aError['EMail'] = 1;
      }


      if ($sRePassword != $sPassword) {
         echo 'Passwords matchen niet';      
 
         $aError['Password'] = 1;
      }


      /////////////////////////////////////////////
      // Kijken of de username al in gebruik is. //
      /////////////////////////////////////////////


      $sSQL = "SELECT * FROM userreg WHERE username = '" . $sUsername . "'";
      $rResult = mysql_query($sSQL);
 
      if(!$rResult) {

          if(DEBUG_MODE) {
              echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
          }
else {
              echo("Er ging iets fout met de query");
          }
      }
else {
          if(mysql_num_rows($rResult) > 0) {
              echo 'Username is al in gebruik';  

              $aError['Username'] = 1;
          }
      }


      /////////////////////////////////////////////////
      // Kijken of het e-mail adres al in gebruik is //
      /////////////////////////////////////////////////


      $sSQL = "SELECT * FROM userreg WHERE email = '" . $sEmail . "'";
      $rResult = mysql_query($sSQL);
 
      if(!$rResult) {

          if(DEBUG_MODE) {
              echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
          }
else {
              echo('Er ging iets fout met de query');
          }
      }
else {
          if(mysql_num_rows($res) > 0) {
              echo 'Email is al geregistreerd';  

              $aError['Email'] = 1;
          }
      }



      ////////////////////////////////////
      // Als er geen foutmeldingen zijn //
      //   de user opslaan in de DB     //
      ////////////////////////////////////


      if(!in_array('1', $aError)) {
 
          $sPassword = md5($sPassword); // Het wachtwoord md5 encrypten

          $sSQL = "INSERT INTO userreg (naam,
                                        password,
                                        username,
                                        email,
                                        woonplaats,
                                        geslacht )
                                VALUES ('"
. $sName . "',
                                        '"
. $sPassword . "',
                                        '"
. $sUsername . "',
                                        '"
. $sEmail . "',
                                        '"
. $sWoonplaats . "',
                                        '"
. $sGender . "')";
                                      
          $rResult = mysql_query($sSQL);
    
          if(!$rResult) {

              if(DEBUG_MODE) {
                  echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
              }
else {
                  echo("Er ging iets fout met de query");
              }
          }
else {
             echo 'U kunt nu inloggen';    
          }
      }
  }

?>
 
PHP hulp

PHP hulp

05/12/2024 02:09:45
 
Noppes

Noppes

03/08/2009 20:05:00
Quote Anchor link
Wel het hapert aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
?>

boven aan in je script, wat daaruit komt dien je eerst op te lossen

en het volgende ontbreekt
- correcte controle en validatie op $_POST ontbreekt
- empty moet je zo ie zo niet gebruiken
- mysql_real_escape haal je te vroeg over de $_POST/$_GET heen, pas toepassen als het de database tabel ingaat
 
Niels

Niels

04/08/2009 12:56:00
Quote Anchor link
Zou je me kunnen vertellen wat ik fout doe aan de controle ? zoek me helemaal kapot :)

zal wel iets kleins zijn?

bedankt
 



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.