如果表单值与DB值匹配,则PHP显示成功消息

时间:2014-09-30 14:53:55

标签: php mysql database forms

我正在尝试创建一个非常简单的表单,它接受用户在表单文本字段中输入的值,将其与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;
}
?>

此外,这种形式是否可以防止黑客入侵,或者我是否需要在代码中加入更多保护?

0 个答案:

没有答案