Получать информацию формы от HTML до PHP - PullRequest
1 голос
/ 18 июня 2020

Начну с того, что я новичок в веб-разработке.

Я создал простую целевую страницу, которая запрашивает ввод пользователя и имеет кнопку, которая должна отправьте информацию в связанный файл .php. Проблема в том, что я понятия не имею, на правильном ли я пути ...

THE HTML:

<form action="test.php" method="post">
    <input name="_utf8" type="hidden" value="✓">
    <div class="Row">
        <div class="Column">
            <label for="user_first_name">First name</label> <input id="user_first_name" name="user[first_name]"
                                                                   onfocus="window.scrollTo(0, 0);"
                                                                   placeholder="Geralt"
                                                                   type="text" autofocus required>
        </div>
        <div class="Column">
            <label for="user_last_name">Last name</label> <input id="user_last_name" name="user[last_name]"
                                                                 placeholder="of Rivia" type="text" required>
        </div>
    </div>
    <div class="Row">
        <div class="Column">
            <label for="user_email">Your Email</label> <input id="user_email" maxlength="200" name="user[email]"
                                                              pattern="[a-z0-9!#$%&amp;&#39;*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&amp;&#39;*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"
                                                              placeholder="geraltofrivia@email.com" type="email" required>
        </div>
    </div>
    <div class="Row">
        <div class="Column">
            <label>How Did You Hear About Us?</label>
            <select id="HDYHAU" name="HDYHAU" required>
                <option value="" disabled selected>Choose One</option>
                <option value="Radio Show">Radio Show</option>
                <option value="Referral">Referral</option>
                <option value="Social Media">Social Media</option>
                <option value="Current Client">Current Client</option>
            </select>
        </div>
    </div>

    <input id="user_contact_visitor_key" name="user[other][contact_visitor_key]" type="hidden">
    <input id="user_contact_hubspot_utk" name="user[other][contact_hubspot_utk]" type="hidden">
    <input id="auth_app" name="app" type="hidden" value="wistia">
    <div class="Row">
        <div class="Column">
            <p class="MutedSubtext">By clicking this button, you agree to our <a class="MutedSubtext MutedSubtext__link"
                                                                                 href="https://test.com/terms">Terms
                of Service</a>
                and <a class="MutedSubtext MutedSubtext__link" href="https://test.com/privacy">Privacy Policy</a>.</p>
        </div>
        <div class="Column">
            <button type="submit">Webinar Sign Up</button>
        </div>
    </div>
</form>

THE PHP?:

<html>
<body>

Welcome <?php echo $_GET["user_first_name"]; ?><br>
Your email address is: <?php echo $_GET["user[email]"]; ?>

</body>
</html>

Я искренне благодарю вас за любую помощь, которую вы можете оказать.

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Да, вы на правильном пути, но необходимо внести некоторые изменения:

HTML

Кнопка изменения:

<div class="Column">
    <button type="submit" name="submit" value="submit">Webinar Sign Up</button>
</div>

test. php

Поскольку ваш метод действия post, вы должны поймать запрос с помощью $_POST,

Кроме того, поскольку вы не используете arrays в своей форме, я не вижу причин использовать имя для входов, таких как name[first_name], его просто легко читать и работать с кодом, когда он называется как first_name.

<?php
$name = $email = "Nobody";
if(isset($_POST['submit'])){//check if form was submitted
   $name = $_POST["user"][first_name];
   $email = $_POST["user"][email];
} else {
     //redirect to home page
}
?>
<html>
<body>

Welcome <?php echo $name; ?><br>
Your email address is: <?php echo $email; ?>

</body>
</html>
0 голосов
/ 18 июня 2020

Я думаю, ваш php файл должен быть похож на

<html>
<body>

Welcome <?php echo $_GET['user_first_name']; ?><br>
Your email address is: <?php echo $_GET['user']['name']; ?>

</body>
</html>

Когда вы назначаете имя как user[email] php принимает его как многомерный массив, вы можете проверить опубликованные данные с помощью print_r $_POST; и вы узнаете метод, лежащий в основе этого.

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