首页 > 解决方案 > 接收从 HTML 到 PHP 的表单信息

问题描述

刚开始说我对 Web 开发很陌生。

我创建了一个请求用户输入的简单登陆页面,并且有一个按钮可以信息提交到链接.php文件。问题是,我完全不知道我是否走在正确的轨道上......

的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>

PHP?:

<html>
<body>

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

</body>
</html>

我真的很感谢你能提供的任何帮助。

标签: phphtmlhttpserver

解决方案


是的,您走在正确的轨道上,但是需要进行一些更改:

HTML

更改按钮:

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

测试.php

就您的操作方法而言,post您应该使用$_POST,

此外,由于您没有arrays在表单中使用任何内容,因此我看不出有任何理由使用 name 作为输入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>

推荐阅读