注册完成后如何添加成功消息

时间:2019-04-13 12:34:26

标签: php html sql

提交表单后如何发送成功消息

代码如下:

server.php

<?php
session_start();

$username = "";
$errors = array(); 

$db = mysqli_connect('localhost', 'root', '', 'reg_user');

// REGISTER USER
if (isset($_POST['reg_user'])) {
  $username = mysqli_real_escape_string($db, $_POST['username']);
  $password_1 = mysqli_real_escape_string($db, $_POST['password_1']);


  if (empty($username)) { array_push($errors, "Username is required"); }
  if (empty($password_1)) { array_push($errors, "Password is required"); }


  $user_check_query = "SELECT * FROM users WHERE username='$username' 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 (count($errors) == 0) {
    $password = md5($password_1);

    $query = "INSERT INTO users (username, password) 
              VALUES('$username', '$password')";
    mysqli_query($db, $query);
    $_SESSION['username'] = $username;
    $_SESSION['success'] = "You are now logged in";
    header('location: register.php');
  }
}

index.php

<div class="card-body">
              <p><?php include('errors.php'); ?></p>
                <form method="POST" action="register.php" class="needs-validation" novalidate="">
                  <div class="form-group">
                    <label for="username">Username</label>
                    <input id="username" type="username" class="form-control" name="username" tabindex="1" required autofocus>
                  </div>

这是error.php的代码,使用用户名时会弹出错误消息 error.php

<?php  if (count($errors) > 0) : ?>
<div class="alert alert-danger alert-dismissible show fade">
                      <div class="alert-body">
                        <button class="close" data-dismiss="alert">
                          <span>&times;</span>
                        </button>
    <?php foreach ($errors as $error) : ?>
      <p><center><b><?php echo $error ?></center></b></p>
    <?php endforeach ?>
  </div>
  </div>
<?php  endif ?>

我想像error.php一样添加成功消息,但是执行成功消息的代码是什么?

2 个答案:

答案 0 :(得分:0)

您可以这样做:

if (!$errors)
{
    header("Location: success.php");
    exit;
}

或从您的代码中修改此部分:

if (count($errors) == 0) {
    $password = md5($password_1);

    $query = "INSERT INTO users (username, password) 
          VALUES('$username', '$password')";
    mysqli_query($db, $query);
    $_SESSION['username'] = $username;
    $_SESSION['success'] = TRUE;
    header('location: success.php'); exit;
}

答案 1 :(得分:0)

您是否正在寻找类似的东西?

<?php if($_SESSION['success'] != '' ) : ?>
    <label> <?php include('success.php'); ?></label>
<?php endif; ?>