Регистрационна грешка?

  • Автор Автор Anonymous
  • Начална дата Начална дата
A

Anonymous

Guest
Код:
<?php

if(isset($_POST['submit'])){
$name = addslashes($_POST['username']);
$pass1 = addslashes($_POST['password']);
$pass2 = addslashes($_POST['password2']);
$email = addslashes($_POST['email']);

if(strlen($name) > 4)

{
    $q = mysql_query("SELECT username FROM users WHERE username='$name' LIMIT 1") or die (mysql_error());
    if(mysql_num_rows($q)> 0)
    {
        error = "Заето потребителско име";
    }
   else
   {
       if(strlen($password) >= 6)
           {

if($password == $password1 )
{
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]+))*$", $email))
{
$error = "Не валиден имейл";

}
else
{
$newPass = md5($password);
$query = "INSERT  INTO users SET username='$name',password = '$newPass', email ='$email'";
mysql_query($query) or die (mysql_error());



}
}
{
else
{
$error = "Паролите не савпадат";

}

       }
       else
       {
           $error = "Паролата е твърде кратка";
       }
   }
}
 else
 {
   $error = "Кратко име";
 }






        ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form method="post" action="">
       Име:<input name="username" type="text"  /><br />
       Парола:<input type="password" name="password" /><br />
       Отново:<input type="password" name="password2"/><br />
       Емаил:<input type="text" name="email" /><br />
      <input type="submit" name="submit" value="Регистрирай ме"/><br />


        </form>

    </body>
</html>
Някой може ли да ми каже каде ми е грешката мерси :)
 
е кажи дава ли ти някаква грешка ? ние да не сме гадатели

EDIT: WTF какво подяволите е това :D :D :D
$query = "INSERT INTO users SET username='$name',password = '$newPass', email ='$email'";

Оправи си завката и ще проработи
 
Първа грешка :

Код:
if(mysql_num_rows($q)> 0){
     $error = "Заето потребителско име";
}

истървал си $ долата пред еррор
 
Код:
$sql = sprintf("INSERT INTO users (username, password,email) VALUES ('%s', '%s', '%s')"
,mysql_real_escape_string($username)
,mysql_real_escape_string($password)
,mysql_real_escape_string($email));
mysql_query($sql) or die (mysql_error());
echo "Успешна регистрация!";

само си добави останалите полета
 
С две думи казано по лсесно ми е да му напиша код от колкот да му кайа къде са му грешките много поне 20
 
Код:
<?php

if(isset($_POST['submit'])) {
     $name = trim(addslashes($_POST['username']));
     $pass1 = trim(addslashes($_POST['password']));
     $pass2 = trim(addslashes($_POST['password2']));
     $email = trim(addslashes($_POST['email']));
     
     if (strlen($name)<=3) {
          $error[] = 'Кратко име';
     }
     if (strlen($pass1)<=3) {
          $error[] = 'Паролата е твърде кратка';
     }
     if ($pass1!=$pass2) {
          $error[] = "Паролите не савпадат";
     }
     if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]+))*$", $email)) {
          $error[] = 'Не валиден имейл';
     }
}
$cnt=count($error);
if ($cnt==0) {
     $server='***';
     $username='***';
     $password='***';
     mysql_connect($server, $username, $password) or die ('NO SERVER');
     $char='SET NAMES utf8';
     $sql='SELECT * FROM users WHERE username="'.$name.'" AND email="'.$email.'"';
     mysql_query($char);
     $res=mysql_query($sql);
     if (mysql_num_rows($res)==0) {
          $database_name='**';
          mysql_select_db($database_name ) or die ('NO DATA BASE');
          
          $char='SET NAMES utf8';
          $sql='INSERT  INTO users (username,password,email)
          VALUES  ("'.$name.'","'.md5($pass1).'","'.$email.'")';
          mysql_query($char);
          mysql_query($sql);

          if (mysql_error()) {
               $error[]='Грешка в базата данни моля опитайте пак по късно';
          } else {
               $error[]='Вие успешно се Регистрирахте !!!';
          }
     } else {
          $error[]= "Името или емайла са заети вече";
     }
} else {
     ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title></title>
     </head>
     <body>
          <form method="post" action="">
               Име:<input name="username" type="text"  /><br />
               Парола:<input type="password" name="password" /><br />
               Отново:<input type="password" name="password2"/><br />
               Емаил:<input type="text" name="email" /><br />
               <input type="submit" name="submit" value="Регистрирай ме"/><br />
               <div style="color:red">
                         <?php
                         foreach ($error as $key => $var) {
                              echo $var.', ';
                         }
                         ?>
                     
               </div>
          </form>
     </body>
</html>
<?php
}
 

Back
Горе