Проблем с рег.

Crank

Registered
Ще може ли да се управи няколко човека могат да се регистрират с едно и също име,а и името за регистрация да е повече от 4 символа щото може примерно на потребител да напишеш 2 на парола 2 и на емайл 2 и даваш и се регистрираш......

<?
if (eregi("modules/register/index.php", $_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }
?>
<script type="text/javascript">
function validate2(){
if ((document.register.username.value=="")||
(document.register.password.value=="")||
(document.register.email.value=="")){
alert ("Моля въведете потребителско име,парола и емайл!")
return false
}
else
return true
}
</script>
<style type="text/css">
.user {
border: 1px #0099CC solid;
height: 18px;
background: url(images/user.png) 2px 2px no-repeat;
padding-left: 20px;
font-weight: bold;
}

.pass {
border: 1px #0099CC solid;
height: 18px;
background: url(images/pass.png) 2px 2px no-repeat;
padding-left: 20px;
font-weight: bold;
}

.email {
border: 1px #0099CC solid;
height: 18px;
background: url(images/email.png) 2px 2px no-repeat;
padding-left: 20px;
font-weight: bold;
}

</style>
<b><form action="index.php?m=register&ext=result" method="POST" name="register" onsubmit="return validate2()">
Потребител:<br/><input type="text" class="user" name="username"><br/>
Парола:<br/><input type="password" class="pass" name="password"><br/>
Емайл:<br/><input type="text" class="email" name="email"><br><br>
<input type="submit" class="but" value="Регистрирай се!">
</form></b>

<?php
$queryString = strtolower($_SERVER['QUERY_STRING']);
------------------------------------------------------------------------------
result.php
<?
if (eregi("modules/register/result.php", $_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }
?>
<b>
<?
$username2 = $_POST['username'];
$password2 = $_POST['password'];
$email2 = $_POST['email'];
$username = htmlspecialchars("$username2");
$password = htmlspecialchars("$password2");
$email = htmlspecialchars("$email2");
$sql = "INSERT users (username, password, email) VALUES ('$username', '$password', '$email')";
if(mysql_query($sql) != "")
{
echo 'Регистрацията успешна можете да влезете с вашето потребителско име и парола! <a href="modules/login.php">Вход!</a><br>';
}
else
{
echo 'Има някаква грешка!<br/>';
}
?>
</b>

<?php
$queryString = strtolower($_SERVER['QUERY_STRING']);
 
Код:
$checkname = mysql_query("SELECT username FROM register WHERE username='$username'"); 
$checkname= mysql_num_rows($checkname); 
if ($checkname>0) { 
echo "Името се използва.";}

Това е от една друга система за регистрация. А за проверка на дължината може би така:
if($username < 4 ){
echo "Името не е достатъчно дълго";}
 
crazy_pi4 каза:
Е чудих се дали да е със strlen, ама си викам, че и така може. :oops:
Както си г о задал ще провери дали потр име е по-малко от 4. Но 4 какво? Браузъра няма да го разчете правилно.
 
DeathGuard_ каза:
crazy_pi4 каза:
Е чудих се дали да е със strlen, ама си викам, че и така може. :oops:
Както си г о задал ще провери дали потр име е по-малко от 4. Но 4 какво? Браузъра няма да го разчете правилно.
Днеска нещо изобщо ме няма. Спирам да пиша за днеска. :p
 
Отговор на въпроса ти на ЛС:
<?
if (eregi("modules/register/result.php", $_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }
?>
<b>
<?
$username2 = $_POST['username'];
$password2 = $_POST['password'];
$email2 = $_POST['email'];
$username = htmlspecialchars("$username2");
$password = htmlspecialchars("$password2");
$email = htmlspecialchars("$email2");
if((strlen($username)<4) && (strlen($username)>20)){
echo " Невалидно име"; }
else {
$sql = "INSERT users (username, password, email) VALUES ('$username', '$password', '$email')";
}
if(mysql_query($sql) != "")
{
echo 'Регистрацията успешна можете да влезете с вашето потребителско име и парола! <a href="modules/login.php">Вход!</a><br>';
}
else
{
echo 'Има някаква грешка!<br/>';
}
?>
 
Crank каза:
Е пак тей става може предималко се рег с име 7 и пас 7....
Айде пиши по-разбрано де :mad: Какво е това име 7 и пас 7 какви са тия седмици?! Обяснявай по-добре :/
 
Иска да каже това:

Регистрация

Потребителско име:7
Парола:7
E-mail:7

Няма валидация.. :?:
 
Тоест не искаш паса да е равен на потр име :? Ако е това ще стане така:
if($username==$password) {
die "Моля паролата и акаунта да не съвпадат"; }
За рега само с 1 потр име:
$name = mysql_query("SELECT username FROM register WHERE username='$username'");
$name= mysql_num_rows($checkname);
if($name>0) {
die "акаунта се използва"; }
 
Едит: сигурно няма да можеш да си го направиш, затова ето ти го:
Код:
<?
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
$email = htmlspecialchars($_POST['email']);

if((strlen($username)<4) && (strlen($username)>20)){
die "Потребителското име трябва да е от 4 до 20 символа"; }
elseif((strlen($password)<4) && (strlen($password)>20)){
die "Паролата трябва да е от 4 до 20 символа"; }
elseif(!$email == ""  && (!strstr($email,"@") || !strstr($email,"."))){
die "Въведете правилен и-мейл"; }
elseif($username==$password) {
die "Паролата и акаунта трябва да се различават"; }
else {
$sql = "INSERT users (username, password, email) VALUES ('$username', '$password', '$email')";
}
if(mysql_query($sql) != "")
{
echo 'Регистрацията успешна можете да влезете с вашето потребителско име и парола! <a href="modules/login.php">Вход!</a><br>';
}
else
{
echo 'Има някаква грешка!<br/>';
}
?>
 
имам предвид че нестана искам акаунта и паса да са повече от 4 символа с по малко от 4 да не може да се рег....
 
Crank каза:
имам предвид че нестана искам акаунта и паса да са повече от 4 символа с по малко от 4 да не може да се рег....
Ами как ще стане, то insert users... който ти е писал кода.. Ето ти го:
Ако и така не стане, не знам вече...
<?
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
$email = htmlspecialchars($_POST['email']);

if((strlen($username)<4) && (strlen($username)>20)){
die "Потребителското име трябва да е от 4 до 20 символа"; }
elseif((strlen($password)<4) && (strlen($password)>20)){
die "Паролата трябва да е от 4 до 20 символа"; }
elseif(!$email == "" && (!strstr($email,"@") || !strstr($email,"."))){
die "Въведете правилен и-мейл"; }
elseif($username==$password) {
die "Паролата и акаунта трябва да се различават"; }
else {
$sql = mysql_query("INSERT into users (username, password, email) VALUES ('$username', '$password', '$email')") or die (mysql_error());
}
if($sql) {
echo "Успешна регистрация"; }
else {
echo "Възникна грешка!"; }

?>
 
Така де :D
<?
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
$email = htmlspecialchars($_POST['email']);

if((strlen($username)<4) || (strlen($username)>20)){
die ("Потребителското име трябва да е от 4 до 20 символа"); }
elseif((strlen($password)<4) && (strlen($password)>20)){
die ("Паролата трябва да е от 4 до 20 символа"); }
elseif(!$email == "" && (!strstr($email,"@") || !strstr($email,"."))){
die ("Въведете правилен и-мейл"); }
elseif($username==$password) {
die ("Паролата и акаунта трябва да се различават"); }
else {
$sql = mysql_query("INSERT into users (username, password, email) VALUES ('$username', '$password', '$email')") or die (mysql_error());
}
if($sql) {
echo "Успешна регистрация"; }
else {
echo "Възникна грешка!"; }

?>
 
стана стана мерси много :?:
Едит:ами това

$name = mysql_query("SELECT username FROM register WHERE username='$username'");
$name= mysql_num_rows($checkname);
if($name>0) {
die "акаунта се използва"; }
 
Сложих и проверка за съществуващ и-мейл, възможно е и да има грешчица, но до колкото гледах - няма:

<?
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
$email = htmlspecialchars($_POST['email']);

$checkname = mysql_query("SELECT username FROM users WHERE username='$username'");
$namechek= mysql_num_rows($checkname); //ето ти за потребит. име

$checkmail = mysql_query("SELECT email FROM users WHERE username='$username'");
$checkemail= mysql_num_rows($checkmail); //за имейла

if((strlen($username)<4) || (strlen($username)>20)){
die ("Потребителското име трябва да е от 4 до 20 символа"); }
elseif((strlen($password)<4) && (strlen($password)>20)){
die ("Паролата трябва да е от 4 до 20 символа"); }
elseif(!$email == "" && (!strstr($email,"@") || !strstr($email,"."))){
die ("Въведете правилен и-мейл"); }
elseif($username==$password) {
die ("Паролата и акаунта трябва да се различават"); }
elseif($namecheck > 0) {
die ("Вече има потребител с такова потребителско име!"); }
elseif($checkemail > 0) {
die ("Вече има потребител с такъв и-мейл адрес!"); }

else {
$sql = mysql_query("INSERT into users (username, password, email) VALUES ('$username', '$password', '$email')") or die (mysql_error());
}
if($sql) {
echo "Успешна регистрация"; }
else {
echo "Възникна грешка!"; }

?>
 

Горе