【发布时间】:2014-10-21 15:23:56
【问题描述】:
我对 mysql 很陌生。如何根据存储在数据库中的值验证用户输入的电子邮件值。用户在 html5 输入字段中输入他的电子邮件,它将使用存储在数据库中的值进行验证并相应地执行成功操作。成功导航到下一个屏幕,失败时会弹出一个弹出窗口。附件是场景的屏幕截图。 [图片] (http://s10.postimg.org/5vvlp200p/user_validation.png) 请推荐
编辑1:
<!DOCTYPE html>
<html>
<body>
<form action="demo_form.asp" autocomplete="on">
E-mail: <input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>
</body>
</html>
编辑 2:
<?php
try
{
$connection = mysql_connect("localhost:3306","root","b");
mysql_select_db("MobileBlog", $connection);
mysql_query(" // suggest here to validate against emails in db");
mysql_close($connection);
echo "SUCCESS";
}
catch(Exception $e)
{
echo $e->getMessage();
// Note: Log the error or something
}
?>
编辑 3 这是我的新 HTML5 PHP 代码,但仍然失败。
<!DOCTYPE html>
<html>
<body>
<form action="checkform.php" method="post">
E-mail: <input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>
</body>
</html>
PHP 代码
<?php
try
{
$connection = mysql_connect("localhost:3306","root","b");
mysql_select_db("mobileblog", $connection);
$emailid = $_POST['email'];
echo $emailid;
$sql = "SELECT Name from table WHERE email=" . $_POST['email'];
$result = mysql_query($sql);
echo $result;
if(!$result) { echo "<p class='error'>Error: No such email address</p>"; }
// note that the if is asking if there is no result
else {
while ($row = mysql_fetch_assoc($result)) {
echo "<p class='success'>Welcome " . $row['Name'] . "!!</p>";
}
} // end
//mysql_query(" // suggest here to validate against emails in db");
mysql_close($connection);
echo "SUCCESS";
}
catch(Exception $e)
{
echo $e->getMessage();
// Note: Log the error or something
}
?>
编辑 3 错误:
警告:mysql_connect():第 5 行 C:\xampp\htdocs\email\checkform.php 中用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)
警告:mysql_select_db() 期望参数 2 是资源,布尔值在第 6 行的 C:\xampp\htdocs\email\checkform.php 中给出 abc@gmail.com 错误:没有这样的电子邮件地址
警告:mysql_close() 期望参数 1 是资源,布尔值在第 32 行的 C:\xampp\htdocs\email\checkform.php 中给出 成功
【问题讨论】:
-
@Fred-ii- 我不认为这是被问到的问题-
-
验证或匹配?完全是两种不同的动物。
-
我需要验证用户输入的值与数据库中的值
-
SELECT name from table WHERE email=POSTED EMAIL... -
专业提示您的数据库表字段;有些是大写的
Name,有些不是email。当您忘记哪个是哪个时,这会给您带来麻烦