отображение ошибки в php, если функция не работает, не работает - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть форма html, когда пользователь отправляет форму, данные отправляются в базу данных, а если данные отправляются в базу данных, функция mail отправляет почту. Теперь я пытаюсь отобразить сообщение, если данные не добавляются в базу данных, я сделал следующий код:

session_start();
require('db_config.php');


function random_strings($length_of_string)
{

    // String of all alphanumeric character
    $str_result = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

    // Shufle the $str_result and returns substring
    // of specified length
    return substr(str_shuffle($str_result),
                       0, $length_of_string);
}



if(isset($_POST['submit'])) {

$name = $_FILES['Photo']['name'];
    list($txt, $ext) = explode(".", $name);
    $image_name = time().".".$ext;
    $tmp = $_FILES['Photo']['tmp_name'];

    $shame = $_FILES['paymentphoto']['name'];
    list($txts, $ext) = explode(".", $shame);
    $receipt_name = time().".".$ext;
    $tmps = $_FILES['paymentphoto']['tmp_name'];

    $fame = $_FILES['aadhaar']['name'];
    list($txtss, $ext) = explode(".", $fame);
    $aadhaar_name = time().".".$ext;
    $tmpss = $_FILES['aadhaar']['tmp_name'];

$userlogin = random_strings(8);

    if(move_uploaded_file($tmp, 'uploads/'.$image_name) && move_uploaded_file($tmps, 'receipt/'.$receipt_name)  && move_uploaded_file($tmpss, 'aadhaar/'.$aadhaar_name)){


        $sql = "INSERT INTO members // the column names and values goes here ' )";
        $mysqli->query($sql);}

if ($mysqli){
        $to = "demo@gmail.com"; // this is your Email address
    $from = $_POST['email']; // this is the sender's Email address
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];

    $headers = "From:" . $from."\nMIME-Version: 1.0\nContent-Type: text/html; charset=utf-8\n";
    $subject = "Membership Registration Request";
    $message ="thank you";


    mail($to,$subject,$message,$headers);

      $msg = "Welcome To TEIA Family. We Have Sent A Mail With Your Login Details In Your Mail ID";

        }

    else {
      $msg="Email already registered. Please use a different Email";
    }

}

Теперь столбец электронной почты в моей базе данных является уникальным, поэтому, если пользователь добавляет тот же адрес электронной почты id, он не будет добавлен в базу данных, поэтому я дал статистику else, если запрос не выполняется, для отображения ошибки электронной почты уже существует. но теперь проблема в том, что даже если данные не добавляются в базу данных, отображается сообщение «сообщение об успехе» вместо сообщения об ошибке, может кто-нибудь сказать мне, что может быть не так. заранее спасибо

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020
  1. Этот работал для моего проекта

    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    
  2. Включите вас php .ini ошибка отображения

    display_errors = on
    
  3. Теперь перезагрузите сервер

0 голосов
/ 01 февраля 2020

Нигде в программе нет теста для добавления данных в базу данных. Похоже, именно это и предназначено if ($mysqli){. Но это не то, что он делает. Это обеспечит наличие (предположительно) объекта подключения с именем $mysqli. Возможно, вы найдете affected_rows свойство полезным.

...