Здрастье всему Ачату! Вообщем не первый раз обращался к Ачату с написанием несложного php скрипта (в предыдущеи разы помогали ). // Вообщем мне нада за огромное спасибо следующий скрипт, напишите у кого есть лишняя минутка: • Есть текстовый файл к примеру "bonus.keys" в нём 100 или более строк, каждая строка состоит из цифр. • Нужна вот такая форма в которую вводятся толька цифры: • В неё вводятся цифры (ключи) которые сохранены в файле "bonus.keys" если ключ верный он стерается с файла "bonus.keys" и перекидывает на указанную мной в скрипте ссылку, если же ключ не верный, то выдаётся: Буду очень благодарен тому кто напишет данный скрипт за большое спасибо! За раннее благодарю!
Насколько я понял: PHP: <?php $file_name="bonus.keys"; $link="http://google.ru/"; $file_array=is_readable($file_name) ? file($file_name) : false; if(!empty($_POST['number']) && count($file_array)>0){ $find=array_search(trim($_POST['number']),array_map('trim',$file_array)); if($find!==false){ unset($file_array[$find]); file_put_contents($file_name,$file_array); header("Location: $link"); exit; } else echo "<script> alert('НЕВЕРНЫЙ КЛЮЧИК'); </script>"; } ?> <center> <form action='' method="post"> <p><input type="text" name="number" size="45"></p> <input type='submit' value='Ввод'> </form> <center>
Да чтото в этом роде! Толька тут почему то на ссылку не перекидывает! И не стирает введённые цифры (ключи) из файла bonus.keys хотя CMD 777 стоит! PaCo может доделаешь? Plz оченя нада!
Неа таже лажа! Я уже всё перепробывал! Народ разберитесь кто нить! Этот скрипт не удаляет строки и не перекидывает на линку!
это РАБОТАЕТ точно - PHP: header('Location: '.$link); если не работает, значит дело в другой строке ))
Вот тебе для удаления строки... аж форму и хеадер локатион откопируешь выше. PHP: <?php $string = "строка которую надо удалить..."; $file = file('bonus.keys'); for ($i=0;$i<count($file);$i++) { if(trim($file[$i])==$string) unset($file[$i]); } $h = fopen('bonus.keys',"w"); fwrite($h, implode("",$file)); fclose($h) ?>
2ClienTtm мой скрипт рассчитан на то что все числовые комбинации у тебя находятся в файле с новой строки: 12324 123123 123123 123123 покажи 2 вещи - какие данные у тебя находятся в твоем текстовом файле(хотя бы 3-4 значения из него как они есть) и то что ты вводишь в форму поиска, + версия пхп должна быть =<5 (file_put_contents), потому как у меня все прекрасно работает.
Цифры у меня находятся именно так как ты показал, в файле с новой строки: 12324 123123 123123 123123 Вот насчёт пхп незнаю! Вроде 5, вся сложность именно в следующих строках: PHP: unset($file_array[$find]); file_put_contents($file_name,$file_array); наверное платформа пхп меньше 5-ой версии. Можно как нибудь переделать на позднюю версию?
Вот, только что проверял все работает: PHP: <?php $file_name="bonus.keys"; $link="http://google.ru/"; $file_array=is_writable($file_name) ? file($file_name) : false; if(count($file_array)<1 || $file_array===false) die ("Файла с ключиками нет(возможно он указан не верно) либо он пустой!!!!"); if(!empty($_POST['number'])){ $find=array_search(trim($_POST['number']),array_map('trim',$file_array)); if($find!==false){ unset($file_array[$find]); $file_handle=fopen($file_name, 'wb'); if (fwrite($file_handle, implode("", array_unique($file_array))) === FALSE) { echo "Не могу произвести запись в файл ($file_name)"; exit; } fclose($file_handle); if (!headers_sent()) { header("Location: $link"); exit; } } else echo "<script> alert('НЕВЕРНЫЙ КЛЮЧИК'); </script>"; } ?> <center> <form action='' method="post"> <p><input type="text" name="number" size="45"></p> <input type='submit' value='Ввод'> </form> <center>
Выражаю огромную благодарность всем помогавшим и в частности PaCo. Всё работает! Всё так как надо! Я знал что Ачат всегда поможет!