PDA

View Full Version : سوال: اشکال در قسمت ایمیل فرم ثبت نام"کمک"



sooren_66
چهارشنبه 11 تیر 1393, 13:01 عصر
سلام
من یک فرم ثبت نام به این شکل دارم
می خوام به این فرمم ایمیل هم اضافه کنم چطور باید عمل کنم.میخوام هر چیزی پذیرفته نشه و فقط ایمیل یعنی @ رو تشخیص بده و نمی دونم آیا میشه چک کرد که این ایمیل در دنیای مجازی ساخته شده است یا نه؟یعنی یه سرچ هم بکنه که این ایمیل هست یا نه اگه امکانپذیر نیست که هیچ فقط قسمت تشخیص @.
فرم ثبت نام:
<body>


if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '<ul class="err">';
foreach($_SESSION['ERRMSG_ARR'] as $msg) {
echo '<li>'.$msg.'</li>';
}
echo '</ul>';
unset($_SESSION['ERRMSG_ARR']);
}



<form id="loginForm" name="loginForm" method="post" action="register-exec.php">
<table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<th>First Name </th>
<td><input name="fname" type="text" class="textfield" id="fname" /></td>
</tr>
<tr>
<th>Last Name </th>
<td><input name="lname" type="text" class="textfield" id="lname" /></td>
</tr>
<tr>
<th width="124">Login</th>
<td width="168"><input name="login" type="text" class="textfield" id="login" /></td>
</tr>
<tr>
<th>Password</th>
<td><input name="password" type="password" class="textfield" id="password" /></td>
</tr>
<tr>
<th>Confirm Password </th>
<td><input name="cpassword" type="password" class="textfield" id="cpassword" /></td>
</tr>
<tr>
<th>Security Code </th>
<td><img src="captcha.php" id="captcha" /><br/>
<a href="#" onclick="
document.getElementById('captcha').src='captcha.ph p?'+Math.random();
document.getElementById('user_captcha').focus();"
id="change-image">Not readable? Change text.</a><br/><br/>
<input type="text" name="captcha" id="user_captcha"/>
</td>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Register" /></td>
</tr>
</table>
</form>
</body>


رجیستر چک


<?php
session_start();

require_once('config.php');

$errmsg_arr = array();
$errflag = false;

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}

$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}

function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//$captchaText = mt_rand(10000000, 99999999);
$fname = clean($_POST['fname']);
$lname = clean($_POST['lname']);
$login = clean($_POST['login']);
$password = clean($_POST['password']);
$cpassword = clean($_POST['cpassword']);
$user_captcha = clean($_POST['user_captcha']);

if (empty($_REQUEST['captcha']))
{
$errmsg_arr[] = 'Confirm user_captcha missing';
$errflag = true;
}
else{
if (empty($_SESSION['captcha']) || trim(strtolower($_REQUEST['captcha'])) != $_SESSION['captcha'])
{
$errmsg_arr[] = 'captcha do not match';
$errflag = true;
}
}

if($fname == '') {
$errmsg_arr[] = 'First name missing';
$errflag = true;
}
if($lname == '') {
$errmsg_arr[] = 'Last name missing';
$errflag = true;
}
if($login == '') {
$errmsg_arr[] = 'Login ID missing';
$errflag = true;
}
if($password == '') {
$errmsg_arr[] = 'Password missing';
$errflag = true;
}
if($cpassword == '') {
$errmsg_arr[] = 'Confirm password missing';
$errflag = true;
}
if( strcmp($password, $cpassword) != 0 ) {
$errmsg_arr[] = 'Passwords do not match';
$errflag = true;
}

if($login != '') {
$qry = "SELECT * FROM members WHERE login='$login'";
$result = mysql_query($qry);
if($result) {
if(mysql_num_rows($result) > 0) {
$errmsg_arr[] = 'Login ID already in use';
$errflag = true;
}
@mysql_free_result($result);
$_SESSION['login'] = 1;
}
else {
die("Query failed");
}
}

if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: register-form.php");
exit();
}

$qry = "INSERT INTO members(firstname, lastname, login, passwd) VALUES('$fname','$lname','$login','".md5($_POST['password'])."')";
$result = @mysql_query($qry);

if($result) {
header("location: register-success.php");
exit();
}else {
die("Query failed");
}
?>



رجیستر success


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Registration Successful</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Registration Successful</h1>
<p><a href="login-form.php">Click here</a> to login to your account.</p>
</body>
</html>


شرمنده اگه این قسمت هم برام توضیح بدبد ممنون می شم.این قسمت رو نمیدونم به چه درد می خوره.می دونم توی آرایه قرار می گیره ولی به چه درد می خوره و نمیشه چیزی رو جایگزینش کرد.


if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '<ul class="err">';
foreach($_SESSION['ERRMSG_ARR'] as $msg) {
echo '<li>'.$msg.'</li>';
}
echo '</ul>';
unset($_SESSION['ERRMSG_ARR']);
}

sooren_66
چهارشنبه 11 تیر 1393, 21:39 عصر
راهنمایییییییی لطفا"

pejman_view
چهارشنبه 11 تیر 1393, 22:04 عصر
سلام

خود PHP این امکان را دارد:


if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo 'ok';
}else{ echo 'faild;'}

sooren_66
چهارشنبه 11 تیر 1393, 22:31 عصر
سلام

خود PHP این امکان را دارد:


if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo 'ok';
}else{ echo 'faild;'}

پس باید یه متغیر ایمیل بسازم و از تکست باکس پست بشه به پایگاه داده ولی نمی دونم قسمت فیلتر رو کجای کدم استفاده کنم؟

pejman_view
چهارشنبه 11 تیر 1393, 22:49 عصر
سلام

مثله همان پسورد و ... که بررسی می شد اینم بررسی کن کدش هم مثله زیر اضافه کن اگر اشکال داشت ارور بده:

if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errmsg_arr[] = 'Email is not valid, Please enter valid mail.';
$errflag = true;
}