PHP - $ _SESSION не устанавливается - PullRequest
0 голосов
/ 13 января 2019

У меня есть форма регистрации для пользователей. Когда они нажимают кнопку «Создать учетную запись», она переходит на страницу insertUser.php, которая вставит пользователя в базу данных и создаст $ _SESSION ["message"] = "Регистрация завершена. Перейдите к входу в систему" в случае успешной вставки. Затем страница insertUser.php перенаправляет на страницу index.php с открытой формой регистра, чтобы пользователь мог увидеть сообщение. Но это показывает ошибку Undefined Index: message. Я делаю то же самое в форме входа в систему, чтобы показать ошибки, и все работает нормально, поэтому я не знаю, в чем проблема.

вот мой код index.php:

<div class="register-form">
    <form action="insertUsers.php"  method="POST" id="formregisto" name="formregisto">
            <div>
            <input type="text"  name="username" placeholder="Nome de Utilizador" required/>
            </div>

            <div>
            <input type="email" name="email" placeholder="E-mail" required/>
            </div>
            <div>
            <input type="password" name="password" id="password" placeholder="Password" required/>
            </div>
            <div id="message"><?php if (!isset($_SESSION["message"])) print $_SESSION["message"]?> </div>
            <div>
            <input type="submit" name="criar" value="Create Account"/>
            </div>
    </form>
</div>

insertUsers.php:

<?php
    include "include/config.php"; 

 $username= $_REQUEST['username'];
 $email= $_REQUEST['email'];
 $password= md5($_REQUEST['password']);

 if( !empty ($username) AND !empty ($email) AND !empty ($password)){
    $sql="insert into users(email, username, password) values ('$email', '$username','$password')"; 


    $result=mysqli_query($link, $sql);


if ($result)
    $_SESSION["message"]= "Registration Complete. Proceed to login";
     header('Location: index.php?openr=1');

 } else {
     $_SESSION["message"]= "Something went wrong, try again";
     header('Location: index.php?openr=1');
 }

?>

1 Ответ

0 голосов
/ 13 января 2019

<?php if (!isset($_SESSION["message"])) print $_SESSION["message"]?>

Это то, что вы написали, оно не будет отображаться из-за добавленного вами !. Пожалуйста, удалите его, и ваш код должен работать нормально, но у вас все еще может быть предупреждение о том, что сообщение не определено.

Но ваш синтаксис SQL действительно плохой, вы не избежали ввода пользователя. Не доверяйте своим посетителям!

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