signup.php fout met

  • Onderwerp starter Onderwerp starter eeyk
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

eeyk

Terugkerende gebruiker
Lid geworden
28 mrt 2007
Berichten
1.232
ik heb een fout gevonden in me signup.php

als je wilt aanmelden dan zeg die telkens dat ik Deze tekst niet gebruik A-Z a-z 0-9

Terwel ik deze naam in tik eeyk

Code:
<?php /* ------------------------- */  
  include("_include-config.php");  
    if(check_login()) {  
    print "<tr><td class=\"mainTxt\">Je bent al ingelogd</td></tr>";  

    mysql_query("DELETE FROM `[online]` WHERE `login`='{$_COOKIE['login']}' AND `validate`='{$_COOKIE['validate']}' AND `IP`='{$_SERVER['REMOTE_ADDR']}'"); 
    unset($_SESSION['login']);  
    unset($_SESSION['IP']);  
    unset($_SESSION['data']);  

print <<<ENDHTML 
</table>  
</body>  
</html>  
<noscript><noscript><plaintext><plaintext>  
ENDHTML; 
  exit;  
  }  

  $login2                    = $_POST['login'];  
  $pass                        = $_POST['pass'];  
  $passconfirm                    = $_POST['passconfirm'];  
  $email                    = $_POST['email'];  
  $recruiter                    = $_POST['recruiter'];  
  $type                        = $_POST['type'];  
  $IP                        = $_SERVER['REMOTE_ADDR'];  
  ${"select$type"}                = "selected";  

  if(isset($_POST['submit'])) {  
    $message = Array(  
    "Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",  
    "De wachtwoorden die je gaf zijn niet identiek",  
    "Vul een geldig e-mail adres in",  
    "Selecteer een type crimineel",  
    "Er bestaat al iemand met die login",  
    "Er is al iemand met die e-mail",  
    "De login van je recruiter mag alleen A-Z, a-z, 0-9, _ en - in de naam hebbben",  
    "Er is al een account in gebruik op deze computer!");  

      $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 != 1 && $type != 2 && $type != 3 && $type != 4 && $type != 5 && $type != 6)  
      $msgnum                    = 3;  
    else {  
      $dbres                    = mysql_query("SELECT `id` FROM `[users]` WHERE `login`='{$login2}'");  
      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;  
    if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login) == 0)  
        $msgnum                    = 6;  
      $dbres                                    = mysql_query("SELECT `id` FROM `[users]` WHERE `IP`='{$IP}'");  
      if(mysql_num_rows($dbres) > 0)  
        $msgnum                                 = 7;                   

      if($msgnum == -1) {  
        $code                    = rand(100000,999999);  
        mysql_query("UPDATE `[users]` SET `recruits`=`recruits`+'1' WHERE `login`='{$recruiter}'");  
        mysql_query("UPDATE `[users]` SET `clicks`=`clicks`+'5' WHERE `login`='{$recruiter}'");  
        mysql_query("UPDATE `[users]` SET `bank`=`bank`+'2500' WHERE `login`='{$recruiter}'");  
        mysql_query("UPDATE `[users]` SET `attack`=`attack`+'100' WHERE `login`='{$recruiter}'");  
        mysql_query("INSERT INTO `[users]`(signup,login,pass,IP,email,type) values(NOW(),'$login',MD5('$pass'),'$IP','$email',$type)");  
        mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time) values('$login','$IP',$code,'signup',NOW())");  
        $id                    = mysql_insert_id();  
        mail($email,"crime-ware aanmeldings-bevestiging","Uw account is aangemaakt op getto gang.  

Wij verzoeken u te controleren of de volgende gegevens juist zijn:  
Login        = {$login2}  
E-mail adres = {$email}  
Wachtwoord   = {$pass}  

Recruiter    = {$recruiter}  
Type         = {$type}  

Als een van de volgende gegevens niet juist zijn, kunt u dat melden aan een van de admins.  

U kunt nu direct inloggen op http://crime-ware.nl/crime .  


Voordat u begint met spelen willen wij u verzoeken eerst onderstaande regels door te lezen:  

Spammen is niet toegestaan (meerdere berichjes met dezelfde inhoud rondsturen)  
   
Het bedreigen en/of het beledigen word niet geaccepteerd.  

Het gebruik van proxies is verboden.  

Het is niet toegestaan om meerdere accounts te hebben, maar dat is als het goed is ook niet meer mogelijk.  

Gelieve niet te klikken bij de bots, waardoor ze voor nieuwe spelers te sterk worden.  

Het maken van reclame word niet getollereerd en zal worden bestraft met een onvoorwaardelijke ban.  

Als laatste verzoeken wij u, het ontdekken een bug te melden aan 1 van de admins.  
Verzwijgen van een bug is niet strafbaar, het misbruik maken ervan wel.  

Uitgaande dat deze regels U volkomen duidelijk zijn, wensen wij U veel speel plezier op Getto gang. \n");  
      }  
    }  
  }  

/* ------------------------- */ ?>  

<html>  


<head>  
<title>GETTO gang</title>  
<link rel="stylesheet" type="text/css" href="<?php echo ($_COOKIE['file:///D|/GAME%20SITE/ALLES%20VAN%20DEALER/v'] == 2) ? "css-v2.css" : "css-v1.css"; ?>">  

</head>  



<BODY onLoad="movein()">    

<body style="background: #999999; margin: 0px;">  
<table align="center" width=100%>  
<?php /* ------------------------- */  

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

    $id                        = $_GET['id'];  
    $code                    = $_GET['code'];  
    $dbres                    = mysql_query("SELECT `login` FROM `[temp]` WHERE `area`='signup' AND `id`='$id' AND `code`='$code'");  

    if($data = mysql_fetch_object($dbres)) {  
    $acti = 1;  
    mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$login2}'");  
      mysql_query("DELETE FROM `[temp]` WHERE `id`='{$id}'");  
      print "  <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";  
    }  
    else  
      print "  <tr><td class=\"mainTxt\">Incorrecte activatie-code...</td></tr>\n";  
  }  
  else {  
    if($msgnum != -1) {  
      print "  <tr><td class=\"subTitle\"><b>Aanmelden</b></td></tr>\n";  
      if(isset($msgnum) && $msgnum != -1)  
        print "  <tr><td class=\"mainTxt\">\n    {$message[$msgnum]}\n  </td></tr>\n";  

      print <<<ENDHTML 
  <tr><td class="mainTxt">  

    <form method="post"><table align="center">  
          <tr><font color="ff0000"><b><u>Let op u kunt maar 1 account per computer!</font></b></u><br><br>  
      <tr><td width=100>Login: *</td>        <td><input type="text" name="login" maxlength=16 style="width: 150;" value="$login2"></td></tr>  
      <tr><td width=100>Wachtwoord: *</td>    <td><input type="password" name="pass" maxlength=16 style="width: 150;"></td></tr>  
      <tr><td width=100>Herhaal: *</td>    <td><input type="password" name="passconfirm" maxlength=16 style="width: 150;"></td></tr>  
      <tr><td width=100>E-Mail: *</td>    <td><input type="text" name="email" maxlength=64 style="width: 150;" value="$email"></td></tr>  
      <tr><td width=100>Type:</td>        <td><select name="type" style="width: 150;">   
                            <option value="1" selected $select1>Drugsdealer</option>   
                            <option value="2" $select2>Wetenschapper</option>   
                            <option value="3" $select3>Politie Agent</option>   
                        </select> <a href="javascript: //" onClick="window.open('help.php#types')">[?]</a></td></tr>   
                        <?   
                        if($rec == "") {  
                        ?>  
        <tr><td width=100>Referal:</td>    <td><input type="text" CONTENTEDITABLE ="false" name="recruiter" maxlength=64 style="width: 150;" value="$rec"></td></tr>   

      <tr><td></td><td align="center"><input type="submit" name="submit" style="width: 100;" value="Aanmelden"></td></tr>  
    </table></form><br>  
<font color=red><b><u>Welkom bij de aanmelding voor een van de 9miljoen games is deze special</b></u></font><br><br>  
Uw recruiter is: $rec<br><br>  
Als u geen recruiter heeft dan kunt u het recruiter vakje leeglaten.<br>  
Als er al een naam instaat, dan kunt u die laten staan.<br>  
Diegene krijgt dan namelijk een beloning voor het aanbrengen van een nieuw lid.<br>  
  </td></tr>  
ENDHTML; 
    } 
    else 
      print "  <tr><td class=\"mainTxt\">Gefeliciteerd.<br>  
Je bent nu aangemeld op Getto gang, en je kunt direct inloggen en beginnen met spelen.<br><br>  
Voor de zekerheid is er een mailtje gestuurd naar {$email} waarin jouw login naam en wachtwoord staan.<br>  
</td></tr>\n"; 
  } 
/* ------------------------- */ ?>  
</table>  
</body>  
</html>
 
Klein foutje in de declaratie...

Je maakt eerst een variabele login2 aan
PHP:
$login2 = $_POST['login'];
en vervolgens doe je een preg_match op een niet gedefineerde variabele login
PHP:
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login) == 0)

Dus of bij de één een 2 toevoegen of bij de andere hem weghalen :)
 
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login2) == 0)


zo dus


edit nee dus dat werkt niet



Endit 2:

Het werkt bedankt

endit 3 :


Nee het werkt niet als ik dan wil inloggen staater fout user name
 
Laatst bewerkt:
Controleer alle checks nog even, volgens mij staat nog ergens login in plaats van login2

Zo niet plaats dan de actuele code nogmaals tussen
PHP:
...
 
PHP:
<?php /* ------------------------- */  
  include("_include-config.php");  
    if(check_login()) {  
    print "<tr><td class=\"mainTxt\">Je bent al ingelogd</td></tr>";  

    mysql_query("DELETE FROM `[online]` WHERE `login`='{$_COOKIE['login']}' AND `validate`='{$_COOKIE['validate']}' AND `IP`='{$_SERVER['REMOTE_ADDR']}'"); 
    unset($_SESSION['login']);  
    unset($_SESSION['IP']);  
    unset($_SESSION['data']);  

print <<<ENDHTML 
</table>  
</body>  
</html>  
<noscript><noscript><plaintext><plaintext>  
ENDHTML; 
  exit;  
  }  

  $login2                    = $_POST['login'];  
  $pass                        = $_POST['pass'];  
  $passconfirm                    = $_POST['passconfirm'];  
  $email                    = $_POST['email'];  
  $recruiter                    = $_POST['recruiter'];  
  $type                        = $_POST['type'];  
  $IP                        = $_SERVER['REMOTE_ADDR'];  
  ${"select$type"}                = "selected";  

  if(isset($_POST['submit'])) {  
    $message = Array(  
    "Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",  
    "De wachtwoorden die je gaf zijn niet identiek",  
    "Vul een geldig e-mail adres in",  
    "Selecteer een type crimineel",  
    "Er bestaat al iemand met die login",  
    "Er is al iemand met die e-mail",  
    "De login van je recruiter mag alleen A-Z, a-z, 0-9, _ en - in de naam hebbben",  
    "Er is al een account in gebruik op deze computer!");  

      $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 != 1 && $type != 2 && $type != 3 && $type != 4 && $type != 5 && $type != 6)  
      $msgnum                    = 3;  
    else {  
      $dbres                    = mysql_query("SELECT `id` FROM `[users]` WHERE `login`='{$login2}'");  
      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;  
    if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login) == 0)  
        $msgnum                    = 6;  
      $dbres                                    = mysql_query("SELECT `id` FROM `[users]` WHERE `IP`='{$IP}'");  
      if(mysql_num_rows($dbres) > 0)  
        $msgnum                                 = 7;                   

      if($msgnum == -1) {  
        $code                    = rand(100000,999999);  
        mysql_query("UPDATE `[users]` SET `recruits`=`recruits`+'1' WHERE `login`='{$recruiter}'");  
        mysql_query("UPDATE `[users]` SET `clicks`=`clicks`+'5' WHERE `login`='{$recruiter}'");  
        mysql_query("UPDATE `[users]` SET `bank`=`bank`+'2500' WHERE `login`='{$recruiter}'");  
        mysql_query("UPDATE `[users]` SET `attack`=`attack`+'100' WHERE `login`='{$recruiter}'");  
        mysql_query("INSERT INTO `[users]`(signup,login,pass,IP,email,type) values(NOW(),'$login',MD5('$pass'),'$IP','$email',$type)");  
        mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time) values('$login','$IP',$code,'signup',NOW())");  
        $id                    = mysql_insert_id();  
        mail($email,"crime-ware aanmeldings-bevestiging","Uw account is aangemaakt op getto gang.  

Wij verzoeken u te controleren of de volgende gegevens juist zijn:  
Login        = {$login2}  
E-mail adres = {$email}  
Wachtwoord   = {$pass}  

Recruiter    = {$recruiter}  
Type         = {$type}  

Als een van de volgende gegevens niet juist zijn, kunt u dat melden aan een van de admins.  

U kunt nu direct inloggen op http://crime-ware.nl/crime .  


Voordat u begint met spelen willen wij u verzoeken eerst onderstaande regels door te lezen:  

Spammen is niet toegestaan (meerdere berichjes met dezelfde inhoud rondsturen)  
   
Het bedreigen en/of het beledigen word niet geaccepteerd.  

Het gebruik van proxies is verboden.  

Het is niet toegestaan om meerdere accounts te hebben, maar dat is als het goed is ook niet meer mogelijk.  

Gelieve niet te klikken bij de bots, waardoor ze voor nieuwe spelers te sterk worden.  

Het maken van reclame word niet getollereerd en zal worden bestraft met een onvoorwaardelijke ban.  

Als laatste verzoeken wij u, het ontdekken een bug te melden aan 1 van de admins.  
Verzwijgen van een bug is niet strafbaar, het misbruik maken ervan wel.  

Uitgaande dat deze regels U volkomen duidelijk zijn, wensen wij U veel speel plezier op Getto gang. \n");  
      }  
    }  
  }  

/* ------------------------- */ ?>  

<html>  


<head>  
<title>GETTO gang</title>  
<link rel="stylesheet" type="text/css" href="<?php echo ($_COOKIE['file:///D|/GAME%20SITE/ALLES%20VAN%20DEALER/v'] == 2) ? "css-v2.css" : "css-v1.css"; ?>">  

</head>  



<BODY onLoad="movein()">    

<body style="background: #999999; margin: 0px;">  
<table align="center" width=100%>  
<?php /* ------------------------- */  

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

    $id                        = $_GET['id'];  
    $code                    = $_GET['code'];  
    $dbres                    = mysql_query("SELECT `login` FROM `[temp]` WHERE `area`='signup' AND `id`='$id' AND `code`='$code'");  

    if($data = mysql_fetch_object($dbres)) {  
    $acti = 1;  
    mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$login2}'");  
      mysql_query("DELETE FROM `[temp]` WHERE `id`='{$id}'");  
      print "  <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";  
    }  
    else  
      print "  <tr><td class=\"mainTxt\">Incorrecte activatie-code...</td></tr>\n";  
  }  
  else {  
    if($msgnum != -1) {  
      print "  <tr><td class=\"subTitle\"><b>Aanmelden</b></td></tr>\n";  
      if(isset($msgnum) && $msgnum != -1)  
        print "  <tr><td class=\"mainTxt\">\n    {$message[$msgnum]}\n  </td></tr>\n";  

      print <<<ENDHTML 
  <tr><td class="mainTxt">  

    <form method="post"><table align="center">  
          <tr><font color="ff0000"><b><u>Let op u kunt maar 1 account per computer!</font></b></u><br><br>  
      <tr><td width=100>Login: *</td>        <td><input type="text" name="login" maxlength=16 style="width: 150;" value="$login2"></td></tr>  
      <tr><td width=100>Wachtwoord: *</td>    <td><input type="password" name="pass" maxlength=16 style="width: 150;"></td></tr>  
      <tr><td width=100>Herhaal: *</td>    <td><input type="password" name="passconfirm" maxlength=16 style="width: 150;"></td></tr>  
      <tr><td width=100>E-Mail: *</td>    <td><input type="text" name="email" maxlength=64 style="width: 150;" value="$email"></td></tr>  
      <tr><td width=100>Type:</td>        <td><select name="type" style="width: 150;">   
                            <option value="1" selected $select1>Drugsdealer</option>   
                            <option value="2" $select2>Wetenschapper</option>   
                            <option value="3" $select3>Politie Agent</option>   
                        </select> <a href="javascript: //" onClick="window.open('help.php#types')">[?]</a></td></tr>   
                        <?   
                        if($rec == "") {  
                        ?>  
        <tr><td width=100>Referal:</td>    <td><input type="text" CONTENTEDITABLE ="false" name="recruiter" maxlength=64 style="width: 150;" value="$rec"></td></tr>   

      <tr><td></td><td align="center"><input type="submit" name="submit" style="width: 100;" value="Aanmelden"></td></tr>  
    </table></form><br>  
<font color=red><b><u>Welkom bij de aanmelding voor een van de 9miljoen games is deze special</b></u></font><br><br>  
Uw recruiter is: $rec<br><br>  
Als u geen recruiter heeft dan kunt u het recruiter vakje leeglaten.<br>  
Als er al een naam instaat, dan kunt u die laten staan.<br>  
Diegene krijgt dan namelijk een beloning voor het aanbrengen van een nieuw lid.<br>  
  </td></tr>  
ENDHTML; 
    } 
    else 
      print "  <tr><td class=\"mainTxt\">Gefeliciteerd.<br>  
Je bent nu aangemeld op Getto gang, en je kunt direct inloggen en beginnen met spelen.<br><br>  
Voor de zekerheid is er een mailtje gestuurd naar {$email} waarin jouw login naam en wachtwoord staan.<br>  
</td></tr>\n"; 
  } 
/* ------------------------- */ ?>  
</table>  
</body>  
</html>

niet gevonden
 
Niet gevonden of niet gezocht?

PHP:
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login) == 0)   
      $msgnum                    = 0;
PHP:
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login) == 0)   
        $msgnum                    = 6;
PHP:
mysql_query("INSERT INTO `[users]`(signup,login,pass,IP,email,type) values(NOW(),'$login',MD5('$pass'),'$IP','$email',$type)");
PHP:
mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time) values('$login','$IP',$code,'signup',NOW())");
Dat is dus nog 4x login i.p.v. login2 :rolleyes:
Zelfs de eerste welke ik even hierboven meldde is niet eens gewijzigd.
 
In al die vier regels code staat de variabele login, terwijl je die niet gebruikt. Die is altijd leeg dus.

Je zult op die vier regels login moeten wijzigen in login2 aangezien je die eerder declareerd.
 
Hij werkt Bedankt
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan