0

已经好几个小时了,我正在尝试添加电子邮件等验证,区域不能为空白,但没有一个对我有用。这是我正在处理的文件

这是 Register.php 文件

<form action="finish.php" method="post"/>
<p>First & Last Name: <input type="text" name="Name"/></p>
<p>Country: <input type="text" name="Country"/></p>
<p>Email Adress <div class="comment">a confirmation email will be sent<br> to you at this address</div><input type="text" name="Email"/></p>
<p>How You Hear About us? <select name="How" id="how" class="how">
    <option value="From a Friend">From a Friend</option>
    <option value="From Google">From Google</option>
    <option value="Advertisements">Advertisments</option>
    <option value="Other">Other</option>
    </select>
        </p>

<input id="submit" type="submit" value="Mail It!" />
</form>

完成.php 文件

<?php

define('DB_NAME', 'temp');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define ('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);


 if (!$link) {
     die('Could not Connect: ' . mysql_error());
 }

 $db_selected = mysql_select_db(DB_NAME, $link);

 if (!$db_selected) { 
     die('Can\'t use ' .DB_NAME . '; ' .mysql_error());
     }

$value = $_POST['Name'];
$value2 = $_POST['Country'];
$value3 = $_POST['Email'];
$value4 = $_POST['How'];
$sql ="INSERT INTO tempr (Name, Country, Email, How) VALUES ('$value', '$value2', '$value3', '$value4')";
if (!mysql_query($sql)) {
   die('Error: ' .mysql_error());
}

mysql_close();



?>

表单已连接到数据库,所以如果我添加验证,是否会更难获取数据库中的数据?谁能给我一个添加验证的解决方案?

谢谢

4

2 回答 2

1

您实际上面临许多挑战,其中包括:

是否填写了电子邮件表单元素?

伊塞特()

表单元素中的电子邮件是否与电子邮件的模式匹配?

filter_var()

您如何保护您的数据库免受 SQL 注入攻击?

为 mysql 转义(阅读大警告并点击链接)

您最好做好准备,保护您的服务器和客户端免受各种攻击,因此请搜索FIEO 一词以更好地了解何时过滤输入和转义输出

于 2013-10-05T16:32:23.640 回答
0

我意识到您已经要求使用 PHP 解决方案,但老实说,您应该在客户端 (javascript/jQuery) 上验证数据,以便在必要时可以将控制权返回给用户,而无需刷新页面并强制他们重新输入数据.

你熟悉这个 jQuery 插件吗:

http://jqueryvalidation.org/documentation/

要使用它,您需要在文档的 head 标签中加载 jQuery 库和 jQueryValidation 插件:

<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
</head>

看这个演示

于 2013-10-05T16:07:17.507 回答