В php я новичок, и при попытки добавить куки вылезает ошибка, я почитал что пишут что надо просто setcookie в начала перенести, но мне не помогло, если кто знает подскажите пожалуйста. Код (Text): <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Page Title</title> </head> <body> <?php // Подключение к бд имеется, я его просто удалил. $name = $_POST['login']; $password = $_POST['password']; $dbname = mysqli_query($con,"SELECT name FROM users"); $dbpassword = mysqli_query($con,"SELECT password FROM users"); $dbdostup = mysqli_query($con,"SELECT dostup FROM users"); $b = 0; while ($res = mysqli_fetch_row($dbname)){ $arrname[$b] = $res; $b++; } $b = 0; while ($res = mysqli_fetch_array($dbpassword)){ $arrpassword[$b] = $res; $b++; } $b = 0; while ($res = mysqli_fetch_array($dbdostup)){ $arrdostup[$b] = $res; $b++; } for ($i=0;$i<count($arrname);$i++){ if ($arrname[$i][0] == $name and $arrpassword[$i][0] == $password){ $c++; if ($arrdostup[$i][0] == 1) { ?> <script> document.location.href = "index2.php"; </script> <? } else{ //Ошибка вот в этой строке. setcookie("password", "123",time()+60); ?> <script> //document.location.href = "sait.php"; </script> <? } } } if ($c == 0){ echo "Ошибка! Вы ввели неверные данные!"; } ?> </body> </html>
Для начала не надо тянуть данные пользователя разными запросами. Достаточно одного. Далее не надо пароль записывать в куки. Это небезопасно. Далее желательно проверять отправлена форма или нет, чтоб каждый раз не дёргать базу данных и не получать ошибки аутентификации. Ну и последнее собственно по делу. Перенести всю пхп-логику ДО начала вывода. Не надо начинать скрипт с хтмл-кода ибо это как раз и приводит к тому что начинается вывод в поток а значит закрывается сеанс заголовков а значит печеньку уже поздно устанавливать.