不能设置cookie(?)我不确定

时间:2018-01-26 23:15:02

标签: php html

我在localhost有程序,有饼干和所有工作,我的意思是我的" autorisatrion"文字改为"个人资料"什么时候设置cookie。但当我登上网络托管时,他们突然停止工作。帮帮我pleeeaseeee 我是初学者,没有良好的背景,所以请你明确解释一下吗?

自动化文件中的代码

<?php


                $res=mysqli_query($link,"set names utf8");              
                if (!isset($_COOKIE['id_users'])) { // если сотрудник еще не авторизоавлся, то 
                    if (isset($_POST['submit'])) {  // если нажата кнопка авторизации
                        $user_username = mysqli_real_escape_string($link, trim($_POST['email']));
                        $user_password = mysqli_real_escape_string($link, trim($_POST['password']));
                        if (!empty($user_username) && !empty($user_password)) { // если поля не пусты
                            // выполнить запрос: выбрать следующие данные, где эл. адрес и пароль совпадают
                            $query= "SELECT `id_users`, `email`, `privilege` FROM `accaunt_workers` WHERE 
                            email = '$user_username' AND password = '$user_password'";
                            $data = mysqli_query($link, $query);
                            if (mysqli_num_rows($data) == 1) { // если такой сотрудник есть, то создать куки
                                $row = mysqli_fetch_assoc($data);

                               setcookie('id_users', $row['id_users'], time() + (60*60*24*30));
                               setcookie('email', $row['email'], time() + (60*60*24*30));

                                // если привилегия сотрудника подходит под определенную опцию, 
                                //то перенаправление на определенную страницу с разными функциями администратора
                                if ($row['privilege'] === 'Все') { 
                                    echo '<script type="text/javascript">'; 
                                    echo 'window.location.href="admin.php";'; 
                                    echo '</script>'; } 
                                ELSE {echo $row['privilege'],'НЕ Все';}

                                if ($row['privilege'] === 'Работа с клиентами: комментарии и предложенные темы') {
                                    echo '<script type="text/javascript">'; 
                                    echo 'window.location.href="admin_comment_theme.php";'; 
                                    echo '</script>';
                                } 
                                ELSE {echo " НЕ Работа с клиентами: комментарии и предложенные темы";}
                                if ($row['privilege'] === 'Работа с содержимым: материалы и рекомендации') {
                                    echo '<script type="text/javascript">'; 
                                    echo 'window.location.href="admin_material_recommendation.php";'; 
                                    echo '</script>';

                                }
                                ELSE {echo 'НЕ Работа с содержимым: материалы и рекомендации';}
                            }
                            else{ echo 'Извините, введены неправильные логин или пароль';} 
                        }
                        else{ echo 'Извините, заполните поля правильно';}

                    } 
                }

            ?>

            <?php
            if(empty($_COOKIE['email'])) { // если пользователь не авторизован, то вывод формы авторизации
            ?>

                <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 

                    Адрес электронной почты:
                    <input class='enter' type="email" name="email"  required="required" placeholder="abc@mail.ru"   pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z.]{1,}+[a-z.]{1,}$">
                    Пароль:
                    <input class='enter'  type="password" name="password" required="required" pattern="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*">
                    <input class='enter' type='submit' name='submit' value="ВОЙТИ">
                    <footer class="clearfix">
                        <p><span class="info">?</span><a href="forget_pass.php">Забыли пароль?</a></p>
                        <p style="text-align: center; color:grey">*Если вы отсутствуете в системе, напишите на почту kontaev@inbox.ru*</p>

                    </footer>
                </form>

            <?php 
            }
            else { //если пользователь авторизован, то вывод кнопки выхода, так как требуется повторная авторизация для перенаправления
            ?>


                <P><a href="exit_accaunt.php"> Exit </a> </p>

            <?php 
            } 
            ?>

这里是人们在自动化之后的文件头部的代码

<ul class="menu">    <!-- меню-список страниц-->    

                  <li><a href="index.php">Главная</a></li>

                  <li><a href="about.php">О нас</a></li>

                  <li><a href="materials.php">Материалы</a></li>

                  <li><a href="recomendations.php">Рекомендации</a></li>

                  <li><a href="Contacts.php">Контакты</a></li>

                  <?php

                        //Проверяем авторизован ли пользователь

                        if(!isset($_COOKIE['email']) && !isset($_COOKIE['password'])){

                        // если нет, то выводим ссылку на авторизациию

                  ?>

                  <li><a href="form_auth.php">Authorisation</a></li>

                  <?php

                        }else{

                        //Если пользователь авторизован, то выводим ссылки на выход и профиль

                  ?>

                  <li><a href="admin.php">Profile</a></li>

                  <li><a href="exit_accaunt.php">Exit</a></li>



                  <?php

                        }

                  ?>                 

                </ul>

1 个答案:

答案 0 :(得分:0)

您正在检查$_COOKIE['password'],但我没有在代码中看到您设置此Cookie。

!isset($_COOKIE['password'])更改为!isset($_COOKIE['users'])