2016-07-10 58 views
-2

我的代碼有問題,要求make如果輸入爲空將不會執行數據庫中的任何內容,併發送一條消息,該消息應填寫所有領域的調查過程,但我無法給出解決方案希望可以有人幫幫我。字段爲空mysqli

我怎麼能這樣做,如果字段爲空發送一條消息,說錯誤,並不會執行任何數據庫中的任何東西。最後

if(isset($_POST['btn-signup'])) { 

    $uname = $MySQLi_CON->real_escape_string(trim($_POST['user_name'])); 
    $email = ...... 
    $upass = ...... 

    /* Modified code starts */ 

    $valid = true; 

    if(empty($uname)) { 
     $msge[] = "Username is required."; 
     $valid = false; 
    } if(empty($email)) { 
     $msge[] = "email is required."; 
     $valid = false; 
    } if(empty($upass)) { 
     $msge[] = "Password is required."; 
     $valid = false; 
    } 

    /* Modified code ends */ 

    $new_password = ...... 
    $check_email =.... 
    $count = .... 

    /* Modified code starts again */ 

    if ($count > 0) { 
     $msge[] = "Email en uso"; 
     $valid = false; 
    } 

    if ($valid) { 

      $query = "INSERT INTO users(username,mail,password) VALUES('$uname','$email','$new_password')"; 
      if ($MySQLi_CON->query($query)) { 
      $msge = "Registrado correctamente"; 
      } else { 
       $msge = "Eror al registrarte"; 
      } 
     } 

    $MySQLi_CON->close(); 
    } 

,打印警告消息:

<?php 
session_start(); 
if(isset($_SESSION['userSession'])!="") 
{ 
header("Location: me.php"); 
} 
include_once 'sistema/config.web.php'; 

if(isset($_POST['btn-login'])) 
{ 
$email = $MySQLi_CON->real_escape_string(trim($_POST['user_email'])); 
$upass = $MySQLi_CON->real_escape_string(trim($_POST['password'])); 

$query = $MySQLi_CON->query("SELECT * FROM users WHERE mail='$email'"); 
$row=$query->fetch_array(); 

if(password_verify($upass, $row['password'])) 
{ 
    $_SESSION['userSession'] = $row['id']; 
    header("Location: me.php"); 
} 
else 
{ 
    $msg = "Email o contraseña no encontrados"; 
} 

$MySQLi_CON->close(); 

} 

if(isset($_POST['btn-signup'])) 
{ 
$uname = $MySQLi_CON->real_escape_string(trim($_POST['user_name'])); 
$email = $MySQLi_CON->real_escape_string(trim($_POST['user_email'])); 
$upass = $MySQLi_CON->real_escape_string(trim($_POST['password'])); 
$new_password = password_hash($upass, PASSWORD_DEFAULT); 
$check_email = $MySQLi_CON->query("SELECT mail FROM users WHERE mail='$email'"); 
$count=$check_email->num_rows; 
if($count==0){ 
$query = "INSERT INTO users(username,mail,password) VALUES('$uname','$email','$new_password')"; 
if($MySQLi_CON->query($query)) 
{ 
$msge = "Registrado correctamente"; 
} 
else 
{ 
$msge = "Eror al registrarte"; 
} 
} 
else{ 
$msge = "Email en uso"; 
} 
$MySQLi_CON->close(); 
} 
?> 

回答

1

你可以試試這個

echo implode('<br/>', $msge); 
+0

WOOW,謝謝,它工作正常 –