я создал поле Реферер обязательным для заполнения.. но проблема в том, что юзеры которые регаются, могут ввести набор любых букв и зарегестрируются.. а мне это не надо.. я хочу создать так, если реферала с таким именем нету в системе, то будет выдовать ошибку что такого реферала не существует.. дня два мучался, так и не понял как это сделать((( помогите)))
вот скрипт регистрации:
<?
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 написал(а):
Твой код вообще?
Вот у тебя есть строчка:
Она проверяет, есть ли у тебя запись в БД, если есть записи - выводит ошибку, то есть записей более 0.
Ты хочешь: "реферала с таким именем нету в системе, то будет выдовать ошибку что такого реферала не существует..", значит тебе надо точно такой же код как выше, только с изменениями БД, и проверять не kolvo > 0, а именно kolvo == 0
Вот у тебя есть строчка:
$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 написал(а):
я изменил на
получается так, если у указаного реферера 0 рефералов, то пишет "Указанного реферера нет"...((
может я что-то неправильно сделал??
$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 адреса уже была регистрация. Повторная регистрация невозможна
и так выбивает всем кто хочет зарегаться у меня на буксе!
помогите мне пожалуйста я уже и не знаю куда обратиться))
жду помощи)
и запустил букс!
и люди не могут зарегаться на моём буксе
когда они вели все свои данные и нажимают зарегистрироваться
вот что им потом выбивает---Ошибка! С Вашего IP адреса уже была регистрация. Повторная регистрация невозможна
и так выбивает всем кто хочет зарегаться у меня на буксе!
помогите мне пожалуйста я уже и не знаю куда обратиться))
жду помощи)