2017-05-26 4 views
0

Ich lerne gerade PHP Programmierung,PHP Zeigt einen Fehler an, wenn Daten eingegeben werden

Ich wollte einen Fehler anzeigen, wenn die eingegebenen Daten vorhanden sind. Kann jemand ein Beispiel zeigen, wie es funktioniert?

Hier ist Code, den ich verwendet:

<?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 

?> 
+0

Haben Sie es zu suchen versucht ausführen? – revo

+1

Wenn Sie gerade anfangen, PHP zu lernen, dann tun Sie sich einen Gefallen und beginnen Sie mit mysqli anstatt der veralteten mysql - auch scheint es, dass die erste SQL-Abfrage nie wirklich verwendet wird - es wird ausgeführt, aber das Ergebnis ist nicht benutzt. Ich sehe auch, dass es eine Mischung aus mysqli und mysql Funktionen gibt. – RamRaider

Antwort

0

Es ist ein Fehler, den Sie verwenden beide MySQL und MySQLi, mit beiden ist schwerwiegender Fehler, wenn Sie auf Live-Server arbeiten. Konzentrieren Sie sich nur auf MySQLi, da MySQL offiziell veraltet ist und nicht mehr unterstützt wird.

Kommen Sie nun zu Ihrer Frage. Deine Logik scheint in Ordnung zu sein. Dies ist, wie Sie implementieren müssen:

  1. Werte von FORM Fetch
  2. Zuerst reinigen Sie den Eingang mit mysqli_real_escape_string() Funktion.
  3. Nutzung über Werte und überprüfen Sie die Aufzeichnung existance in der Datenbank (hier verwenden SELECT-Anweisung)

  4. Wenn mysqli_num_rows() gibt Ihnen Ergebnis größer als 0 als; (a) bedeutet, es Datensatz bereits (b) sonst existiert, INSERT-Anweisung

+0

Hallo danke, für diesen Vorschlag, aber ich bin immer noch nicht familliar, wie von Formular verwenden holen sowieso werde ich fragen, google, wie es geht so – RCX

+0

Sie willkommen sind –

Verwandte Themen