2013-03-19 5 views
1

Я новичок в PHP и задаюсь вопросом о том, как добавить информацию в файл .txt, используя форму с кнопкой с type="button", добавление должно быть ;, разделенное в .txt файл. Может ли кто-нибудь помочь мне в том, как выполнить добавление из формы в файл .txt?Ввод в txt-файл, txt-файл для элемента списка

(Каждый раз, когда вы заполняете форму и добавляете информацию в файл .txt, элемент списка должен быть создан рядом с формой и содержать только информацию двух первых элементов ввода, взятых из файла .txt). Форма выглядит следующим образом:

<?php 
    include("header.php"); 
?> 

     <form id="info" method="post" action=""> 
       <p id="formrubrik">Add information here:</p><br/> 
       <p>Title:</p> 
       <textarea class="field" id="title" name="names" rows="1" cols="20"></textarea><br/><br/> 
       <p>Grade</p> 
       <select class="field" name="grade" id="star"> 
        <option value="0">Choose grade...</option> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        <option value="4">4</option> 
        <option value="5">5</option> 
       </select><br/><br/> 

       <p>Link:</p> 
       <textarea class="field" id="link" name="links" rows="1" cols="20"></textarea><br/><br/> 

       <p>Photo link:</p> 
       <textarea class="field" id="picture" name="photo" rows="1" cols="20"></textarea><br/><br/> 

       <p>Description:</p> 
       <textarea class="field" id="handling" name="description" rows="3" cols="20"></textarea><br/><br/> 

       <button value="0" id="add" type="submit">Save</button><br/> 

      </form> 

      <div id="list_elements"> 

       <ul id="elements"> 
       </ul> 

      </div> 

<?php 
    include("footer.php"); 
?> 

ответ

2

Слишком много вещей неправильно с вашей формой

A. Нет формы действия action="yourfile.php"

B. button тип был установлен button вместо submit

C. Нет Проверка на месте

D. Не проверять, были ли данные отправлены до попытки г написать

Слишком много вещей неправильно, почему бы вам не начать с изучения основных принципов PHP для добавления данных в файл можно просто сделать с file_put_contents:

file_put_contents($myFile, $data . PHP_EOL, FILE_APPEND); 
+0

нормально, просто нужно какое-то направление, в каком нужно сделать, чтобы сделать форму работы с PHP, спасибо за обратную связь в любом случае – spovell

+0

, что я должен изменить для C? что вы имеете в виду с проверкой? – spovell

+0

что, если 'name' был пуст ??? Вы просто сохранили бы это так? – Baba

1

Вот небольшая форма который отправляет данные, отправленные вами, в текстовый файл, разделяя их ;, однако в отличие от вашего запроса я использовал type='submit' вместо ..='button', так как у меня создалось впечатление, что кнопки do not представляют данные в форму полностью с PHP.

<?php 

if(isset($_POST['button'])) { 


    $myFile = "example.txt"; 
    $fh = fopen($myFile, 'a') or die("can't open file"); 
    $stringData = $_POST['button']. ' ; '; 
    fwrite($fh, $stringData); 

    fclose($fh); 

} 

Если вы хотите, чтобы проверить, был ли пользователь представил данные или нет, вы можете использовать этот пример.

<?php 

if(isset($_POST['button'])) { 

    $data = $_POST['info']; 

    if(!empty($date) && isset($date)) 
    { $myFile = "example.txt"; 
    $fh = fopen($myFile, 'a') or die("can't open file"); 

    fwrite($fh, $stringData); 
    fclose($fh); 

    } else { 
    echo 'the data you have entered is empty, please enter again.'; 
    } 
+0

спасибо, посмотрим, вы, вероятно, правы, кнопка должна быть type = "submit" – spovell

+0

Я полагаю, вы знаете, как проверить, отправил ли пользователь пустые значения, поэтому я его не включил. Но да, тип отправки всегда необходим. И, наконец, если вы найдете этот ответ полезным, вы должны пометить его как принятый/upvote – samayo

+0

. Я проверяю, правильно ли заполняется форма в javscript, поэтому его невозможно отправить вообще, если все не заполнено ...не могу отметить его как upvote, потому что я присоединился к stackoverflow пару дней назад, и вам нужно 15 репутации до его возможного, но когда я проверил еще несколько и прочитал еще, возможно, он будет заполнен как принято :) – spovell

Смежные вопросы