会话中的消息未显示

时间:2019-05-12 21:00:13

标签: php

我有一个将数据输入数据库的表格。问题是单击保存按钮后,表单将数据发送到数据库,但未在index-admin.php页面上的“ functions.php”文件中的会话变量中显示已保存的消息。

index-admin.php

<?php
    include("functions.php");

?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Admin Side</title>
        <link rel="stylesheet" type="text/css" href="style.css" >

    </head>

<body>

   <h3>Admin Side</h3>

    <?php if(isset($_SESSION['msg'])): ?>
        <div class="msg">
            <?php
               echo $_SESSION['msg'];
               unset($_SESSION['msg']);
            ?>
        </div>
    <?php endif ?>

    <form method="POST" action="">
        <div class="input-group">
            <label>Nume</label>
            <input type="text" name="nume">
        </div>
        <div class="input-group">
            <label>Prenume</label>
            <input type="text" name="prenume">
        </div>
        <div class="input-group">
            <label>Email</label>
            <input type="text" name="email">
        </div>
        <div class="input-group">
            <label>Password</label>
            <input type="text" name="pass">
        </div>
        <div class="input-group">
            <label>Rol</label>
            <input type="text" name="rol">
        </div>
         <div class="input-group">
            <button type="submit" name="save" class="btn">Save</button>
        </div>
    </form>

functions.php

<?php
    session_start();

    //connect to the database
        $server="server_name";
        $user="user_name";
        $pass="password";
        $database="db";

    $conn= mysqli_connect ($server, $user, $pass, $database);

    if(!$conn){
        die("Connection failed: " . mysqli_connect_error() );
    }

    else {
        echo "";
    }


    if(isset($_POST['save'])) {
         $nume=mysqli_real_escape_string($conn,$_POST['nume']);
        $prenume=mysqli_real_escape_string($conn,$_POST['prenume']);
        $email=mysqli_real_escape_string($conn, $_POST['email']);
        $pwd=mysqli_real_escape_string($conn, $_POST['pass']);
        $rol=mysqli_real_escape_string($conn, $_POST['rol']);

       $sql="INSERT INTO utilizatori (nume,prenume,email,pass,rol) VALUES (?,?,?,?,?);";

        $stmt=mysqli_stmt_init($conn);

        if(!mysqli_stmt_prepare($stmt, $sql)){
            echo "Error";
        }
        else{
            mysqli_stmt_bind_param($stmt, 'sssss',$nume,$prenume,$email,$pwd,$rol);
            mysqli_stmt_execute($stmt);
            $_SESSION['msg'] = 'Date inserate!';
            header('Location:index-admin.php');
        }
    }

我试图删除未设置的功能,但是如果这样做,则始终显示会话消息,并且我希望仅在插入数据(单击保存按钮)之后才显示该会话消息。

0 个答案:

没有答案