Рекомендации по обработке HTML данных формы с использованием PHP - а может Python? - PullRequest
0 голосов
/ 25 мая 2020

Я делаю очень простую форму HTML, используя PHP. Я хочу, чтобы форма была выполнена:

  1. Ввод электронной почты пользователю (выполнено)
  2. Экспорт в базу данных SQL (у меня настроена база данных)
  3. Показывать ввод на странице и иметь возможность загружать результаты как .csv и .pdf

Другой вопрос, что лучше всего:

  1. Иметь расширение. php файл, загруженный на FTP-сервер (или)
  2. Записать сценарий php в HTML файл?

Наконец, было бы проще написать php вместо Python?

Вот код php:

    <?php
$date = $_POST['date'];
$client = $_POST['client'];
$session = $_POST['session'];
$session_type = $_POST['session_type'];
$progress = $_POST['progress'];
$previous_session = $_POST['previous_session'];
$verbal = $_POST['verbal'];
$body_language = $_POST['body_language'];
$mood = $_POST['mood'];
$objective = $_POST['objective'];
$assessment = $_POST['assessment'];
$goals = $_POST['goals'];
$quotes = $_POST['quotes'];
$summary = $_POST['summary'];

$formcontent="Client name: $client \n
Date: $date \n
Meeting: $session \n
Session type: $session_type \n
Progress: $progress \n
Previous session: $previous_session \n
Verbal: $verbal \n
Body language: $body_language \n
Mood: $mood \n
Objective: $objective \n
Assessment: $assessment \n
Goals: $goals \n
Client quotes: $quotes \n
Summary of session: $summary";
$recipient = "maryknauth@mac.com";
$subject = "Case notes for $client on $date";
$mailheader = "From: mySportPsych Admin \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You, the case notes submitted have been emailed to $recipient and are also listed below:\n
Client name: $client\n
Date: $date\n
Meeting: $meeting\n
Session type: $session_type\n
Progress: $progress\n
Previous session: $previous_session\n
Verbal: $verbal\n
Body language: $body_language\n
Mood: $mood\n
Objective: $objective\n
Assessment: $assessment\n
Goals: $goals\n
Client quotes: $quotes\n
Summary of session: $summary";?>

Вот форма HTML:

        <form action="case_notes.php" method="post">
     <h4 class="text-form-section">Overview</h4>
        <hr class="style-hr">
     <!-- Date -->  
    <label for="date" class="label">Date</label>
        <br>
    <input name="date" type="date" class="input-text" id="date">
        <br>
<!-- Client --> 
    <label for="client" class="label">Client</label>
        <br>
    <input name="client" type="text" class="input-text" id="client">
        <br>
<!-- Session -->
<!-- Is this supposed to be a number? -->
    <label for="session" class="label">Session</label>
        <br>
    <input name="session" type="text" class="input-text" id="session">
        <br>
<!-- Type of Session -->
    <label for="session_type" class="label">Session Type</label>
        <br>
        <select name="session_type" id="session_type">
            <option value="null"></option>
            <option value="free">Free Consultation</option>
            <option value="initial">Initial Consultation</option>
            <option value="regular">Regular Consultation</option>
            <option value="termination">Termination</option>
            <option value="other">Other</option>
        </select>   
        <br>

<!-- Progress -->
    <label for="progress" class="label">Progress</label>
        <br>
        <select name="progress" id="progress">
            <option value="null"></option>
            <option value="very_good">Very Good</option>
            <option value="good">Good</option>
            <option value="none">No Progress</option>
            <option value="regression">Regression</option>
        </select>   

      <br>
        <br>
<!-- Previous session review -->    
    <label for="previous_session" class="label">Previous session review</label>
        <br>
    <input name="previous_session" type="textarea" class="input-text" id="previous_session" rows="5" cols="30">
        <br>
 <!-- Subject Review -->
    <div class="subject review">    
    <h4 class="text-form-section">Subject</h4>
        <hr class="style-hr">
    <label for="verbal" class="label">Verbal</label>
        <br>
    <input name="verbal" type="textarea" class="input-text" id="verbal" rows="5" cols="30">
        <br>
    <label for="body_language" class="label">Body Language</label>
        <br>
    <input name="body_language" type="textarea" class="input-text" id="body_language" rows="5" cols="30">
        <br>
    <label for="mood" class="label">Mood</label>
        <br>
    <input name="mood" type="textarea" class="input-text" id="mood" rows="5" cols="30">
    </div>
    <h4 class="text-form-section">Session Review</h4>
        <hr class="style-hr">
    <label for="objective" class="label">Objective</label>
        <br>
    <input name="objective" type="textarea" class="input-text" id="objective" rows="5" cols="30">   
        <br>

    <label for="assessment" class="label">Assessment</label>
        <br>
    <input name="assessment" type="textarea" class="input-text" id="assessment" rows="5" cols="30">
        <br>

    <label for="goals" class="label">Goals</label>
        <br>
    <input name="goals" type="textarea" class="input-text" id="goals" rows="5" cols="30">
        <br>

    <label for="quotes" class="label">Client Quotes</label>
        <br>
    <input name="quotes" type="textarea" class="input-text" id="quotes" rows="5" cols="30">
        <br>

    <label for="summary" class="label">Summary</label>
        <br>
    <input name="summary" type="textarea" class="input-text" id="summary" rows="5" cols="30">
        <br>
        <br>

    <input type="submit" class="button">

</form> 

1 Ответ

0 голосов
/ 25 мая 2020
  1. Я не вижу <input> field for Email в вашей форме. Чтобы отправить пользователю электронное письмо, вы должны получить адрес электронной почты от пользователя через форму. Правильно? Кроме того, вы использовали свой адрес электронной почты как recipient в функции mail(). После добавления поля «Электронная почта» в форму не забудьте проверить адрес электронной почты перед назначением в mail().

  2. Я предполагаю, что вам нужно вставить данные формы в базу данных. Для этого вы должны создать соединение с БД с помощью PHP и ВСТАВИТЬ в таблицу базы данных с помощью SQL запросов.

  3. Отображение данных на странице просто, и я могу связать это на другой ваш вопрос Write the PHP script in the HTML file?. Вы не можете запустить сценарий PHP в файле HTML, а наоборот. Вы можете написать HTML в скрипте PHP! Таким образом, вы можете объединить оба вышеуказанных файла в один файл PHP или разделить форму в файле HTML и обработать запрос в файле PHP и вывести данные формы в таблицу (после вставки базы данных, Mail et c).

было бы проще написать сценарий PHP в Python вместо

Нет. вы не можете записать PHP в файл python или если вы имеете в виду, следует ли вам писать Python. Это полностью зависит от вас. Я бы сказал, что PHP легче начать, но сложнее освоить. Так что делайте основы правильно, ясно и хорошо понимайте концепции. Кроме того, четко поймите связанные технологии (HTTP, Mail) и их работу.

И наконец, не торопитесь и постепенно накапливайте знания.

Следующие ссылки помогут вам узнать, что:

PHP MySQL ВВЕДЕНИЕ

PHP MySQL ВСТАВИТЬ

PHP Обработка форм

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...