2017-11-17 14 views
0

このコードは別々のページで正常に動作します。私は、フォームの下に含まれる場合は、特定ドメインの電子メールの妥当性確認

<html> 
 

 

 
<head> 
 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
 
</head> 
 
<body> 
 

 
<form id="signup" method="post"> 
 
    <input type="email" placeholder="Your e-mail." /> 
 
    <button>Submit</button> 
 
</form> 
 

 

 

 

 
<script type="text/javascript"> 
 

 

 
$('#signup').submit(function() { 
 
    validateEmail($('input').val()); 
 
    return false; 
 
}); 
 

 
function validateEmail(email) { 
 
    var re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/; 
 
    if (re.test(email)) { 
 
     if (email.indexOf('@metronet.in', email.length - '@metronet.in'.length) !== -1) { 
 
      alert('Submission was successful.'); 
 
     } else { 
 
      alert('Email must be a CE e-mail address ([email protected]).'); 
 
     } 
 
    } else { 
 
     alert('Not a valid e-mail address.'); 
 
    } 
 
} 
 

 
</script> 
 

 

 
<!--Load JQuery--> 
 
<script src="js/jquery.min.js"></script> 
 
<script src="js/bootstrap.min.js"></script> 
 
<script src="plugins/metismenu/js/jquery.metisMenu.js"></script> 
 
<script src="plugins/blockui-master/js/jquery-ui.js"></script> 
 
<script src="plugins/blockui-master/js/jquery.blockUI.js"></script> 
 

 

 
\t \t \t \t 
 
<script src="js/jquery-1.11.1.min.js"></script> 
 
<script src="js/bootstrap.min.js"></script> 
 
<script src="js/bootstrap-table.js"></script> 
 

 

 

 
<script src="js/jquery-1.10.2.js"></script> 
 
<script src="js/bootstrap.min.js"></script> 
 

 
</body> 
 
</html>

私はすべてのフィールドが入力されている登録ページを持っているが、それは電子メールのid列が@ ce.comドメイン含めるべきかどうかを確認する必要があります動作しませんユーザーが[email protected]と入力した場合は、ce.comドメイン名を入力する必要があるようにメッセージをポップアップする必要があります。そのためにはスクリプトを作成しましたが、すべての電子メールIDに対して有効な電子メールアドレス電子メールの形式で同じコードを貼り付けると、他のページに単独でボタンを送信すると、メッセージがポップアップしますが、このregではister.phpない作品

<?php 
 
session_start(); 
 

 
if(isset($_SESSION['usr_id'])) { 
 
\t header("Location: index.php"); 
 
} 
 

 
include_once 'dbconnect.php'; 
 

 
//set validation error flag as false 
 
$error = false; 
 

 
//check if form is submitted 
 
if (isset($_POST['signup'])) { 
 
\t $name = mysqli_real_escape_string($con, $_POST['name']); 
 
\t $email = mysqli_real_escape_string($con, $_POST['email']); 
 
\t $password = mysqli_real_escape_string($con, $_POST['password']); 
 
\t $cpassword = mysqli_real_escape_string($con, $_POST['cpassword']); 
 
\t 
 
\t //name can contain only alpha characters and space 
 
\t if (!preg_match("/^[a-zA-Z ]+$/",$name)) { 
 
\t \t $error = true; 
 
\t \t $name_error = "Name must contain only alphabets and space"; 
 
\t } 
 
\t if(!filter_var($email,FILTER_VALIDATE_EMAIL)) { 
 
\t \t $error = true; 
 
\t \t $email_error = "Please Enter Valid Email ID"; 
 
\t } 
 
\t if(strlen($password) < 6) { 
 
\t \t $error = true; 
 
\t \t $password_error = "Password must be minimum of 6 characters"; 
 
\t } 
 
\t if($password != $cpassword) { 
 
\t \t $error = true; 
 
\t \t $cpassword_error = "Password and Confirm Password doesn't match"; 
 
\t } 
 
\t if (!$error) { 
 
\t \t if(mysqli_query($con, "INSERT INTO users(name,email,password) VALUES('" . $name . "', '" . $email . "', '" . md5($password) . "')")) { 
 
\t \t \t $successmsg = "Successfully Registered! <a href='login.php'>Click here to Login</a>"; 
 
\t \t } else { 
 
\t \t \t $errormsg = "Error in registering...Please try again later!"; 
 
\t \t } 
 
\t } 
 
} 
 
?> 
 

 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title>User Registration Script</title> 
 
\t <meta content="width=device-width, initial-scale=1.0" name="viewport" > 
 
\t <link rel="stylesheet" href="css/bootstrap.min.css" type="text/css" /> 
 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
 

 
\t </head> 
 
<body> 
 
</br></br> 
 

 
<div class="container"> 
 
\t <div class="row"> 
 
\t \t <div class="col-md-4 col-md-offset-4 well"> 
 
\t \t \t <form role="form" id="signup" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="signupform"> 
 
\t \t \t \t <fieldset> 
 
\t \t \t \t \t <legend>Sign Up</legend> 
 

 
\t \t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t \t <label for="name">Name</label> 
 
\t \t \t \t \t \t <input type="text" name="name" placeholder="Enter Full Name" required value="<?php if($error) echo $name; ?>" class="form-control" /> 
 
\t \t \t \t \t \t <span class="text-danger"><?php if (isset($name_error)) echo $name_error; ?></span> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t 
 
\t \t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t \t <label for="name">Email</label> 
 
\t \t \t \t \t \t <input type="email" name="email" placeholder="Email" required value="<?php if($error) echo $email; ?>" class="form-control" /> 
 
\t \t \t \t \t \t <span class="text-danger"><?php if (isset($email_error)) echo $email_error; ?></span> 
 
\t \t \t \t \t </div> 
 

 
\t \t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t \t <label for="name">Password</label> 
 
\t \t \t \t \t \t <input type="password" name="password" placeholder="Password" required class="form-control" /> 
 
\t \t \t \t \t \t <span class="text-danger"><?php if (isset($password_error)) echo $password_error; ?></span> 
 
\t \t \t \t \t </div> 
 

 
\t \t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t \t <label for="name">Confirm Password</label> 
 
\t \t \t \t \t \t <input type="password" name="cpassword" placeholder="Confirm Password" required class="form-control" /> 
 
\t \t \t \t \t \t <span class="text-danger"><?php if (isset($cpassword_error)) echo $cpassword_error; ?></span> 
 
\t \t \t \t \t </div> 
 

 
\t \t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t \t <input type="submit" name="signup" value="Sign Up" class="btn btn-primary" /> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </fieldset> 
 
\t \t \t </form> 
 
\t \t \t <span class="text-success"><?php if (isset($successmsg)) { echo $successmsg; } ?></span> 
 
\t \t \t <span class="text-danger"><?php if (isset($errormsg)) { echo $errormsg; } ?></span> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="row"> 
 
\t \t <div class="col-md-4 col-md-offset-4 text-center"> \t 
 
\t \t Already Registered? <a href="login.php">Login Here</a> 
 
\t \t </div> 
 
\t </div> 
 
</div> 
 

 

 

 
<script type="text/javascript"> 
 

 

 
$('#signup').submit(function() { 
 
    validateEmail($('input').val()); 
 
    return false; 
 
}); 
 

 
function validateEmail(email) { 
 
    var re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/; 
 
    if (re.test(email)) { 
 
     if (email.indexOf('@c-e.com', email.length - '@c-e.com'.length) !== -1) { 
 
      alert('Submission was successful.'); 
 
     } else { 
 
      alert('Email must be a CE e-mail address ([email protected]).'); 
 
     } 
 
    } else { 
 
     alert('Not a valid e-mail address.'); 
 
    } 
 
} 
 

 

 

 
</script> 
 

 

 

 

 

 

 

 
<script src="js/jquery-1.10.2.js"></script> 
 
<script src="js/bootstrap.min.js"></script> 
 
</body> 
 
</html>

+0

私の答えをチェックしてください! –

答えて

0

あなたは電子メールを爆発し、それはあなたがこのように欲しいものを含めるかどうかを確認するためにwan't、

$explode = explode("@", $email); 
if($explode[1] == 'c-e.com'){ 
    //Email is valid 
}else{ 
    //Email is not valid 
} 
0

あなたがこれを行うことができます次のようにしてください:

function validateEmail($email) 
{ 
    // Check E-mail address is valid 
    if (!preg_match('/^([a-z0-9\+\_\-\.]+)@([a-z0-9\+\_\-\.]{2,})(\.[a-z]{2,4})$/i', $email)) return false; 
// Check for specific domain(s) 
    $SpecificDomains = array('c-e.com','gmail.com','example.com'); 
    list(, $email_domain) = explode('@', $email, 2); 
    return !in_array($email_domain, $SpecificDomains); 
} 
+0

私も同じエラーが変わった場合はそこにあります。 –

+0

エラーとは何ですか? @VidhyaVidu –

+0

@ c-e.comを検証せずにdbs.noエラーメッセージに登録しています –

関連する問題