[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с php скриптом регистрации, пожалуйсто...
aleps
Ну вот, собственно проблема, есть скрипт от старого ipb, начал переделывать, но не получается.
Есть база wp_users в ней такие столбцы ID user_login user_pass user_email
Надо сделать что-бы это все робило, пароль в md5, вроде как сделал всё правильно, а не работает, помогите пожалуйсто...

Вот главный скрипт ibf_reg
Цитата
<center>
<table>
<tr><td>

<?
include('ibf_reg.config.php');
$error_query = "<font color=red>Запись не добавлена по каким-то причинам!</font><br>";

$fields = mysql_list_fields($basename, "wp_users", $db);
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns - 1; $i++)
{
$mvalues = $mvalues.mysql_field_name($fields, $i).",";
}
$mvalues = $mvalues.mysql_field_name($fields, $i);

if ($act == "Reg") {
?>
<div class="tableborder">
<div class="pformstrip2"><font class=norm>Результат регистрации</font></div>
</div>
<?
if (($user_login == "") || ($user_pass == "") || ($user_email == "")) { ?>
<div class="tableborder"><div class="pformstrip" align=center><br><font class=norm color=red>Вы должны заполнить всю форму!</font><br><br>
<? print "<font class=norm>";
if ($user_login != "") { print "<font color=#008000>Имя пользователя</font><br>"; } else { print "<font color=#FF0000>Имя пользователя</font><br>"; }
if ($user_pass != "") { print "<font color=#008000>Пароль</font><br>"; } else { print "<font color=#FF0000>Пароль</font><br>"; }
if ($user_email != "") { print "<font color=#008000>E-mail адрес</font><br>"; } else { print "<font color=#FF0000>E-mail адрес</font><br>"; }
?><br>
<font class=norm><a href="java script:history.back(1)">Вернуться назад</a></div></div>
<form></form>

<? exit(); } ?>
<?
$sql = "select ".$mvalues." from wp_users where name = '$user_login'";
$result = mysql_query($sql);

$myrow = mysql_fetch_array($result); // or die ("$error_query");

if ($myrow[1] == $user_login)
{ ?>
<div class="tableborder"><div class="pformstrip" align=center><br><font class=norm color=red>Пользователь <? echo $user_login; ?> уже существует!</font><br><br></div></div>
<? } else {
$result = mysql_query("select * from wp_users", $db);
$num_rows = mysql_num_rows($result);
$user_pass = md5($user_pass);
$user_count = $num_rows;

include('ibf_reg.values.php');

$sql = "select max(id) from wp_users";
$result = mysql_query($sql);
$myid = mysql_fetch_array($result);
$id = $myid[0]+1;

$sql = "insert into wp_users($mvalues) VALUES('$id','$user_login','$user_pass','$user_email')";
$result=mysql_query($sql) or die ("$error_query");

$sql = "truncate table `ibf_stats` ";
mysql_query($sql);

$sql = "insert into ibf_stats(TOTAL_REPLIES,TOTAL_TOPICS,LAST_MEM_NAME,LAST_MEM_ID,MOST_DATE,MOST_COUNT,MEM_COUNT) VALUES('0','1','$user_login','$id','$joined','9','$user_count')";
$result=mysql_query($sql) or die ("$error_query");
?>
<div class="tableborder"><div class="pformstrip" align=left><font class=norm>
<font color=black>Вы успешно зарегистрировались</font>
<li>ID: <? echo $id; ?>
<li>Логин: <? echo $user_login; ?>
<li>e-mail: <? echo $user_email; ?>
<li>Группа: <? echo user_email; ?>

</font><br></div></div>
<?
}

}

if ($reg != "ok") {
?>
<form action="ibf_reg.php?act=Reg" method="post" name='reg'>
<? if ($act == "fromauthor") { ?>

<table height=10><tr><td></td></tr></table><?
} else { ?>
<table height=10><tr><td></td></tr></table>
<? } ?>
<div class="tableborder">
<table class="tablebasic">
<tr>
<td class="pformleft"><font class=norm><b>Выберите имя пользователя</b></td>
<td class="pformright"><input class=input type='text' size='32' maxlength='64' name=user_login class='forminput' /></td>
</tr>
<tr>
<td class="pformleft"><font class=norm><b>Введите пароль</b></td>
<td class="pformright"><input class=input type='password' size='32' maxlength='32' name=user_pass class='forminput' /></td>
</tr>
<tr>
<td class="pformleft"><font class=norm><b>Введите Ваш e-mail адрес</b></td>
<td class="pformright"><input class=input type='text' size='32' maxlength='50' name=user_email class='forminput' /></td>
</tr>
<tr>
<td class="pformcenter" colspan=2 align=center>
<input class=button type="submit" value="Регистрацистрация">
</td>
</tr>
</table>
</div>
</form>

<? } ?>
</td></tr></table>


вот примочка ibf_reg.values , в ней ничего не менял!!!
Цитата
<?
$mgroup = 3;
$joined = time();
$ip_address = $REMOTE_ADDR;
$avatar = 'noavatar';
$avatar_size = '';
$posts = 0;
$aim_name = '';
$icq_number = '';
$location = '';
$signature = '';
$website = '';
$yahoo = '';
$title = '';
$allow_admin_mails = 0;
$time_offset = '';
$interests = '';
$hide_email = '';
$email_pm = 1;
$email_full = 0;
$skin = 0;
$warn_level = 0;
$warn_lastwarn = 0;
$language = '2';
$msnname = '';
$last_post = NULL;
$restrict_post = 0;
$view_sigs = 1;
$view_img = 1;
$view_avs = 1;
$view_pop = 1;
$bday_day = 0;
$bday_month = 0;
$bday_year = 0;
$new_msg = 0;
$msg_from_id = 0;
$msg_msg_id = 0;
$msg_total = 0;
$vdirs = 'in:Входящие|sent:Исходящие';
$show_popup = 0;
$misc = '';
$last_visit = 0;
$last_activity = 0;
$dst_in_use = 0;
$view_prefs = '-1&-1';
$coppa_user = 0;
$mod_posts = 0;
$auto_track = 0;
$org_perm_id = '';
$org_supmod = 0;
$integ_msg = '';
$temp_ban = '';
$scripts = 0;
$downloads = 0;
?>


ну и собственно конфиг ibf_reg.config
Цитата
<?
$hostMySQL = "localhost";
$password = "111";
$usersql = "222";
$basename = "222";

$db=mysql_connect("$hostMySQL", "$usersql", "$password");
mysql_select_db("$basename", $db);
?>




Спустя 3 дня, 12 часов, 5 минут, 10 секунд (9.03.2008 - 20:00) slavikru написал(а):
Форма:

Код
<form action="register.php" method="POST" name="register">
<input type="text" name="username" value="">
<input type="password" name="password" value="">
<input type="text" name="email" value="">
</form>


Скрипт register.php:

Код
<?php
//
$c_db="database";
$c_user="username";
$c_pass="12345";
$c_host="localhost";

$connection=mysql_connect($c_host, $c_user, $c_pass) or die (mysql_error());
$select_db=mysql_select_db($c_db, $conection);
//
$invalid_symbols=array("-", "_", "+", "=", "*", "`", "'");
$username=mysql_real_escape_string(str_replace(trim($invalid_symbols, "", $_POST['username'])));
$password=mysql_real_escape_string(md5(str_replace(trim($invalid_symbols, "", $_POST['password']))));
$email=trim($_POST['email']);
//
function p_error($text) {
echo "<br><p align='center'>".$text."</p>";
exit;
}
//
if (empty($username)) {
p_error("Пожалуйста, введите логин");
}
else {
if (empty($password)) {
p_error("Пожалуйста, введите пароль");
}
else {
if (empty($email)) {
p_error("Пожалуйста, введите email");
}
else {
$query="SELECT username FROM `users` WHERE username='$username' AND password='$password'";
$query=mysql_query($query);
$query_nrows=mysql_num_rows($query);
if ($query_nrows > 0) {
p_error("Извините, пользователь с таким именем уже зарегистрирован");
}
else {
$register="INSERT INTO `users` (`id`, `username`, `password`, `email`) VALUES ('', '$username', '$password', '$email')");
$register=mysql_query($register);
if ($register) {
    //Пользователь зарегистрирован
}
else {
   //Ошибка регистрации пользователя
}
$close_connection=mysql_close($connection);
?>



Это примитивный код, при желании можно сделать проверку email, лучшую фильтрацию поступающих данных, и.т.д. Если что, пиши.

Спустя 11 месяцев, 9 дней, 8 часов, 31 минута, 22 секунды (19.02.2009 - 04:32) SaiD написал(а):
Mne nujen kodi dlya AntiBk <reg.php> U menya ne proxodit na <reg.php?step=2>

Esli kto to znaet Pishite na mne..

ICQ : 229402268

Agent : azfight@mail.ru

Спустя 6 часов, 10 минут, 50 секунд (19.02.2009 - 10:43) Семён написал(а):
Цитата (SaiD @ 19.02.2009 - 01:32)
Mne nujen kodi dlya AntiBk <reg.php> U menya ne proxodit na <reg.php?step=2>

Esli kto to znaet Pishite na mne..

ICQ : 229402268

Agent : azfight@mail.ru

Эххх когда-то я тоже с этим намучался... пока не переписал полностью весь его smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.