Почему HTML страница не читает страницу PHP - PullRequest
0 голосов
/ 12 октября 2019

У меня проблема, когда я нажимаю кнопку отправки, ничего не происходит, и мои данные не вставляются в базу данных.

Я пытаюсь создать страницу регистрации (register2.html) иdb_reg.php для отправки данных в базу данных.

, но я выяснил, что Html-страница даже не читает страницу PHP. 1009 *

<?php
session_start();

// connect to the database
$db = mysqli_connect('localhost', 'root', '', 'mdff');

// initializing variables
$fullName = $_POST['fullName'];
$email    = $_POST['email'];
$phoneNum = $_POST['phoneNum'];
$password1 = $_POST['password1'];
$password2 = $_POST['password2'];
$errors = array(); 


// REGISTER USER
if (isset($_POST['register2'])) {
  // receive all input values from the form
  $fullName = mysqli_real_escape_string($db, $_POST['fullName']);
  $email = mysqli_real_escape_string($db, $_POST['email']);
  $phoneNum = mysqli_real_escape_string($db, $_POST['phoneNum']);
  $password1 = mysqli_real_escape_string($db, $_POST['password1']);
  $password2 = mysqli_real_escape_string($db, $_POST['password2']);

  // form validation: ensure that the form is correctly filled ...
  // by adding (array_push()) corresponding error unto $errors array
  if (empty($fullName)) { array_push($errors, "Full Name is required"); }
  if (empty($email)) { array_push($errors, "Email is required"); }
  if (empty($phoneNum)) { array_push($errors, "Phone Number is required"); }
  if (empty($password1)) { array_push($errors, "Password is required"); }
  if (empty($password2)) { array_push($errors, "Password repeat is required"); }
  if ($password1 != $password2) {
    array_push($errors, "The two passwords do not match");
  }

  // first check the database to make sure 
  // a user does not already exist with the same username and/or email
  $user_check_query = "SELECT * FROM admin WHERE fullname='$fullName' OR email='$email' LIMIT 1";
  $result = mysqli_query($db, $user_check_query);
  $user = mysqli_fetch_assoc($result);

  if ($user) { // if user exists
    if ($user['username'] === $username) {
      array_push($errors, "Username already exists");
    }

    if ($user['email'] === $email) {
      array_push($errors, "email already exists");
    }
  }

  // Finally, register user if there are no errors in the form
  if (count($errors) == 0) {
    $password = md5($password_1);//encrypt the password before saving in the database

    $query = "INSERT INTO admin (fullName, email, phoneNum, password1, password2) 
              VALUES('$fullName', '$email', '$phoneNum', '$password1', 'password2')";
    mysqli_query($db, $query);
    $_SESSION['fullName'] = $fullName;
    $_SESSION['success'] = "You are now registered";
    header('location: index.php');
  }
}

register2.html

<!doctype html>
<html class="no-js" lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Sign up MDFF</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" type="image/png" href="assets/images/icon/fire2.png">
</head>

<body>
    <!-- preloader area start -->
    <div id="preloader">
        <div class="loader"></div>
    </div>
    <!-- preloader area end -->
    <!-- login area start -->
    <div class="login-area login-s2">
        <div class="container">
            <div class="login-box ptb--95">
                <form name="register2" action="db_reg.php" method="POST">
                    <div class="login-form-head">
                        <h3>MONITORING & DETECTION FOREST FIRE</h3>
                        <br></br>
                        <h4>Sign Up</h4>
                    </div>
                    <div class="login-form-body">
                        <div class="form-gp">
                            <label for="Inputfullname">Full Name</label>
                            <input type="text" id="Inputfullname" name="fullname" required>

                        </div>
                        <div class="form-gp">
                            <label for="exampleInputEmail1">Email address</label>
                            <input type="email" id="exampleInputEmail1" name="email" required>

                        </div>
                        <div class="form-gp">
                            <label for="exampleInputPhone1">Phone Number</label>
                            <input type="text" id="exampleInputPhone1" name="phoneNum" required>

                        </div>
                        <div class="form-gp">
                            <label for="exampleInputPassword1">Password</label>
                            <input type="password" id="exampleInputPassword1" name="password1" required>

                        </div>
                        <div class="form-gp">
                            <label for="exampleInputPassword2">Confirm Password</label>
                            <input type="password" id="exampleInputPassword2" name="password2" required>

                        </div>
                        <div class="submit-btn-area">
                            <a href="#" class="btn btn-primary btn-md" role="button">Submit   </a>                
                        </div>
                        <div class="form-footer text-center mt-5">
                            <p class="text-muted">Do have an account? <a href="login2.html">Sign in</a></p>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <!-- login area end -->
</body>
</html>

Ответы [ 3 ]

0 голосов
/ 12 октября 2019

Ваш PHP-скрипт ожидает $_POST["register2"], который никогда не приходит.

Здесь -> убедитесь, что ваша кнопка отправки имеет атрибут name="register2" ИЛИ вы можете добавить <input type="hidden" name="register2" где-то внутри html form

<div class="submit-btn-area">
    <a href="#" class="btn btn-primary btn-md" role="button">Submit</a> 
</div>

Я не использую начальную загрузку, но я полагаю, что приведенная выше разметка превратится в кнопку отправки, , если - это так, вы можете добавить name="register 2" приписать ему следующее

<div class="submit-btn-area">
    <a href="#" class="btn btn-primary btn-md" role="button" name="register2">Submit</a> 
</div>

РЕДАКТИРОВАТЬ В верхней части вашего PHP-скрипта вы можете проверить, что содержит ваша переменная $_POST, вызвав var_dump($_POST) и посмотрите, присутствуют ли данные вашей формы.

Если их нет, вам может потребоваться изменить указанную выше разметку на кнопку отправки следующим образом

<div class="submit-btn-area">
    <input type="submit" name="register2" value="Submit" class="btn btn-primary btn-md" role="button"> 
</div>
0 голосов
/ 12 октября 2019

Использование

<div class="submit-btn-area">

<input type="submit" name="register2">

</div>
0 голосов
/ 12 октября 2019

Вы должны добавить действие к своей форме, вместо того, чтобы добавлять свое действие к div:

<form action="db_reg.php" method="post">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...