-1

Хочу чтобы при заполнение формы, пароли и т.д. сохранялось в куки, но при выполнение кода, точнее команды setcookie, выдает ошибку:

Warning: Cannot modify header information - headers already sent by (output started at D:\oserver\OSPanel\domains\pj1\test.php:18) in
D:\oserver\OSPanel\domains\pj1\test.php on line 19.

Это файл1 (test.php):

html>
<head>
    <title>Title</title>
</head>
<form name="test" action="test1.php" method="post">
    <label>Login:</label><br/>
    <input type="text" name="login" placeholder="Login"><br/>
    <label>Password:</label><br/>
    <input type="text" name="password" placeholder="Password"><br/>
    <label>Email:</label><br/>
    <input type="text" name="email" placeholder="Email"><br/>
    <br/>
    <input type="submit" name="done" value="Done" />
</form>
<body>
<?php
setcookie("login", 10, time() +100);
echo $_COOKIE["login"];

if(isset($_POST["done"])) { if($_POST["login"] !== ""||$_POST["password"] !== ""||$_POST["email"] !== "") {setcookie("login", $_POST["login"]);} } ?> </body> </html>

Это файл2 (test1.php):

<?php
if (isset($_POST["done"])) {
    if($_POST["login"] == "" || $_POST["password"] == "" || $_POST["email"] == "")
        echo "No text entered.<a href='test.php'>Fix</a>";
    else {
        header("Location:test.php");
    }

} ?>

Помогите понять, а то уже 5-ый час сижу, не могу найти проблему.

0xdb
  • 51,614
  • Если вам помог мой ответ, то отметьте его как решение для вашей проблемы. – Alpha Nov 01 '19 at 17:17

1 Answers1

2

Установите setcookie перед html кодом. Здесь вы прочтёте почему у вас появляется эта ошибка, и как её избежать http://phpfaq.ru/newbie/headers

Alpha
  • 2,674