<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ar" lang="ar">
<head>
<meta http-equiv="content-type" content="text/html;charset= utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>ahmed fakhr el din</title>
</head>
<body>
<div id="regform">
<h2> نموذج تسجيل</h2>
<?php
if(isset($_POST['submit'])){// Click on complete button
$error=array();
if(empty($_POST['uname']) || trim($_POST['uname'])=="")
$error[]="خطأ : خانة اسم المستخدم Ùارغة";
if(empty($_POST['fname']) || trim($_POST['fname'])=="")
$error[]="خطأ:خانة الاسم الاول Ùارغة";
if(empty($_POST['password']) || trim($_POST['password'])=="")
$error[]="خطأ : خانة الكلمة السرية Ùارغة";
if(empty($_POST['password2']) || trim($_POST['password2'])=="")
$error[]="خطأ خانة تأكيد الكلمة السرية Ùارغة";
if(empty($_POST['email'])|| trim($_POST['email'])=="")
$error[]="خطأ : خانة البريد الالكتروني Ùارغة";
if(empty($_POST['email2'])|| trim($_POST['email2'])=="")
$error[]="خطأ : خانة تأكيد البريد الالكتروني Ùارغة";
if(empty($_POST['age'])|| trim($_POST['age'])=="")
$error[]="خطأ :خانة العمر Ùارغة";
if(strlen($_POST['uname'])<4)
$error[]="Øطأ : يجب ان يتكون اسم المستخدمن اكثر 4 ØروÙ";
if(strlen($_POST['password'])<4 || strlen($_POST['password2'])<4)
$error[]="خطأ الكلمة السرية يجب ان تتكون من اكثر من 6 ØروÙ";
if($_POST['password']!=$_POST['password2'])
$error[]="خطأ : الكلمات السرية غير متطابقة";
//Validating Emails
if(!preg_match("/^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9](.[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])+$/",$_POST['email'])
||
!preg_match("/^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9](.[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])+$/",$_POST['email2']))
$error[]="خطأ: البريد الالكتروني غير صالØ";
if($_POST['email']!=$_POST['email2'])
$error[]="خطأ : البريد الالكتروني غير متطابق";
if(!is_numeric($_POST['age']))
$error[]="خطأ : العمر المدخل ليس قيمة رقمية";
if(sizeof($error)>0){
echo "<div id=\"error\">";
echo "<ul>";
foreach($error as $k=>$v){
echo "<li> ";
echo $v;
echo "</li>";
}
echo "</ul>";
echo "</div>";
}
else{
include "conf.php";
// Random confirmation code
$confirm_code=uniqid(rand());
$username=$_POST['uname'];
$fname=$_POST['fname'];
$password=$_POST['password'];
$email=$_POST['email'];
$age=$_POST['age'];
$gender=$_POST['gender'];
$adduser= mysql_query("INSERT INTO USERS VALUES('$confirm_code','$username','$fname','$password','$email','$age','$gender')");
// send e-mail to ...
$to=$email;
// Your subject
$subject="Your confirmation link here";
// From
$header="from: your name <your email>";
// Your message
$message="Your Comfirmation link \r\n";
$message.="Click on this link to activate your account \r\n";
$message.="http://www.sufiacademy.net/confirmation.php?passkey=$confirm_code";
// send email
$sentmail = mail($to,$subject,$message,$header);
if($adduser and $sentmail){
echo "<div id=\"succes\">";
echo " register succesfully";
echo "</div>";
}
}
}
?>
<ul>
<form method="post" action="index.php">
<li><label>اسم المستخدم :</label> <span><input type="text" name="uname" /></span> </li>
<li><label> الاسم الاول: </label> <span><input type="text" name="fname" /></span></li>
<li><label> الكلمة السرية: </label> <span><input type="password" name="password" /></span> </li>
<li><label> تأكيد الكلمة السرية: </label> <span><input type="password" name="password2" /></span></li>
<li><label> البريد الالكتروني: </label> <span><input type="text" name="email" /></span></li>
<li><label> تأكيد البريد الالكتروني: </label> <span><input type="text" name="email2" /></span> </li>
<li><label> العمر: </label> <span><input type="text" name="age" /></span></li>
<li><label> الجنس: </label><span><select name="gender"><option>ذكر</option> <option>انثى</option> </select> </span> </li>
<li> <input type="submit" class="submit" value="اكمال" name="submit"/> </li>
</form>
</ul>
</div>
</body>
</html>
答案 0 :(得分:1)
服务器的字符集可能有问题吗?如果没有更多关于这个问题的说明,我就可以做出更好的猜测......
编辑:
此外,如果您不打算填充表格中的每一列或不按正确的顺序插入值,您需要指定要插入的列,如下所示:
INSERT INTO tbl_name (col1,col2) VALUES( "val1" ,"val2");
在他创建表中的用户输入中编写用户输入也不是一个好主意,使用
mysql_real_escape_string($_POST[...]);
至少要避免SQL注入。
答案 1 :(得分:0)
服务器是否有有效的邮件配置?验证mail()函数是否有效并可以发送电子邮件!
您还应该检查数据库是否使用UTF-8编码创建。检查它的字符集。
也许您还应该检查该表是否称为USERS或用户。 MySQL区分大小写。