[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: изменение регистрации
12345
у меня на буксе регистрация.
я создал поле Реферер обязательным для заполнения.. но проблема в том, что юзеры которые регаются, могут ввести набор любых букв и зарегестрируются.. а мне это не надо.. я хочу создать так, если реферала с таким именем нету в системе, то будет выдовать ошибку что такого реферала не существует.. дня два мучался, так и не понял как это сделать((( помогите)))
вот скрипт регистрации:



<? 
require_once('zsecurity.php');
session_start();
include('header.php');

require('config.php');
$res=mysql_query("select valuta from tb_site where id='1'");
$v=mysql_result($res,0,0);
mysql_close($con);

if(isset($_SESSION["username"]) && isset($_SESSION["password"]))
{
echo "<b>Вы уже зарегистрированы...</b>";
include('footer.php');
exit();
}

require('config.php');
if (isset($_POST["username"]))
{


$username = $_POST["username"];
$password = $_POST["password"];
$cpassword = $_POST["cpassword"];
$pemail = $_POST["pemail"];

$wmid = $_POST["wmid"];
$referer=$_POST["referer"];

$ref2=$_POST["ref2"];
$ref3=$_POST["ref3"];
$ref4=$_POST["ref4"];
$ref5=$_POST["ref5"];
$ref6=$_POST["ref6"];
$ref7=$_POST["ref7"];
$ref8=$_POST["ref8"];
$ref9=$_POST["ref9"];
$ref10=$_POST["ref10"];



$res=mysql_query("select count(*) as kolvo from tb_accessblock where wmid='$wmid'");
$res=mysql_fetch_array($res);
if($res["kolvo"]>0)
{
echo "Указанный WMID заблокирован для регистрации";
include('footer.php');
exit();
}

if($username==NULL|$password==NULL|$cpassword==NULL|$wmid==NULL|$referer==NULL|$pemail==NULL)
{
echo "<b>Заполнены не все поля!!!</b>";
}else{
function tuc1($mensaje)
{
if (ereg("^[a-zA-Zа-яА-Я0-9\-_]{1,255}$", $mensaje))
{
return $mensaje;
}else{
echo "Введенные данные содержат запрещенные символы. Проверьте правильность ввода";
include('footer.php');
exit();
}
}


$username = tuc1($username);
if($referer!="") $referer = tuc1($referer);
$password = tuc1($password);
$cpassword = tuc1($cpassword);
$pemail = tuc1($pemail);

$wmid = tuc1($wmid);

if(!is_numeric($wmid) or strlen($wmid)!=12)
{
echo "Неверно введен WMID!";
include('footer.php');
exit();
}

if (strtolower(substr($pemail,0,1))!=strtolower($v))
{
echo "Неверно указан кошелек! Он должен начинаться с буквы $v";
include('footer.php');
exit();
}

if (!is_numeric(substr($pemail,1,12)))
{
echo "Неверно указан кошелек! Проверьте правильность ввода";
include('footer.php');
exit();
}

if($password!=$cpassword)
{
echo "Неверно указан пароль";
}else{
$laip = getRealIP();

if($laip!="127.0.0.1")
{
$checkip = mysql_query("SELECT ip FROM tb_users WHERE ip='$laip'");
$ip_exist = mysql_num_rows($checkip);
}

if ($ip_exist>0)
{
echo "Ошибка! С Вашего IP адреса уже была регистрация. Повторная регистрация невозможна";
}else{
$checkuser = mysql_query("SELECT username FROM tb_users WHERE username='$username'");
$username_exist = mysql_num_rows($checkuser);

$checkpemail = mysql_query("SELECT id FROM tb_users WHERE pemail='$pemail' or wmid='$wmid'");
$pemail_exist = mysql_num_rows($checkpemail);

if ($username_exist>0)
{
echo "Такой логин есть в системе.";
}else{
if ($pemail_exist>0)
{
echo "Указанные данные уже используются";
}else{
$buying='0';
if($referer!='')
{
$checkref = mysql_query("SELECT * FROM tb_users WHERE

username='
$referer'");
$referer_exist = mysql_num_rows($checkref);

if ($referer_exist<1)
{
$referer='';
}else{
$myrowz = mysql_fetch_array($checkref);

if($myrowz["user_account"]=="Базовый")
{
$res=mysql_query("select price from tb_config where

item='refmax' and howmany='0'"
);
}else{
$res=mysql_query("select price from tb_config where

item='refmax' and howmany='1'"
);
}
$res=mysql_fetch_array($res);
$refmax=$res["price"];

$res=mysql_query("select count(*) as kolvo from tb_users where

referer='
$referer' and buying='0'");
$res=mysql_Fetch_array($res);
$refcount=$res["kolvo"];
if($refcount<$refmax)
{
$numero=$myrowz["referals"];

$sqlex = "UPDATE tb_users SET referals='$numero'+1 WHERE

username='
$referer'";
$resultex = mysql_query($sqlex);

$res11=mysql_query("select * from tb_comp where

param='0'"
);
if(mysql_num_rows($res11)>0)
{
while($row11=mysql_fetch_array($res11))
{
$idk=$row11["id"];
$lidertype=$row11["lidername"];
$t=time();
$sd=strtotime($row11["startdate"]);
$ed=strtotime($row11["enddate"]);
if($t>$sd && $t<$ed)
{
if($lidertype=='1')
{
$res111=mysql_query("select

wmid from tb_users where username='
$referer'");


if(mysql_num_rows($res111)>0){$res1=mysql_fetch_array($res111); $lidername=$res111["wmid"];}else{$lidername='';}
}
else{
$lidername=$referer;
}
if($lidername!='')
{
$res111=mysql_query("select

* from tb_compdata where idk='
$idk' and user='$lidername'");


if(mysql_num_rows($res111)>0)
{


$res111=mysql_Fetch_array($res111);


$resvalue=$res111["resvalue"]+1;
mysql_query("update

tb_compdata set resvalue='
$resvalue' where id='".$res111["id"]."'");
}else{
mysql_query("insert

into tb_compdata (idk,user,resvalue) values ('
$idk','$lidername','1')");
}
}
}
}
}
}
else{
$referer='';
}
}

include('rr.php');


}
if($referer=='')
{
require('autoref.php');
$referer=getreferer();

if($referer!='')
{
$res=mysql_query("select * from tb_users where

username='
$referer'");
$res=mysql_fetch_array($res);
$refcount=$res["referals"];
mysql_query("update tb_users set referals='$refcount'+1 where

username='
$referer'");
$buying='2';
}
}

$joindate=date("d.m.Y");

$query = "INSERT INTO tb_users (username, password, ip, pemail, referer, ref2,

ref3, ref4, ref5, ref6, ref7, ref8, ref9, ref10, joindate, wmid, buying)

VALUES('
$username','$password','ip','$pemail','$referer','$ref2','$ref3','$ref4','$ref5','$ref6','$ref7','$ref8','$ref9','$ref10','

$joindate','$wmid','$buying')";
mysql_query($query) or die(mysql_error());


echo "Поздравляем теперь вы <b>$username</b>. зарегистрированы. ";
}
}
}
}
}
}
else{

?>
<h2>Регистрация нового пользователя</h2>




<
form action="register.php" method="POST">


Все поля обязательны для заполнения, кроме поля "Реферер"!!!<Br><Br>

<
table width="400" border="0" align="center">
<
tr>
<
td width="150" align="left"><p><label>Имя:</label></p></td>
<
td width="250" align="left"><input type='text' size='15' maxlength='25' name='username' autocomplete="off" value=""

tabindex="1" /></td>
</
tr>
<
tr>
<
td width="150" align="left"><p><label>Пароль:</label></p></td>
<
td width="250" align="left"><input type="password" size="25" maxlength="15" name="password" autocomplete="off"

class="field" value="" tabindex="1" /></td>
</
tr>
<
tr>
<
td width="150" align="left"><p><label>Пароль еще раз:</label></p></td>
<
td width="250" align="left"><input type="password" size="25" maxlength="15" name="cpassword" autocomplete="off"

class="field" value="" tabindex="1" /></td>
</
tr>
<
tr>
<
td width="150" align="left"><p><label>WM<?=$v ?> кошелек:</label></p></td>
<
td width="250" align="left"><input type="text" size="25" maxlength="13" name="pemail" autocomplete="off" class="field"

value="" tabindex="1" /></td>
</
tr>
<
tr>
<
td width="150" align="left"><p><label>WMID:</label></p></td>
<
td width="250" align="left"><input type="text" size="25" maxlength="12" name="wmid" autocomplete="off" class="field"

value="" tabindex="1" /></td>
</
tr>

<
tr>
<
td width="150" align="left"><p><label>Реферер:</label></p></td>
<
td width="250" align="left"><input type="text" size="25" maxlength="25" name="referer" value="<? $ref=limpiar($_GET["r"]);

if(
$ref!='') { echo $ref; }else{ echo $_COOKIE["referer"];} ?>" autocomplete="off" class="field" value="" tabindex="1" /></td>
</
tr>
<
tr>
<
td width="150" align="left"> </td>
<
td width="250" align="left"><input type="submit" value="Зарегистрироваться" class="submit" tabindex="4" /></td>
</
tr>







<
tr>
<
table>
<
td width="10" align="">




</
td> </table>
</
tr>


</
table>
</
form>





<?
}
mysql_close($con);
include('footer.php'); ?>




Спустя 1 час, 45 минут, 17 секунд (17.08.2011 - 15:44) record222 написал(а):
Проверяй в базе есть ли значение или нет.
Если есть регистрируй, нет очищай строку и продолжая регу...

Вот простой пример:
    $result = mysql_query("SELECT * FROM `tb_users` WHERE username='$refer'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {

Спустя 1 час, 5 минут, 57 секунд (17.08.2011 - 16:50) Guest написал(а):
эмммммс.... а можеш подсказать куда тут что ставить в моём файле?)

Спустя 1 день, 4 часа, 57 минут, 41 секунда (18.08.2011 - 21:48) 12345 написал(а):
эмммммс.... а можеш подсказать куда тут что ставить в моём файле?)

Спустя 7 минут, 36 секунд (18.08.2011 - 21:55) inpost написал(а):
Твой код вообще?
Вот у тебя есть строчка:
	$res=mysql_query("select count(*) as kolvo from tb_accessblock where wmid='$wmid'");
$res=mysql_fetch_array($res);
if($res["kolvo"]>0)
{
echo "Указанный WMID заблокирован для регистрации";
include('footer.php');
exit();
}

Она проверяет, есть ли у тебя запись в БД, если есть записи - выводит ошибку, то есть записей более 0.
Ты хочешь: "реферала с таким именем нету в системе, то будет выдовать ошибку что такого реферала не существует..", значит тебе надо точно такой же код как выше, только с изменениями БД, и проверять не kolvo > 0, а именно kolvo == 0

Спустя 30 минут, 32 секунды (18.08.2011 - 22:26) 12345 написал(а):
оууу... спасибо))

Спустя 7 дней, 12 часов, 17 минут, 21 секунда (26.08.2011 - 10:43) sanlux написал(а):
я изменил на

	$res=mysql_query("select count(*) as kolvo from tb_users where referer='$referer'");
$res=mysql_fetch_array($res);
if($res["kolvo"]==0)
{
echo "Указанного реферера нет";
include('footer.php');
exit();
}


получается так, если у указаного реферера 0 рефералов, то пишет "Указанного реферера нет"...((
может я что-то неправильно сделал??

Спустя 2 месяца, 6 дней, 8 часов, 51 минута (2.11.2011 - 19:34) Гость_Vlad написал(а):
всем привет помогите мне пожалуйста\\я установил скрипт бука, всё настроил))убил 2 дня на это!
и запустил букс!
и люди не могут зарегаться на моём буксе
когда они вели все свои данные и нажимают зарегистрироваться
вот что им потом выбивает---Ошибка! С Вашего IP адреса уже была регистрация. Повторная регистрация невозможна
и так выбивает всем кто хочет зарегаться у меня на буксе!
помогите мне пожалуйста я уже и не знаю куда обратиться))
жду помощи) biggrin.gif
Быстрый ответ:

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