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

Discussion in 'PHP' started by ClienTtm, 23 May 2009.

  1. ClienTtm

    ClienTtm Banned

    Joined:
    31 May 2008
    Messages:
    0
    Likes Received:
    26
    Reputations:
    -15
    Здрастье всему Ачату! Вообщем не первый раз обращался к Ачату с написанием несложного php скрипта (в предыдущеи разы помогали :)).

    // Вообщем мне нада за огромное спасибо следующий скрипт, напишите у кого есть лишняя минутка:
    • Есть текстовый файл к примеру "bonus.keys" в нём 100 или более строк, каждая строка состоит из цифр.
    • Нужна вот такая форма в которую вводятся толька цифры:
    [​IMG]
    • В неё вводятся цифры (ключи) которые сохранены в файле "bonus.keys" если ключ верный он стерается с файла "bonus.keys" и перекидывает на указанную мной в скрипте ссылку, если же ключ не верный, то выдаётся:
    [​IMG]


    Буду очень благодарен тому кто напишет данный скрипт за большое спасибо! За раннее благодарю! :)
     
    #1 ClienTtm, 23 May 2009
    Last edited: 23 May 2009
  2. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Насколько я понял:
    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>
     
    1 person likes this.
  3. ClienTtm

    ClienTtm Banned

    Joined:
    31 May 2008
    Messages:
    0
    Likes Received:
    26
    Reputations:
    -15
    Да чтото в этом роде! Толька тут почему то на ссылку не перекидывает! И не стирает введённые цифры (ключи) из файла bonus.keys хотя CMD 777 стоит! PaCo может доделаешь? Plz оченя нада!
     
  4. D1mOn

    D1mOn Elder - Старейшина

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    Ну а если
    PHP:
    header("Location ".$link."");
     
  5. _==wolf==_

    _==wolf==_ Elder - Старейшина

    Joined:
    29 May 2008
    Messages:
    127
    Likes Received:
    38
    Reputations:
    6
    нет, D1mOn после Location должна быть :
     
    3 people like this.
  6. ClienTtm

    ClienTtm Banned

    Joined:
    31 May 2008
    Messages:
    0
    Likes Received:
    26
    Reputations:
    -15
    Странно но тоже не перекидывает! Народ помогите! :confused:
     
    1 person likes this.
  7. D1mOn

    D1mOn Elder - Старейшина

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    Упс опечатка забыл двоеточик)) _==wolf==_ пасиб)
    PHP:
    header("Location: ".$link.""); 
     
  8. ClienTtm

    ClienTtm Banned

    Joined:
    31 May 2008
    Messages:
    0
    Likes Received:
    26
    Reputations:
    -15
    Неа таже лажа! Я уже всё перепробывал! Народ разберитесь кто нить! Этот скрипт не удаляет строки и не перекидывает на линку! :confused:
     
  9. _==wolf==_

    _==wolf==_ Elder - Старейшина

    Joined:
    29 May 2008
    Messages:
    127
    Likes Received:
    38
    Reputations:
    6
    это РАБОТАЕТ точно -
    PHP:
    header('Location: '.$link);
    если не работает, значит дело в другой строке ))
     
  10. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,362
    Likes Received:
    1,157
    Reputations:
    430
    Вот тебе для удаления строки... аж форму и хеадер локатион откопируешь выше.
    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($himplode("",$file));
      
    fclose($h
    ?> 
     
    #10 Ch3ck, 23 May 2009
    Last edited: 23 May 2009
  11. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    2ClienTtm мой скрипт рассчитан на то что все числовые комбинации у тебя находятся в файле с новой строки:
    12324
    123123
    123123
    123123
    покажи 2 вещи - какие данные у тебя находятся в твоем текстовом файле(хотя бы 3-4 значения из него как они есть) и то что ты вводишь в форму поиска, + версия пхп должна быть =<5 (file_put_contents), потому как у меня все прекрасно работает.
     
  12. ClienTtm

    ClienTtm Banned

    Joined:
    31 May 2008
    Messages:
    0
    Likes Received:
    26
    Reputations:
    -15
    Цифры у меня находятся именно так как ты показал, в файле с новой строки:
    12324
    123123
    123123
    123123
    Вот насчёт пхп незнаю! Вроде 5, вся сложность именно в следующих строках:
    PHP:
    unset($file_array[$find]);
    file_put_contents($file_name,$file_array);
    наверное платформа пхп меньше 5-ой версии. Можно как нибудь переделать на позднюю версию?
     
  13. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Вот, только что проверял все работает:
    PHP:
    <?php
    $file_name
    ="bonus.keys";
    $link="http://google.ru/";
    $file_array=is_writable($file_name)  ? file($file_name) : false;
    if(
    count($file_array)<|| $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_handleimplode(""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>

     
    1 person likes this.
  14. ClienTtm

    ClienTtm Banned

    Joined:
    31 May 2008
    Messages:
    0
    Likes Received:
    26
    Reputations:
    -15
    Выражаю огромную благодарность всем помогавшим и в частности PaCo. Всё работает! Всё так как надо! Я знал что Ачат всегда поможет!