Проблема со скриптом.

mrblackv23

Новичок
Приобрел и установил скрипт сервис-биржы WorldPassion. Всё отлично работает, кроме формы регистрации. При регистрации данные пользователя должны заноситься в БД в таблицу users. Но данные туда не записываются... Вот код файла db.inc -
PHP:
<?



  function db_error_coment ()
  {
    global $db_last_query;
    global $php_error_msg;
    global $db_debug_ip;
    if ((mysql_errno () AND @in_array ($_SERVER['REMOTE_ADDR'], $db_debug_ip)))
    {
      echo '<br>MySql Error ' . mysql_errno () . ': ' . mysql_error () . '<br>Query: "' . nl2br ($db_last_query) . '"<br>';
    }

    unset ($db_last_query);
    unset ($php_error_msg);
  }

  function db_connect ($db = '')
  {
    global $db_host;
    global $db_base;
    global $db_echo_error;
    global $db_last_query;
    global $php_error_msg;
    global $db_connected;
    $db_user = 'mrblackv23@localhost';
    $db_password = 'здесь мой пароль к БД';
    unset ($php_error_msg);
    if (empty ($db))
    {
      $db = $db_base;
    }

    $rc = @mysql_connect ($db_host, $db_user, $db_password);
    if ($db_echo_error)
    {
      $db_last_query = 'db_connect';
      db_error_coment ();
    }

    if (!$rc)
    {
      return $rc;
    }

    $rc = @mysql_select_db ($db);
    if ($db_echo_error)
    {
      $db_last_query = 'db_select_db';
      db_error_coment ();
    }

    $db_connected = 1;
    return $rc;
  }

  function db_query ($query)
  {
    global $db_echo_error;
    global $db_last_query;
    global $php_error_msg;
    global $db_queries_count;
    global $db_connected;
    if (!$db_connected)
    {
      db_connect ();
    }

    unset ($php_error_msg);
    $res = @mysql_query ($query);
    if ($db_echo_error)
    {
      $db_last_query = $query;
      db_error_coment ();
    }

    ++$db_queries_count;
    return $res;
  }

  function db_numrows ($q)
  {
    global $db_echo_error;
    global $db_last_query;
    global $php_error_msg;
    unset ($php_error_msg);
    $num = @mysql_num_rows ($q);
    if ($db_echo_error)
    {
      $db_last_query = 'db_numrows';
      db_error_coment ();
    }

    return $num;
  }

  function db_fetch_array ($q)
  {
    global $db_echo_error;
    global $db_last_query;
    global $php_error_msg;
    unset ($php_error_msg);
    $row = @mysql_fetch_array ($q);
    if ($db_echo_error)
    {
      $db_last_query = 'db_fetch_array';
      db_error_coment ();
    }

    return $row;
  }

  function db_affected_rows ()
  {
    global $db_echo_error;
    global $db_last_query;
    global $php_error_msg;
    unset ($php_error_msg);
    $row = @mysql_affected_rows ();
    if ($db_echo_error)
    {
      $db_last_query = 'db_affected_rows';
      db_error_coment ();
    }

    return $row;
  }

  function db_insert_id ()
  {
    global $db_echo_error;
    global $db_last_query;
    global $php_error_msg;
    unset ($php_error_msg);
    $row = @mysql_insert_id ();
    if ($db_echo_error)
    {
      $db_last_query = 'db_insert_id';
      db_error_coment ();
    }

    return $row;
  }

  function db_data_seek ($res, $num)
  {
    global $db_echo_error;
    global $db_last_query;
    global $php_error_msg;
    unset ($php_error_msg);
    $rc = @mysql_data_seek ($res, $num);
    if ($db_echo_error)
    {
      $db_last_query = 'db_data_seek';
      db_error_coment ();
    }

    return $rc;
  }

  function db_escape_string ($string, $ignore_magic_quotes = false)
  {
    if ((get_magic_quotes_gpc () AND !$ignore_magic_quotes))
    {
      return $string;
    }

    if (!$db_connected)
    {
      db_connect ();
    }

    if (0 <= version_compare (phpversion (), '4.3.0'))
    {
      return mysql_real_escape_string ($string);
    }

    if (0 <= version_compare (phpversion (), '4.0.3'))
    {
      return mysql_escape_string ($string);
    }

    return addslashes ($string);
  }

  $db_host = 'localhost';
  $db_base = 'mrblackv23_123';
  $db_last_query = '';
  $db_echo_error = 1;
  $db_debug_ip = array ();
  $db_connected = 1;
  $db_queries_count = 0;
?>
 

mrblackv23

Новичок
Вот код страницы, содержащей форму регистрации:
PHP:
<?

  include_once("bd.php");

  require_once '../share/session.inc';
  if (!empty ($_SESSION['user']['id']))
  {
    header ('Location: /');
    exit ();
  }

  if (!$_REQUEST['terms_accepted'])
  {
    header ('Location: /terms/');
    exit ();
  }

  if (isset ($_POST['sendform']))
  {
    if (is_email ($_POST['username']))
    {
      unset ($username);
    }
    else
    {
      $username = trim ($_POST['username']);
    }

    if (preg_match ('/^[a-z0-9_-]+$/i', trim ($_POST['login']), $matches))
    {
      $login = $matches[0];
    }
    else
    {
      unset ($login);
    }

    if (is_email ($_POST['email']))
    {
      $email = db_escape_string (trim ($_POST['email']));
    }
    else
    {
      unset ($email);
    }

    if (empty ($username))
    {
      $error_message = 'Поле &quot;Ф.И.О.&quot; должно быть заполнено.';
    }
    else
    {
      if (contain_domain ($username))
      {
        $error_message = 'Поле &quot;Ф.И.О.&quot; не должно содержать URL.';
      }
      else
      {
        if (empty ($email))
        {
          $error_message = 'Пожалуйста, укажите Ваш E-mail.';
        }
        else
        {
          if (empty ($login))
          {
            $error_message = 'Логин может содержать только символы (a-z, A-Z, _, -) и цифры (0-9).';
          }
          else
          {
            if (empty ($_POST['password']))
            {
              $error_message = 'Пожалуйста, укажите пароль для входа в аккаунт.';
            }
            else
            {
              if ($_POST['password'] != $_POST['confirmation'])
              {
                $error_message = 'Пароль и подтверждение пароля не совпадают.';
              }
              else
              {
                $query = '' . 'select IF(decode(email, \'' . $contacts_pp . '\') = \'' . $email . '\', 1, 0) as email_exists, IF (login = \'' . db_escape_string ($login) . ('' . '\', 1, 0) as login_exists from users where decode(email, \'' . $contacts_pp . '\') = \'' . $email . '\' or login = \'') . db_escape_string ($login) . '\' limit 1';
                $res = db_query ($query);
                if (db_numrows ($res))
                {
                  $row = db_fetch_array ($res);
                  if ($row['email_exists'])
                  {
                    $error_message = 'Пользователь с электронным адресом <b>' . $email . '</b> уже зарегистрирован.';
                  }
                  else
                  {
                    if ($row['login_exists'])
                    {
                      $error_message = 'Пользователь с учетным именем <b>' . $login . '</b> уже зарегистрирован.';
                    }
                  }
                }
                else
                {
                  $msg = 'Вы успешно зарегистрированы в сервисе Weblancer.
';
                  $msg .= 'Ваши регистрационные данные:

';
                  $user_data = ('' . 'Ф.И.О.: ' . $username . '
');
                  $user_data .= ('' . 'Логин: ' . $login . '
');
                  $user_data .= ('' . 'Пароль: ' . $password . '
');
                  $username = db_escape_string (htmlspecialchars ($username));
                  $login = db_escape_string ($login);
                  $password = db_escape_string (md5 ($_POST['password']));
                  $referer_id = db_escape_string ((!empty ($_SESSION['user']['pid']) ? $_SESSION['user']['pid'] : 0));
                  $query = '' . 'insert into users set username = \'' . $username . '\', email = encode(\'' . $email . '\', \'' . $contacts_pp . '\'), login = \'' . $login . '\', password = \'' . $password . '\', referer_id = \'' . $referer_id . '\', created_time = unix_timestamp(), subscribe = \'1,2\', moderated = 1';
                  db_query ($query);
                  $user_id = db_insert_id ();
                  $_SESSION['user']['id'] = $user_id;
                  $_SESSION['user']['login'] = $login;
                  $_SESSION['user']['created_time'] = time ();
                  $_SESSION['user']['days_since_reg'] = 0;
                  set_cookie ('wl_news_readed', 1, time () + 86400);
                  check_user_fake ();
                  if ($referer_id)
                  {
                    $query = '' . 'insert into affiliate_operations set user_id = \'' . $referer_id . '\', affiliate_user_id = \'' . $user_id . '\', amount = \'' . $aff_freelancer_bonus . '\', added = now()';
                    db_query ($query);
                  }

                  $msg .= $user_data . '
';
                  $msg .= '' . 'Cсылки для привлечения пользователей:

http://worldpassion.ru/partner/' . $user_id . '/
http://worldpassion.ru/users/' . $login . '/
http://worldpassion.ru/users/' . $login . '/portfolio/';
                  set_cookie ('ref', '', time () - 3600, '/');
                  set_cookie ('pid', '', time () - 3600, '/');
                  inform_mail (stripslashes ($username), $email, 'Регистрация в сервисе Weblancer', stripslashes ($msg));
                  $user_data .= ('' . 'E-mail: ' . $email . '
');
                  $user_data .= '
' . $_SERVER['REMOTE_ADDR'];
                  admin_mail ($weblancer_admin_email, 'Зарегистрирован пользователь', stripslashes ($user_data), false);
                  header ('Location: /user/profile.html');
                  exit ();
                }
              }
            }
          }
        }
      }
    }
  }

  $page_title = 'Регистрация';
  $header_title = $page_title . ' // agened.ru';
  include './includes/header.inc';
  echo '<div class="title_box_brown2">';
  echo $page_title;
  echo '</div>
';
  if (!empty ($error_message))
  {
    print_result_message ($error_message, 2);
  }

  echo '<div class="bl_white">
<div class="right_white_box_2">
<form action="';
  echo $_SERVER['PHP_SELF'];
  echo '" method="post">
<input type="hidden" name="terms_accepted" value="';
  echo $_REQUEST['terms_accepted'];
  echo '">
<table cellspacing="1">
<tr>
<td class="tdk">Ф.И.О.:</td>
<td class="tdv"><input type="text" name="username" value="';
  echo (!empty ($username) ? stripslashes (htmlspecialchars ($username)) : '');
  echo '" size="30" maxlength="50" class="input"></td>
</tr>
<tr>
<td class="tdk">E-mail:</td>
<td class="tdv"><input type="text" name="email" value="';
  echo (!empty ($email) ? $email : '');
  echo '" size="30" class="input"></td>
</tr>
<tr>
<td class="tdk">Логин для входа в аккаунт:</td>
<td class="tdv"><input type="text" name="login" value="';
  echo (!empty ($login) ? $login : '');
  echo '" size="30" maxlength="16" class="input"></td>
</tr>
<tr>
<td class="tdk">Пароль:</td>
<td class="tdv"><input type="password" name="password" value="" size="30" class="input"></td>
</tr>
<tr>
<td class="tdk">Подтверждение пароля:</td>
<td class="tdv"><input type="password" name="confirmation" value="" size="30" class="input"></td>
</tr>
</table>
<br /><br />
<input type="submit" name="sendform" value="Рег';
  echo 'истрация" />
</form>
</div>
</div>
';
  include './includes/footer.inc';
?>
 

mrblackv23

Новичок
Вот код файла footer.inc:
PHP:
</td>
</tr>
</table>
<div class="bottom_menu">
<?

if (!$skip_left_box)
{

?>
<div class="bottom_menu_left"></div>
<?

}

?>
<div class="bottom_menu_items">
<div class="menu_gray">
<div class="menu_gray_start"><a href="/">Главная страница</a></div>
<div class="menu_gray_center"><a href="/terms/">Соглашение пользователя</a></div>
<div class="menu_gray_center"><a href="/stats/">Статистика сервиса</a></div>
<div class="menu_gray_end"><a href="/support/">Обратная связь</a></div>
</div>
</div>
<?

if ($skip_left_box)
{

?>
<div class="bottom_menu_right"></div>
<?

}

?>
</div>
<div id="footer">
<div id="footer_r0">

<?

include($_SERVER['DOCUMENT_ROOT'] . '/includes/counter.inc')

?>

</div>
<div id="footer_left">Авторское право &laquo;DarAmal&raquo;, 2003-<?= date('Y') ?><br />Все права защищены.</div>
<div id="footer_right">Дизайн &mdash; <a href="http://www.daramal.ru" target="_blank">DarAmal</a><br /></div>
</div>
</div>
</body>
</html>
<?

$cache -> save_cache();

?>
<!-- T: <?= $timer -> get_timer() ?> | Q: <?= $db_queries_count ?> -->
 

Фанат

oncle terrible
Команда форума
А у сервис-биржы WorldPassion разве нет службы поддержки?
 

WMix

герр M:)ller
Партнер клуба
вот оно место для триггера... не задумываясь о последствиях...
 

fixxxer

К.О.
Партнер клуба
Приведенный код явно получен дезендером.

Вот так
Код:
echo '...<input type="submit" name="sendform" value="Рег';
  echo 'истрация" />
человек не напишет.

А вот и сама эта биржа:

http://worldpassion.ru/

Очевидно, что этот код (воздержимся от обсуждения его качества) просто ворованный.
 

mrblackv23

Новичок
Спасибо... Значит скрипт ворованный? Может подскажете нормальный скрипт фриланс-биржи? Или может можно с этим что-то сделать?
 
Сверху