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.