У меня есть такой код, который из формы записывает введенные в поле input данные каждый раз с новой строки: PHP: if(isset($_POST['fav'])) { $uniqueid = $_POST['uniqueid']; file_put_contents('us/db/fav/'.$us_id.'', $uniqueid."\r\n", FILE_APPEND | LOCK_EX); echo "<meta http-equiv=refresh content='0; url=page.php'>"; exit(); } HTML: <form action='' name='' method='post'> <input name='uniqueid' type='text' value=''> <button name='fav' type='submit' value='Search'>Search</button> </form> Этот код у меня работает прекрасно. Уважаемые специалисты, подскажите, пожалуйста, но как добавить ряд следующих проверок с условиями, прежде чем сделать запись в файл? Когда пользователь вводит данные в поле input, то первая проверка: 1. совпадают ли введенные в поле input данные с Названием какого-либо файла в папке 'admin/db/rec/' - Если нет полного совпадения, то никаких действий; - Если есть полное совпадение, то перейти к следующей проверке: 2. Совпадают ли введенные в поле input данные с какой-либо строкой, записанной в файле 'us/db/fav/$us_id' - Если нет, то записать введенные в поле input данные в файл 'us/db/fav/$us_id'; - Если да, то никаких действий.
Человеку реально нужна либо годная книга, либо учитель, через форум он будет базовые знания получать годами (
Добрый день! В начале хотел бы Вас посоветовать не создавать новые ветки по одной и той же задаче. Не все помнят о чём Вы писали и какие вопросы задали. Вот, что мы узнали ранее. Если я ошибаюсь, поправьте меня. Вы решили организовать регистрацию клиентов с сохранением данных в файлах. Ваша концепция – после регистрации пользователю присваивается уникальный числовой десятизначный id, Данные пользователя сохраняются в файле файла в папке 'admin/db/rec/' под именем совпадающем с id. Все id пользователей сохраняются в файле 'us/db/fav/$us_id'; Теперь по сути Ваше вопроса. 1. Вы вводите uniqueid в input и очевидноб что его значение может совпасть с ранее записанным в файлах id другого пользователя. Поэтом у Вам необходимо сделать проверку, с которой и возникло затруднение. Видимо Вы не понимаете, что это у Вас получилась игра отгадай число. Так uniqueid никто не присваивает. Я советовал Вам оказать от файлов и СУБД. Тогда было бы всё просто. В таблице описывается структура поля userid как unique и AI. Если по каким-то соображениям Вы хотите сами создавать uniqueid, то известно несколько способов, например: - использовать функцию time; - сохранять в файле счётчик и его читать и наращивать при регистрации нового пользователя. 2. Допустим, что не здесь, но в некоторых случая потребуется сделать несколько описанных Вами проверок. совпадают ли значение заданное переменной $fileName с названием какого-либо файла в папке 'admin/db/rec/' PHP: if (file_exists("admin/db/rec/$fileName")) { echo "The file $filename exists"; } else { echo "The file $filename does not exist"; } Совпадает ли значение заданное переменной $findLine с какой-либо строкой, записанной в файле 'us/db/fav/$us_id' PHP: <? function searchInFile($fileName, $findLine, $length = 4096){ /* input: $fileName - имя файла $findLine - искомая строка $length - мак.кол. байтов в строке файла или null output: true - искомая строка найдена в файле false - строка в файле не найдена или файл не существует */ $f = fopen($fileName, "r"); if($f) { while (($line = fgets($f, $length)) !== false) { if (preg_match("~^$findLine$~", trim($line))) { return true; break; } } fclose($f); } return false; } $res=searchInFile($fileName, $findLine); //OR $res=searchInFile($fileName, $findLine, 100); Удачи!