Мини скрипт новостной ленты на PHP

Решила создать мини скрипт новостной ленты на php. Вот содержимое файла news.php:

    <?php
    header ('Content-Type: text/html; charset=utf-8');
    $current = ($_POST['name'] . "<br> <br>" ."\r\n" );
    $file = 'enter.txt' ; 
    $_POST['pass'] = $getpass;
    $pass = "1234" ; 

    if($getpass == $pass) { echo {$current .= file_get_contents($file); 
    file_put_contents($file, $current) . "Новость добавлена!"; }; } else { echo 
    "Пароль не верен!"; }
    ; 
    ?>

Почему-то не работает. Где ошибка?


Ответы (1 шт):

Автор решения: Alpha
  1. Откуда взялась переменная $getpass? Ранее она нигде не создавалась, уже Fatal error. $getpass и $_POST['pass'] нужно поменять местами.
  2. Фигурных скобок быть не должно после echo;
  3. Вот здесь file_put_contents($file, $current) . "Новость добавлена!"; вряд-ли вы захотите показывать пользователю число записанных байт в файл.

Исправленный вариант будет выглядеть так:

header ('Content-Type: text/html; charset=utf-8');
$current = ($_POST['name'] . "<br> <br>" ."\r\n" );
$file = 'enter.txt' ;
$getpass = $_POST['pass'];
$pass = "1234" ;

if($getpass == $pass) {
    $current .= file_get_contents($file);
    file_put_contents($file, $current);
    echo "Новость добавлена!";
}else{
    echo "Пароль не верен!";
}

И записывать статьи в файл не самая лучшая идея. Если вы изучаете php, то начинайте сразу учить и работу с базой данных.

→ Ссылка