2016-07-10 13 views
-2

Ich habe ein Problem mit meinem Code, REQUIRED machen, wenn die Eingaben leer sind, wird nichts in der Datenbank ausführen, und senden Sie eine Nachricht, die alle Felder gefüllt haben untersucht den ganzen Tag, aber ich kann keine Lösung geben hoffe jemand kann mir helfen.Felder sind leer mysqli

Wie könnte ich tun, dass, wenn die Felder leer sind, eine Nachricht senden, die Fehler sagt und nichts in der Datenbank ausführt.

<?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(); 
} 
?> 

Antwort

1

Sie können dies versuchen:

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(); 
    } 

schließlich die Warnmeldung drucken:

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

Woow, danke, es funktionierte richtig –

Verwandte Themen