Forum » Server-Side scripting » REgisteren
Berichten: 830
avatar
Offline Stuur privebericht
Hallo,

Als ik me registeer op me crime krijgt ik de volgende error :
Code | Selecteer Alles
minimaliseren
1
Duplicate entry '0' for key 'PRIMARY'


Misschien komt het omdat ik tabel users een keer heb gerestored van een backup ??

Of wat kan et anders zijn ?

Script:
Code | Selecteer Alles
minimaliseren
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
<?
if (isset($_POST['login']))
{
  
$login                    $_POST['login'];
  
$pass                     $_POST['pass'];
  
$passconfirm              $_POST['passconfirm'];
  
$city                        $_POST['stad'];
  
$taal                        $_POST['taal'];
  
$email                    $_POST['email'];
  
$type                        $_POST['type'];
  
$recruiter                $_POST['recruiter'];
  
$IP                        $_SERVER['REMOTE_ADDR'];

  if(isset(
$_POST['submit'])) {
    
$message = array($index4,$index5,$index6,$index7,$index8,$index9,$index10,$index11,$index4a);

    
$msgnum                    = -1;
    if(
preg_match('/^[a-zA-Z0-9_-]+$/',$login) == 0)
      
$msgnum                    0;
      if(
$pass == "" || $pass != $passconfirm)
      
$msgnum                    1;
    if(
preg_match('/^.+@.+..+$/',$email) == 0)
      
$msgnum                    2;
    if(
$type != && $type != && $type != 3)
      
$msgnum                    3;
    else {
      
$dbres                    mysql_query("SELECT `id` FROM `[users]` WHERE `login`='{$login}'");
      if(
mysql_num_rows($dbres) > 0)
      {
        
$msgnum                    4;
       }    
        
$dbres                    mysql_query("SELECT `id` FROM `[temp]` WHERE `login`='{$login}'");
      if(
mysql_num_rows($dbres) > 0)
      {
        
$msgnum                    4;
      }
      
$dbres                    mysql_query("SELECT `id` FROM `[users]` WHERE `email`='{$email}'");
      if(
mysql_num_rows($dbres) > 0)
    
$msgnum                    5;
     
$dbres                    mysql_query("SELECT `id` FROM `[temp]` WHERE `naar`='{$email}'");
      if(
mysql_num_rows($dbres) > 0)
    
$msgnum                    5;
     
$dbres                    mysql_query("SELECT `id` FROM `[users]` WHERE `ip`='{$_SERVER['REMOTE_ADDR']}'");
      if(
mysql_num_rows($dbres) > 0)
    
$msgnum                    7;
     
$dbres                    mysql_query("SELECT `id` FROM `[temp]` WHERE `ip`='{$_SERVER['REMOTE_ADDR']}'");
      if(
mysql_num_rows($dbres) > 0)
    
$msgnum                    7;
    if(!empty(
$_POST['recruiter']) && preg_match('/^[a-zA-Z0-9_-]+$/',$recruiter) == 0)
        
$msgnum                    6;
    if (!
checkmail($email))
    
$msgnum                    8;
      if(
$msgnum == -1) {

        
$code                    rand(100000,999999);
        if(
$recruiter != ""
        {
        
mysql_query("UPDATE `[users]` SET `referals`=`referals`+'1' WHERE `login`='{$recruiter}'");
        
mysql_query("UPDATE `[users]` SET `cash`=`cash`+'100000' WHERE `login`='{$recruiter}'");
        
mysql_query("INSERT INTO `[messages]`(`time`,`from`,`to`,`subject`,`message`,`outbox`) values(NOW(),'".trim($sitelink,'http://www.')."','$recruiter','".$index12a."',".str_replace("%sitelink%",$sitelink,$index12)."','0')");
        }
        
mysql_query("INSERT INTO `[users]`(signup,login,pass,IP,email,land,type,taalkeuze) values(NOW(),'$login',MD5('$pass'),'$IP','$email','$city','$type','$taal')") or die (mysql_error());
        
$tempmysql_insert_id();
        
mysql_query("INSERT INTO `[users-info]`(ID) values('".$temp."')") or die (mysql_error());
        
mysql_query("INSERT INTO `[users-stats]`(ID) values('".$temp."')") or die (mysql_error());
        
mysql_query("INSERT INTO `[logs]`(`time`,`IP`,`login`,`person`,`code`,`area`) values(NOW(),'$IP','$login','$login',$code,'signup')")or die("9 ".mysql_error());
        
mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time,naar) values('$login','$IP',$code,'signup',NOW(),'$email')");
        
//laatste record nummer ophalen
        
$id    mysql_insert_id();
        
mysql_query("UPDATE `[users]` SET `activated` = '1' WHERE `login`='{$login}'");
        
$replace=array("%sitelink%","%login%","%email%","%pass%","%site%","%id%","%code%");
        
$replaceby=array(trim($sitelink,'http://www.'),$login,$email,$pass,$sitelink,$id,$code);
        
mail($_POST['email'],trim($sitelink,'http://www.')." - $index13",str_replace($replace,$replaceby,$index14),"From: ".trim($sitelink,"http://www.")." <$page->emailadmin>");
        
mail($page->emailadmin,trim($sitelink,'http://www.')." - $index15",str_replace($replace,$replaceby,$index16),"From: ".trim($sitelink,"http://www.")." <$page->emailadmin>");
      }
    }
  }
}


  if(isset(
$_GET['id'],$_GET['code'])) {
      print 
"  <tr><td class=\"subTitle\"><br><br><b>$index36</b></td></tr>n";

      
$id                        $_GET['id'];
      
$code                    $_GET['code'];
      
$dbres                    mysql_query("SELECT `IP`,`login` FROM `[temp]` WHERE `area`='signup' AND `id`='$id' AND `code`='$code'");
        
$sitelink2=trim($sitelink,"http://www.");
      if(
$data mysql_fetch_object($dbres)) {
      
$acti 1;
      
mysql_query("UPDATE `[users]` SET `activated`='1',`signupemail`=`email`,`signup`=NOW(),`signuporiginal`=NOW() WHERE `login`='{$data->login}'")or die(mysql_error());
      
mysql_query("INSERT INTO `[logs]`(`time`,`IP`,`login`,`person`,`code`,`area`) values(NOW(),'$data->IP','$data->login','$data->login','$code','$index36')")or die("9 ".mysql_error());
      
mysql_query("INSERT INTO `[messages]`(`time`,`from`,`to`,`subject`,`message`,`outbox`) values(NOW(),'".trim($sitelink,'http://www.')."','{$data->login}',$index37,'".str_replace("%sitelink%",$sitelink2,$index38)."','0')");
      
$replace=array("%sitelink%","%login%");
      
$replaceby=array(trim($sitelink,'http://www.'),$data->login);
      
mail($page->emailadmin,trim($sitelink,'http://www.')." - $index17",str_replace($replace,$replaceby,$index18),"From: ".trim($sitelink,"http://www.")." <$page->emailadmin>");


      
mysql_query("DELETE FROM `[temp]` WHERE `id`='$id'");
      print 
"  <tr><td class=\"mainTxt\"><br><br>$index41</td></tr>n";
    }
    else
      print 
"  <tr><td class=\"mainTxt\"><br><br>$index42</td></tr>n";
  }
  else {
    if(
$msgnum != -1) {
        
$rec $_GET['rec'];
        
?>

19-03-2011 09:26
Dit topic is 131 keer bekeken door 31 verschillende leden
Reacties op: "REgisteren"
1
Luc
devow.nl
Berichten: 1592
avatar
Offline Stuur privébericht
Ligt niet aan je script maar aan je database. Je zal wel ergens (waarschijnlijk id in de [users] table vergeten zijn om op auto increment te zetten.
19-03-2011 09:28
Berichten: 830
avatar
Offline Stuur privébericht
wat is auto increment precies ?
19-03-2011 09:32
Berichten: 849
avatar
Offline Stuur privébericht
Dat hij automatisch doornummert. 1,2,3 enz...
19-03-2011 09:33
Berichten: 830
avatar
Offline Stuur privébericht
Gefixed

Inderdaad bij tabel users stong auto increment niet aan.

Dankje wel !
19-03-2011 09:37
Reageer op: "REgisteren"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden