Грешка в логиката дори и да не се веведе парола се изпълнява заявката
PHP:
<?php
if ($_POST["submit"])
if ($_POST["user"]==NULL or strlen($_POST["user"])<=3)
{
echo "<div class='error'>Псевдонима, който сте въвели е прекалено кратък или не сте въвели такъв.</div>";
}
else {
$user = htmlspecialchars($_POST["user"]);//
}
if (preg_match('/^[a-z0-9]+(_)?[a-z0-9]+$/i',$user))
{
echo "<div class='error'>Непозволени символи</div>";
}
else
{
$user = htmlspecialchars($_POST["user"]);///
}
if ($_POST["pass"]==NULL or strlen($_POST["pass"])<=6)
{
echo "<div class='error'>Паролата, която сте въвели е прекалено кратка или не сте въвели такава.</div>";
}
else
{
$pass = htmlspecialchars($_POST["pass"]);
}
if ($_POST["pass2"]==NULL or strlen($_POST["pass2"])<=6)
{
echo "<div class='error'>Паролата, която сте въвели е прекалено кратка или не сте въвели такава.</div>";
}
if ($_POST["pass"] != $_POST["pass2"])
{
echo "<div class='error'>Паролите не съвпадат!</div>";
}
else
{
if(empty($_POST["mail"]))
{
echo "<div class='error'>Моля въведете е-майл!</div>";
}
elseif
(!empty($_POST["mail"])) { $mail = htmlspecialchars($_POST["mail"]); }
if (!strstr($mail,"@") || !strstr($mail,".")) { $errMsg = "<div class='error'>Грешен e-mail адрес</div>"; }
$ip = $_SERVER['REMOTE_ADDR'];
$chekd = mysql_query("SELECT * FROM `members` WHERE `mail`='".$mail."'")or die(mysql_error());
$chekds = mysql_num_rows($chekd);
if ($chekds >'0')
{
echo '<div class="error">Този email вече е регистриран! </div>';
}
else
{
$chek = mysql_query("SELECT * FROM `members` WHERE `user`='".$user."'")or die(mysql_error());
$cheks = mysql_num_rows($chek);
if ($cheks=='1')
{
echo '<div class="error">Този потребител вече е регистриран! </div>';
}
else {
//заявка
echo '<div class="info">Здравей, <b>' . $user . '</b>! Регистрацията е успешна! Моля потвърдете регистрацията чрез връзката изпратена на Вашата електронна поща. </div>';
}
}
}
?>