我已经登录了我的网站。下图为注册页面。电子邮件地址是他们的用户名。如果 @ 符号和 .尚未插入用户名(电子邮件地址)字段?
<?php
// Check if he wants to register:
if (!empty($_POST[emailaddress]))
{
// Check if passwords match.
if ($_POST[password] != $_POST[password2])
exit("Error - Passwords don't match. Please go back and try again.");
// Assign some variables.
$date = mktime("d - m - Y");
$ip = $_SERVER[REMOTE_ADDR];
require_once("config.php");
// Register him.
$query = mysql_query("INSERT INTO neworders
(emailaddress, firstname, surname, password, datereg, ip)
VALUES ('$_POST[emailaddress]','$_POST[firstname]','$_POST[surname]','$_POST[password]','$datereg','$ip')")
or die ("Error - Couldn't register user.");
echo "Welcome $_POST[username]! You've been successfully reigstered!<br /><br />
Please login <a href='login.php'><b>here</b></a>.";
exit();
}
?>
最佳答案
您可能应该使用更强大的解决方案来验证电子邮件。将 PHP 的 filter_var()
函数与 FILTER_VALIDATE_EMAIL
标志结合使用。
$validEmail = filter_var($email, FILTER_VALIDATE_EMAIL);
当然,这只是为了验证电子邮件。如果要将其插入数据库,请使用该数据库的字符串转义机制或使用绑定(bind)查询。
关于php - 创建一个电子邮件地址用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936531/