我正在尝试创建一个非常简单的表单,它接受用户在表单文本字段中输入的值,将其与mysql数据库进行比较,如果有匹配则显示成功消息(否则为失败消息)。 / p>
我能够让脚本在非常基础的层面上工作,但我希望能够在成功消息中显示查询中的值。我还想在表单所在的同一页面上显示此成功/失败消息,现在当您单击提交时,它会打开一个包含纯文本的新白页。
这是我第一次使用PHP,如果它有这样一个基本问题,我很抱歉,代码如下。
保存表单的网页上的代码:
<form name="verify_form" action="verify.php" method="post">
Company Location ID: <input name="vendor_code" type="text" id="vendor_code" >
<input type="submit" name="Submit" value="Submit" ">
</form>
PHP文件中的代码:
<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name=""; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// vendor code sent from form
$vendorCode=$_POST['vendor_code'];
// To protect MySQL injection (more detail about MySQL injection)
$vendorCode = stripslashes($vendorCode);
$vendorCode = mysql_real_escape_string($vendorCode);
$sql="SELECT id,name FROM $tbl_name WHERE id='$vendorCode' and isActive='1'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched, table row must be 1 row
if($count==1){
$pass = "VALID";
print $pass;
}
else {
$fail = "NOT valid";
print $fail;
}
?>
此外,这种形式是否可以防止黑客入侵,或者我是否需要在代码中加入更多保护?