我的PHP注册表没有任何功能

我的PHP注册表没有任何功能,php,forms,pdo,Php,Forms,Pdo,我正在尝试用PHP和PDO创建一个注册表单。当我点击注册表上的submit时,我的PHP页面会刷新,输入的内容会被删除,输入的文本会被添加到我的URL中;但是,不会打印任何消息,也不会向我的数据库中添加任何内容 database.php的代码(我尝试将端口放入newPDO,但它产生了一个错误,我的页面无法加载) 我的网站正文中的表单代码 <form class="reg-page" id="register" name="members"> <div class="re

我正在尝试用PHP和PDO创建一个注册表单。当我点击注册表上的submit时,我的PHP页面会刷新,输入的内容会被删除,输入的文本会被添加到我的URL中;但是,不会打印任何消息,也不会向我的数据库中添加任何内容

database.php的代码(我尝试将端口放入newPDO,但它产生了一个错误,我的页面无法加载)

我的网站正文中的表单代码

<form class="reg-page" id="register" name="members">
    <div class="reg-header" method="post" action="page_registration_test.php">
        <h2>Register a new account</h2>
            <p>Already Signed Up? Click <a href="page_login.html" class="color-green">Sign In</a> to login to your account. All new accounts will be verified within 24 hours before access to service is allowed. Account verification is needed for this free service due to how our music licenses are constructed.</p>
        </div>

            <label>Full Name <span class="color-red">*</span></label>
            <input type="text" name="full_name" placeholder="Full Name" class="form-control margin-bottom-20">

            <label>Email Address <span class="color-red">*</span></label>
            <input type="text" name="email" placeholder="example@domain.com" class="form-control margin-bottom-20">

            <label>Office or Practice Name <span class="color-red">*</span></label>
            <input type="text" name="office_name" placeholder="Office Name" class="form-control margin-bottom-20">

            <label>Office or Practice Phone Number <span class="color-red">*</span></label>
            <input type="text" name="office_phone" placeholder="1234567890" class="form-control margin-bottom-20">                      

        <div class="row">
        <div class="col-sm-6">
            <label>Password <span class="color-red">*</span></label>
            <input type="password" name="password" id="txtNewPassword" placeholder="Password" class="form-control margin-bottom-20">
        </div>
        <div class="col-sm-6">
            <label>Confirm Password <span class="color-red">*</span></label>
            <input type="password" id="txtConfirmPassword" placeholder="Confirm Password" class="form-control margin-bottom-20" onChange="checkPasswordMatch();">
            </div>
            <div class ="registrationFormAlert" id="divCheckPasswordMatch"> 
            </div>
            </div>

            <hr>

            <div class="row">
            <div class="col-lg-6 checkbox">
            <label>
            <input type="checkbox" name="terms" value="Y">
                I read <a href="page_terms.html" class="color-green">Terms and Conditions</a>
            </label>
            </div>
            <div class="col-lg-6 text-right">
                <input type="submit" id="register" name="submit" value="Register">
            </div>
            </div>
            </form>

注册新帐户
已经报名了?单击以登录到您的帐户。所有新帐户将在允许访问服务前24小时内进行验证。由于我们的音乐许可证是如何构造的,因此此免费服务需要进行帐户验证

全名* 电子邮件地址* 办公室或机构名称* 办公室或机构电话号码* 密码* 确认密码*
我读
我的页眉下方的页面顶部确实有这段代码,但它似乎完全没有产生任何效果,因为我从来没有显示过消息。我希望登录后不会重定向到其他页面,而只是发布一条消息。但这并不重要,只要表单提交:

        <?php if(!empty($message)): ?>
            <p><?= $message ?></p>
        <?php endif; ?>

我相信我的数据库表是正确形成的:

任何和所有的帮助将非常感谢这个可怜的家伙谁是显然在他的头

编辑:现在我的页面至少创建了一个错误,“很抱歉,创建您的帐户时一定出现了问题,请重试或与我们联系”在修复我的代码后(谢谢大家!!!!!)

我的表格现在准确地编码为:

<form class="reg-page" id="register" name="members" method="post" action="page_registration_test.php">

但是我的表单仍然没有正确地将数据发布到我的MySQL数据库?有人知道我是否正确编码了服务条款的
复选框
?以及注册日的
Now()
日期戳

我输入的文本被添加到我的URL

您正在
$\u POST
中查找值,但您的表单使用的是
GET
。将表单方法改为
POST

<form class="reg-page" id="register" name="members" method="POST">

相反,您可以更改代码以使用<代码> $yGET而不是<代码> $xPOST ,但我认为这是一个不太理想的方法。

使用
POST
时,您会注意到这些值不在URL中。相反,它们位于请求的“正文”中,默认情况下浏览器中不会显示请求正文,但您可以在浏览器的调试工具中检查请求正文。这通常是首选的形式,因为它不会混乱的URL与大量的数据

(作为参考,使用
GET
经常引用的一个主要原因是它可以直接链接,而
POST
则不能。不过,表单提交很少需要这样做。)

我输入的文本被添加到我的URL

您正在
$\u POST
中查找值,但您的表单使用的是
GET
。将表单方法改为
POST

<form class="reg-page" id="register" name="members" method="POST">

相反,您可以更改代码以使用<代码> $yGET而不是<代码> $xPOST ,但我认为这是一个不太理想的方法。

使用
POST
时,您会注意到这些值不在URL中。相反,它们位于请求的“正文”中,默认情况下浏览器中不会显示请求正文,但您可以在浏览器的调试工具中检查请求正文。这通常是首选的形式,因为它不会混乱的URL与大量的数据


(作为参考,经常引用的使用
GET
的一个主要原因是它可以直接链接,而
POST
不能链接。不过,表单提交很少需要这样做。)

表单的默认方法是
GET
,您必须指定它:


表单的默认方法是
GET
,您必须指定它:


原来我是个白痴

     $sql = "INSERT INTO members (sign_up_date, full_name, email, office_phone, office_phone, password, terms) VALUES (NOW(), :full_name, :email, :office_name, :office_phone, :password, :terms)";
我用“办公室电话,办公室电话”代替了“办公室名称,办公室电话”

男人。。。为这么简单的事情熬夜3次

顺便说一句,我没听清楚,我在询问SiteGround是否有服务器端问题?他们的客户服务代理检查了我的代码,插入:

print_r($stmt->errorInfo());

我在上面的代码中错误地对其进行了语法分析,纠正了我的编码问题,并确认它正确地写入了我的数据库。。。谢谢你!!!(我可以在这里感谢他们吗?)我应该在几天前问他们。。。或者简单地以正确的编码开始:(

结果证明我是个白痴

     $sql = "INSERT INTO members (sign_up_date, full_name, email, office_phone, office_phone, password, terms) VALUES (NOW(), :full_name, :email, :office_name, :office_phone, :password, :terms)";
我用“办公室电话,办公室电话”代替了“办公室名称,办公室电话”

老兄,为了这么简单的事,三个深夜

另外,我没听清楚,我在询问SiteGround是否存在服务器端问题?他们的客户服务代理检查了我的代码,插入:

print_r($stmt->errorInfo());

我在上面的代码中错误地对其进行了语法分析,纠正了我的编码问题,并确认它正确地写入了我的数据库…谢谢你SiteGround!!!(允许我在这里感谢他们吗?)我应该在几天前问他们…或者简单地从以下开始正确编码:(

首先放
会话_start()在由于错误或其他原因出现任何可能的输出之前,在页面的第一行上放置
method=“post”action=“page\u registration\u test.php
在表单标记中,而不是在div tag中!太棒了!!!我为什么要将
method=“post”
action=“page\u registration\u test.php“
在我的div中而不是在我的表单中,谁知道?!谢谢!首先放
会话\u start()<