За последние 24 часа нас посетили 23887 программистов и 1738 роботов. Сейчас ищут 1870 программистов ...

Доработать скрипт

Тема в разделе "Сделайте за меня", создана пользователем AnaSSStasia, 14 янв 2015.

  1. AnaSSStasia

    AnaSSStasia Новичок

    С нами с:
    12 янв 2015
    Сообщения:
    7
    Симпатии:
    0
    Есть страница для подачи заявки на конференцию
    Код (PHP):
    1. <?PHP
    2. if (isset($_POST['name'])) {$name = $_POST['name'];}
    3. if (isset($_POST['surname'])) {$surname = $_POST['surname'];}
    4. if (isset($_POST['email'])) {$email = $_POST['email'];}
    5. if (isset($_POST['mobile'])) {$mobile = $_POST['mobile'];}
    6. if (isset($_POST['konf'])) {$konf = $_POST['konf'];}
    7. if (isset($_POST['oplata'])) {$oplata = $_POST['oplata'];}
    8. if (isset($_POST['rass'])) {$rass = $_POST['rass'];}
    9.  
    10.  
    11. ?>
    12.  
    13. <?PHP
    14.  
    15. if
    16. (empty($_POST['name']) || empty($_POST['surname']) || empty($_POST['email']) || empty($_POST['mobile']) || empty($_POST['konf']) || empty($_POST['oplata']) || empty($_POST['rass']) ) { echo '<font color="#F00E0E">Нужно заполнить все поля!</font>'; }
    17.  
    18. elseif (isset($_POST['name']))
    19. {
    20.   $filename = 'zayavka_' . date('YmdHis') . '.txt';
    21.   file_put_contents($filename, "$name$surname$email$mobile$konf$oplata$rass");
    22.  
    23.   $file = file_get_contents($filename);
    24.  
    25.   $message = '<font color="#0E28F0">Ваша заявка принята!</font>';
    26. }
    27.  
    28.  
    29. ?>
    30.  
    31. <html>
    32. <head>
    33. <meta http-equiv="Content-Type" content="text.html; charset=utf-8">
    34. <title>Заявка на участие в конференции</title>
    35.  
    36. </head>
    37. <body>
    38. <h2>Заявка на участие в конференции</h2>
    39. <?PHP echo $message; ?>
    40.  
    41. <form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
    42.  
    43. <b>Имя:</b><br>
    44. <input name="name" maxlength=25 size=20 value="<?=$_POST['name']?>"><br>
    45.  
    46. <b>Фамилия</b><br>
    47. <input name="surname" maxlength=25 size=20 value="<?=$_POST['surname']?>"><br>
    48.  
    49. <b>Электронный адрес:</b><br>
    50. <input name="email" maxlength=25 size=20 value="<?=$_POST['email']?>"><br>
    51.  
    52. <b>Телефон для связи:</b><br>
    53. <input name="mobile" maxlength=25 size=20 value="<?=$_POST['mobile']?>"><br>
    54.  
    55. <b>Тема конференции:</b><br>
    56. <input name="konf" type=radio value=Business <?PHP if ($_POST['konf'] == 'Business') { echo 'checked'; } ?>>Бизнес<br>
    57. <input name="konf" type=radio value=Technology <?PHP if ($_POST['konf'] == 'Technology') { echo 'checked'; } ?>>Технологии<br>
    58. <input name="konf" type=radio value=Marketing <?PHP if ($_POST['konf'] == 'Marketing') { echo 'checked'; } ?>>Реклама и маркетинг<br>
    59.  
    60. <b>Способ оплаты</b><br>
    61. <input name="oplata" type=radio value=WebMoney <?PHP if ($_POST['oplata'] == 'WebMoney') { echo 'checked'; } ?>>WebMoney<br>
    62. <input name="oplata" type=radio value=YandexMoney <?PHP if ($_POST['oplata'] == 'YandexMoney') { echo 'checked'; } ?>>Яндекс.деньги<br>
    63. <input name="oplata" type=radio value=PayPal <?PHP if ($_POST['oplata'] == 'PayPal') { echo 'checked'; } ?>>PayPal<br>
    64. <input name="oplata" type=radio value=CreditCard <?PHP if ($_POST['oplata'] == 'CreditCard') { echo 'checked'; } ?>>Кредитная карта<br>
    65.  
    66. <b>Желаете ли Вы получать рассылку о конференции?</b><br>
    67. <input name="rass" type=radio value=Yes <?PHP if ($_POST['rass'] == 'Yes') { echo 'checked'; } ?>>Да<br>
    68. <input name="rass" type=radio value=No <?PHP if ($_POST['rass'] == 'No') { echo 'checked'; } ?>>Нет<br>
    69. <br>
    70. <input type="submit" value="Отправить запрос">
    71. </form>
    72. </body>
    73. </html>
    И есть админка, где видны все заявки
    Код (PHP):
    1. <meta charset="utf-8">
    2. <?PHP
    3.  
    4. if ($_POST)
    5. {
    6.   foreach($_POST['files'] as $file)
    7.   {
    8.     unlink($file);
    9.   }
    10.  
    11. }
    12.  
    13. ?>
    14. <form method="post">
    15.   <?PHP
    16. foreach (glob("*.txt") as $filename) {
    17.   echo '<input type="checkbox" name="files[]" value="' . $filename . '">';
    18.   echo $filename" . '[url="' . $filename . '"] - Открыть[/url]';
    19.   echo "<br>";
    20. }
    21. ?>
    22.   <input type="submit" value="Удалить"></form>
    Как сделать, чтоб заявки сохранялись не в отдельные файлы, а в один единый файл в следующем формате: по одной заявке на строку с перечислением данных о заявке через разделитель (в качестве разделителя можно использовать: |, ||, *, **)?
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    надо для начало прочитать, как работать с файлами в php ;) и начать делать ))
     
  3. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    p@R@dox 55RU, внимательнее к названию раздела
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    я то внимательно, вот бы ты тоже прочитал по внимательнее - "Как сделать, чтоб заявки сохранялись не в отдельные файлы........."
    Не в тему получается!
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    человек просит за него доработать опубликованный код. внимательнее к логике :D
     
  6. AnaSSStasia

    AnaSSStasia Новичок

    С нами с:
    12 янв 2015
    Сообщения:
    7
    Симпатии:
    0
    Да, мне нужно лишь помочь доработать) в этом коде каждая заявка сохраняется в свой файл, а нужно чтоб все заявки были в одном файле
     
  7. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ждем тогда добравольца-хлопца! :)
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    лови
    Код (PHP):
    1. <?PHP
    2.  
    3. define('FILENAME_TXT', './zayavka.txt');
    4. //
    5. $name    = isset($_POST['name'])    ? $_POST['name'] : '';
    6. $surname = isset($_POST['surname']) ? $_POST['surname'] : '';
    7. $email   = isset($_POST['email'])   ? $_POST['email'] : '';
    8. $mobile  = isset($_POST['mobile'])  ? $_POST['mobile'] : '';
    9. $konf    = isset($_POST['konf'])    ? $_POST['konf'] : '';
    10. $oplata  = isset($_POST['oplata'])  ? $_POST['oplata'] : '';
    11. $rass    = isset($_POST['rass'])    ? $_POST['rass'] : '';
    12.      
    13.     if(
    14.     empty($_POST['name']) 
    15.     || empty($_POST['surname']) 
    16.     || empty($_POST['email']) 
    17.     || empty($_POST['mobile'])
    18.     || empty($_POST['konf']) 
    19.     || empty($_POST['oplata'])
    20.     || empty($_POST['rass'])
    21.     ) {
    22.     echo '<font color="#F00E0E">Нужно заполнить все поля!</font>'; 
    23.     } else {
    24.     $data = date('H:i:s d.m.Y')."||$name||$surname||$email||$mobile||$konf||$oplata||$rass".PHP_EOL;
    25.       file_put_contents(FILENAME_TXT, $data, FILE_APPEND | LOCK_EX );
    26.     
    27.       $message = '<font color="#0E28F0">Ваша заявка принята!</font>';
    28.     }
    29. ?>
    30.     <html>
    31.     <head>
    32.     <meta http-equiv="Content-Type" content="text.html; charset=utf-8">
    33.     <title>Заявка на участие в конференции</title>
    34.      
    35.     </head>
    36.     <body>
    37.     <h2>Заявка на участие в конференции</h2>
    38.     <?PHP echo !empty($message) ? $message : ''; ?>
    39.      
    40.     <form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
    41.      
    42.     <b>Имя:</b><br>
    43.     <input name="name" maxlength=25 size=20 value="<?=htmlspecialchars($name)?>"><br>
    44.      
    45.     <b>Фамилия</b><br>
    46.     <input name="surname" maxlength=25 size=20 value="<?=htmlspecialchars($surname)?>"><br>
    47.      
    48.     <b>Электронный адрес:</b><br>
    49.     <input name="email" maxlength=25 size=20 value="<?=htmlspecialchars($email)?>"><br>
    50.      
    51.     <b>Телефон для связи:</b><br>
    52.     <input name="mobile" maxlength=25 size=20 value="<?=htmlspecialchars($mobile)?>"><br>
    53.      
    54.     <b>Тема конференции:</b><br>
    55.     <input name="konf" type=radio value=Business <?PHP if ($konf == 'Business') { echo 'checked'; } ?>>Бизнес<br>
    56.     <input name="konf" type=radio value=Technology <?PHP if ($konf == 'Technology') { echo 'checked'; } ?>>Технологии<br>
    57.     <input name="konf" type=radio value=Marketing <?PHP if ($konf == 'Marketing') { echo 'checked'; } ?>>Реклама и маркетинг<br>
    58.      
    59.     <b>Способ оплаты</b><br>
    60.     <input name="oplata" type=radio value=WebMoney <?PHP if ($oplata == 'WebMoney') { echo 'checked'; } ?>>WebMoney<br>
    61.     <input name="oplata" type=radio value=YandexMoney <?PHP if ($oplata == 'YandexMoney') { echo 'checked'; } ?>>Яндекс.деньги<br>
    62.     <input name="oplata" type=radio value=PayPal <?PHP if ($oplata == 'PayPal') { echo 'checked'; } ?>>PayPal<br>
    63.     <input name="oplata" type=radio value=CreditCard <?PHP if ($oplata == 'CreditCard') { echo 'checked'; } ?>>Кредитная карта<br>
    64.      
    65.     <b>Желаете ли Вы получать рассылку о конференции?</b><br>
    66.     <input name="rass" type=radio value=Yes <?PHP if ($rass == 'Yes') { echo 'checked'; } ?>>Да<br>
    67.     <input name="rass" type=radio value=No <?PHP if ($rass == 'No') { echo 'checked'; } ?>>Нет<br>
    68.     <br>
    69.     <input type="submit" value="Отправить запрос">
    70.     </form>
    71.     </body>
    72. </html>
     
  9. AnaSSStasia

    AnaSSStasia Новичок

    С нами с:
    12 янв 2015
    Сообщения:
    7
    Симпатии:
    0
    Спасибо огромное!
     
  10. AnaSSStasia

    AnaSSStasia Новичок

    С нами с:
    12 янв 2015
    Сообщения:
    7
    Симпатии:
    0
    Подскажите еще, как сделать, чтоб в строке каждой заявки был виден ip-пользователя

    Добавлено спустя 9 минут 11 секунд:
    все, не нужно) решение сама нашла)