Здравствуйте. Ковыряюсь второй день, не могу определить ошибку в коде, начеркал сам. PHP: <html> <body> <form action="registration.php" method="POST"> <input type=text name=login value=логин size=13 maxlen=13></br> <input type=text name=email value=мыло size=13 maxlen=13></br> <input type=password name=password1 value= size=13 maxlen=13></br> <input type=password name=password2 value= size=13 maxlen=13></br> <input type=submit value=Далее></br> </form> </html> </body> <?php // Проверка на совпадение паролей if ($_POST[password1] != $_POST[password2]) { echo "Пароли не совпадают"; } else ( //Открываем файл базы $db = fopen('db.txt', 'r+'); if (!$db) { // проверяем файл echo "Файл базы отсутствует"; } else { // Проверяем количество строк в файле $str = file("db.txt"); // Записываем новую строку в последовательности через пробелы логин емайл пароль. $_POST[login]." ".$_POST[email]." ".$_POST[password1] = fgets($db, $str+1); // Проверяем добавлена ли новая строка в файле. if(!$str+1) { echo "Ошибка записи файла"; } else { fclose($db); // Закрываем файл echo "Приступить к тесту"; } } ?> У вас взгляд зоркий, подскажите пожалуйста где тут ошибка. Говорит что в 19 строке. PHP: $db = fopen('db.txt', 'r+'); Кстати, а есть какие нибудь программы, редакторы, которые облегчают учесть новичков, и помогают найти ошибки?
VampiR_WAR Достаточно включить отображение ошибок, чтобы узнать номер строки с ошибкой. Там внезапно появляется неожиданная точка с запятой. В седьмой строке все ок. Значит надо смотреть строки выше. Ошибка через строку выше, там круглая скобка вместо фигурной. И в скрипте есть еще одна незакрытая скобка (if(!$str+1) {). Некоторые редакторы подсвечивают незакрытые и закрытые скобки разными цветами, например ZendStudio.
[vs] Домой приду, очно скачаю какой нибудь редактор. Нотпад что то не очень нравится. Вопросик, почему в 7 строке все окей, ошибка через строку выше, а браузер выдает ошибку на 7ой строке? И не совсем понял со скобками, Нотпад подсвечивает скобку, и ее закрытую или открытую коллегу.
Внутри круглых скобок инструкция не может быть завершена точкой с запятой. Если бы там написал PHP: else ( //Открываем файл базы $db = fopen('db.txt', 'r+')); то ошибки бы там не возникло. Т.е. фактически синтаксическая ошибка в седьмой строке (точка с запятой внутри круглых скобок).