php Создать страницу аккаунта без перенаправления на index.html - PullRequest
0 голосов
/ 19 октября 2018

Этот веб-сайт предназначен для транспортной компании, в которой пользователи создают аккаунт и получают виртуальный почтовый ящик в другой стране.Когда пользователь создает учетную запись, его информация должна быть отправлена ​​в базу данных, и он должен быть перенаправлен на dashboard.html. Однако, когда форма создания учетной записи заполнена и нажата кнопка отправки, пользователь должен быть перенаправлен на индекс.html, но страница не будет перенаправлена.и нет никаких ошибок, даже с отчетами об ошибках PHP, пожалуйста, помогите.

   <?php
   session_start();

   ini_set('display_errors', 'On');
   error_reporting(E_ALL | E_STRICT);

    error_reporting(E_ALL);
    ini_set('display_errors', 1);


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

         //check if variables are empty

     if (!empty($firstname) || !empty($lastname) || !empty($email) || 
         !empty($confirmemail) ||
         !empty($password) || !empty($confirmpassword)  || 
         !empty($phonenumber)    || !empty($address)  || !empty($city)  || 
         !empty($parish)  || !empty($trn)  ) 

        {
          $firstname = $_POST['firstname'];
           $lastname = $_POST['lastname'];
           $email= $_POST['email'];
           $confirmemail = $_POST['confirmemail'];
           $password = $_POST['password'];
           $confirmpassword = $_POST['confirmpassword'];
           $phonenumber = $_POST['phonenumber'];
           $address= $_POST['address'];
           $city = $_POST['city'];
           $parish = $_POST['parish'];
           $trn = $_POST['trn'];


       $DB_NAME= "ship2yaad";
       $DB_USER="root";
        $DB_PASSWORD="";
        $DB_HOST= "localhost";

    //create connection

     $conn= new mysqli("$DB_HOST", "$DB_USER", "$DB_PASSWORD","$DB_NAME");


   if (mysqli_connect_error()) {
   die('Connect Error('. mysqli_connect_errno().')'.mysqli_connect_error());
    } 



     $SELECT = "SELECT email From usersdb Where email = ? Limit 1";
     $INSERT = "INSERT Into usersdb (firstname , lastname , email 
       ,confirmemail , password , confirmpassword , phonenumber, address, 
         city, parish ,trn) 
  values(?,?,?,?,?,?,?,?,?,?,?)";
 //Prepare statement
   # code...



    $stmt = $conn->prepare($SELECT);
    $stmt->bind_param("s", $email);
    $stmt->execute();
    $stmt->bind_result($email);
    $stmt->store_result();
   $rnum = $stmt->num_rows;


    if ($rnum==0) {
        $stmt->close();
        $stmt = $conn->prepare($INSERT);

  // prepare and bind
     $stmt->bind_param("ssssssisssi", $firstname, $lastname, $email, 
      $confirmemail, $password, $confirmpassword ,$phonenumber, 
      $address, $city, $parish , $trn); 
     //binds the parameters to the SQL query and tells the database what the 
    parameters are
      $stmt->execute();

    $stmt->close();
    $conn->close();



        header('Location:dashboard.html');
        }



    ?>
     the database credentials are correct im 100% sure of it. PLus im not getting a sql connect error. 

1 Ответ

0 голосов
/ 19 октября 2018

В ваших кодах есть несколько проблем:

1.Повторите определения

   ini_set('display_errors', 'On');   // useless because its overwritten
   error_reporting(E_ALL | E_STRICT);  //  uselesss again

   ini_set('display_errors', 1);   // repeat
   error_reporting(E_ALL);   // repeat

Не повторять.Выберите один и придерживайтесь его.

2.Неправильное закрытие циклов
Множество закрывающих скобок отсутствуют, что приводит к более сложной отладке.


3.Корень Причина вашей проблемы. Неправильное использование комментариев к коду.

//Prepare statement
# code...

Однострочные комментарии начинаются с // и, как следует из названия, должны заканчиваться на той же строке.
# code в коде (фрагмент выше) добавляется в другую строку.
Если вы предпочитаете использовать многострочные комментарии, правильный синтаксис:

/* Multi
   Line
   Comment */

, это также происходит здесь ↓

//binds the parameters to the SQL query and tells the database what the 
    parameters are

Обратите внимание на разницу в цвете кода ↑


Мой совет -
Используйте IDE, поддерживающую PHP и синтаксисвыделение.
Atom, код Visual Studio, PhpStorm и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...