PHP在输入数据时显示错误

时间:2017-05-26 16:11:46

标签: php

我目前正在学习PHP编程,

我想在输入的数据存在时显示错误。 任何人都可以展示一些如何运作的例子吗?

以下是我使用的代码:

<?php
  ob_start();
  session_start();
  require '../database/database.php';

  // require '../database/inc_config2.php';
  require ('p_nav.php');

  if( !isset($_SESSION['user']) ) {
      header("Location: index.php");
      exit;
  }

  // select loggedin users detail
  $res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
  $userRow=mysql_fetch_array($res);

  //Variable input data

  //include_once 'dbconfig.php';
  if(isset($_POST['btn-save']))
  {
      // variables for input data
      $pcat = $_POST['pcat'];

      if($pcat=='')  
      {  
          //javascript use for input checking  
          echo"<script>alert('Please enter Category')</script>";  

          //    echo 'Empty Category';
          header ("location:..\product\p_cat.php");
          exit();
      }  

      // variables for input data

      //check if category is exist
      //here query check weather if user already registered so can't register again.  
      $check_pcat_query="select * from pcategory WHERE pcat='$pcat'";  
      //    $check_user_query="select * from users WHERE user_name='$user_name'";
      $run_query=mysqli_query($dbcon,$check_pcat_query); 



      if(mysqli_num_rows($run_query)>0)  
      {  
          //echo "<script>alert('Category $pcat is already exist in our database, Please try another one!')</script>";  
          exit();  
      }  

      // sql query for inserting data into database
      //temporary disabled

      $sql_query = "INSERT INTO pcategory(pcat) VALUES('$pcat')";
      mysql_query($sql_query);   
      //echo "Supplier Added Successfully"; 
      //header ("location:..\product\index.php"); 

      exit(); 

      /*
      $insert_user="insert into pcategory (pcat) VALUE ('$pcat')";  
      if(mysqli_query($dbcon,$insert_user))  
      {  
          //  echo"<script>window.open('welcome.php','_self')</script>"; 
          echo "Welcome";
      }  */
  }

  // sql query for inserting data into database

?>

1 个答案:

答案 0 :(得分:0)

有一个错误,你正在使用MySQL和MySQLi,如果你在实时服务器上工作,使用这两个都是致命的错误。只关注MySQLi,因为MySQL已被正式弃用,不再受支持。

现在回答你的问题。你的逻辑似乎很好。这就是你必须实现的方式:

  1. 从FORM
  2. 获取值
  3. 首先使用mysqli_real_escape_string()函数清理输入。
  4. 使用上述值并检查数据库中是否存在记录(此处使用SELECT语句)

  5. 如果mysqli_num_rows()给出的结果大于0;     (a)它意味着记录已经存在     (b)否则,执行INSERT语句