PDA

Просмотр полной версии : 5-тиминутный скрипт! Помогите Plz! [Keys]


ClienTtm
23.05.2009, 09:54
Здрастье всему Ачату! Вообщем не первый раз обращался к Ачату с написанием несложного php скрипта (в предыдущеи разы помогали :)).

// Вообщем мне нада за огромное спасибо следующий скрипт, напишите у кого есть лишняя минутка:
• Есть текстовый файл к примеру "bonus.keys" в нём 100 или более строк, каждая строка состоит из цифр.
• Нужна вот такая форма в которую вводятся толька цифры:
http://s46.radikal.ru/i113/0905/19/d793d47036b7.bmp (http://www.radikal.ru)
• В неё вводятся цифры (ключи) которые сохранены в файле "bonus.keys" если ключ верный он стерается с файла "bonus.keys" и перекидывает на указанную мной в скрипте ссылку, если же ключ не верный, то выдаётся:
http://s61.radikal.ru/i174/0905/20/295d4ed511d0.jpg (http://www.radikal.ru)

Буду очень благодарен тому кто напишет данный скрипт за большое спасибо! За раннее благодарю! :)

PaCo
23.05.2009, 11:02
Насколько я понял:

<?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>

ClienTtm
23.05.2009, 13:29
Насколько я понял:

<?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 оченя нада!

D1mOn
23.05.2009, 13:57
Ну а если
header("Location ".$link."");

_==wolf==_
23.05.2009, 14:01
нет, D1mOn после Location должна быть :

ClienTtm
23.05.2009, 14:03
Ну а если
header("Location ".$link."");
Странно но тоже не перекидывает! Народ помогите! :confused:

D1mOn
23.05.2009, 14:17
Упс опечатка забыл двоеточик)) _==wolf==_ пасиб)
header("Location: ".$link."");

ClienTtm
23.05.2009, 14:23
Упс опечатка забыл двоеточик)) _==wolf==_ пасиб)
header("Location: ".$link."");
Неа таже лажа! Я уже всё перепробывал! Народ разберитесь кто нить! Этот скрипт не удаляет строки и не перекидывает на линку! :confused:

_==wolf==_
23.05.2009, 14:26
это РАБОТАЕТ точно - header('Location: '.$link); если не работает, значит дело в другой строке ))

Ch3ck
23.05.2009, 17:00
Вот тебе для удаления строки... аж форму и хеадер локатион откопируешь выше.

<?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)
?>

PaCo
23.05.2009, 20:16
2ClienTtm мой скрипт рассчитан на то что все числовые комбинации у тебя находятся в файле с новой строки:
12324
123123
123123
123123
покажи 2 вещи - какие данные у тебя находятся в твоем текстовом файле(хотя бы 3-4 значения из него как они есть) и то что ты вводишь в форму поиска, + версия пхп должна быть =<5 (file_put_contents), потому как у меня все прекрасно работает.

ClienTtm
24.05.2009, 12:06
2ClienTtm мой скрипт рассчитан на то что все числовые комбинации у тебя находятся в файле с новой строки:
12324
123123
123123
123123
покажи 2 вещи - какие данные у тебя находятся в твоем текстовом файле(хотя бы 3-4 значения из него как они есть) и то что ты вводишь в форму поиска, + версия пхп должна быть =<5 (file_put_contents), потому как у меня все прекрасно работает.
Цифры у меня находятся именно так как ты показал, в файле с новой строки:
12324
123123
123123
123123
Вот насчёт пхп незнаю! Вроде 5, вся сложность именно в следующих строках:

unset($file_array[$find]);
file_put_contents($file_name,$file_array);

наверное платформа пхп меньше 5-ой версии. Можно как нибудь переделать на позднюю версию?

PaCo
24.05.2009, 13:50
Вот, только что проверял все работает:

<?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>

ClienTtm
24.05.2009, 14:09
Выражаю огромную благодарность всем помогавшим и в частности PaCo. Всё работает! Всё так как надо! Я знал что Ачат всегда поможет!