Topic: Registracijos bėda.

Kuriu registracija su MySQL ir padariau aišku, kad leisturašyti nuo 4 iki 18 simbolių, tik 0-9 ir a-z, bet kai viską suvedu normaliai kaip ir turi būti laukeliose ir suvedu tinkama emailą, gaunu klaidą, kad "please check the errors and refill the form
user name not valid it may contain 4 to 18 characters, only 0-9,a-z
Invalid email"
Nors viskas pagal mano reikalavimus. štai kodas register.php

 <html>

<head>

<link href=" page.css" rel="stylesheet" type="text/css" />

</head>

<body>
<?php
include('db.php'); 
if(!isset($_POST['register']))//checking if user has entered this page directly
{
include('form.php');
}
else{
if(isset($_POST['name'])&&$_POST['name']===""||!isset($_POST['name']))
{
$error[] = "fill in your name";}
if (strlen($_POST['user']) < 4 || strlen($_POST['user']) > 18 || !preg_match('/^[0-9a-z]+$/',$_POST['user'])||!isset($_POST['user'])) {

                $error[] = "user name not valid it may contain 4 to 18 characters, only 0-9,a-z";
$usererror = "1";
            } 
if(!isset($usererror))
{
$user = mysql_real_escape_string($_POST['user']);
$sql = "SELECT * FROM member WHERE user = '$user'";
if(mysql_num_rows(mysql_query($sql))=="1")//1 means there is one entry same so we print error
{
$error[] = "username has already been taken"; 
}
}

if(isset($_POST['email'])&&$_POST['email']==""||!isset($_POST['email']))
{
$error[] = "fill in your email"; 
$emailerror = "1";

}
if(isset($_POST['email'])&&!$_POST['email']==""&&!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $_POST['email']))
{
$error[] = "Invalid email"; 
$emailerror= "1";
}

if(!isset($emailerror))
{
$email = mysql_real_escape_string($_POST['email']);
$sql = "SELECT * FROM member WHERE email  = '$email'";
if(mysql_num_rows(mysql_query($sql))=="1")//1 means there is one entry same so we print error
{
$error[] = "email has already been used"; 
}
}

if(isset($_POST['password'])&&$_POST['password']==""||!isset($_POST['password']))
{
$error[] = "fill in your password"; 
}
if(isset($error)){
if(is_array($error)){echo "<div class=\"error\"><span>please check the errors and refill the form<span><br/>";
foreach ($error as $ers) {

echo "<span>".$ers."</span><br/>";

        }
echo "</div>";
include('form.php');
}
}
if(!isset($error)){
$sname= mysql_real_escape_string($_POST['name']);
$suser=mysql_real_escape_string($_POST['user']);
$semail=mysql_real_escape_string($_POST['email']);
$spass=md5($_POST['password']);//for secure passwords
$sip=mysql_real_escape_string($_SERVER['HTTP_HOST']);
$save = mysql_query("INSERT INTO `member` (`id`, `name`, `user`, `email`, `password`, `ip`)VALUES (NULL, '$sname', '$suser', '$semail', '$spass', '$sip')");
if($save){
echo "<div class=\"success\"><span>You Have success fully created your account!!</span><br/><span>Now you can <a href=\"#\">login</a></span></div>";
}
else{
echo "<div class=\"warning\"><span>Some Error occured durring processing your data</div>";

}
}
}

?>
</body>

</html>

Prašau padėkit.

Re: Registracijos bėda.

parsisiusk kita registracijos skripta is kitur kuri veiks, jei nesupranti kas cia priburta

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: Registracijos bėda.

papastines keleta eiluciu i google radau tavo parsisiusta skripta, viskas ten veikia

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: Registracijos bėda.

Nenaudok kodo, jeigu nesupranti ką jis daro ir kokius klaidos pranešimus rodo. Turint omenyje, kad jis tikrai nėra "švarus". Aišku jis yra trumpa ir gana paprastas, bet vistiek nemalonu tokį skaityt. Pagal klaidų pranešimus gali suprast, kurios sąlygos "nepraėjo" atitinakamai aiškinkis - kodėl, ką padavei, ir kodėl netiko tikrinimo sąlygoms.