首页 > 解决方案 > 初学者。为我自己的试验和错误制作了一个简单的网站。使用主机。无法获取用户注册页面输入以保存到某种类型的文件

问题描述

我的第一个问题。我目前正在学习 html,并且正在使用 000webhost 创建一种试用站点来为自己测试东西。我有高级版,所以有很多功能。我目前正在做一个登录系统,从注册部分开始,这就是斗争。

我已经尝试了许多不同类型的代码,例如可能将其保存在我的文件管理器中的文件中。我查看了 SQL,但对于我的目标来说它有点复杂。即使查看免费教程,我也找不到任何可以直接指导我的东西,它大多是通用的东西。

<form action="/action_page.php">
    First name:<br>
     input type="text" name="Username"> <br>
    Last name:<br>
    input type="text" name="Last name"> <br>
    Email:<br>
    input type="text" name="Email"> <br>
    Password:<br>
    input type="password" name="password"

    <input type="submit" 
    form action="/action_page.php">
 </form>

这是我从一些免费教程中复制和编辑的一些简单代码。需要添加什么来保存输入,以便我可以继续制作登录系统。并将此文件保存在文件管理器中。

所以据我了解,这会将输入写入一个名为 action page 的文件。但我玩过,似乎什么都没有发生。任何建议或指向可以直接帮助我的有用教程的链接?

注意:我删除了一些 < 和 > 所以代码以原始形式显示,因为它是 html 和是的。

标签: htmlloginregistration

解决方案


所以据我了解,这会将输入写入一个名为 action page 的文件。但我玩过,似乎什么都没有发生。

不,那不是<form action="action_page.php">会做的。

当用户单击提交按钮时,这会将用户发送到另一个网页,如标签action=属性中指定的那样 - 在这种情况下,称为. 如果只是说:<form>action_page.phpaction_page.php

<h1>Hello</h1>

(这就是页面的全部内容),然后 Hello 将出现在屏幕上,并且不会对表单数据进行任何处理。

因此,您需要创建一个页面来获取从第一页发送过来的数据变量并对其进行处理。变量在第一页上形成,如下所示:

<input name="first_name" type="text" />

提交表单时,将调用一个变量first_name,其内容是用户键入的任何内容。

在第二页 ( action_page.php) 上,您需要获取这些变量:

$fname = $_REQUEST['first_name'];

$fname现在,您在一个名为(所有 PHP 变量必须以 $ 开头)的变量中输入了用户输入的名字 。

因此,如果是 的全部内容action_page.php,提交表单将输出“Hello John,你好吗?”:

<?php
    $fname = $_REQUEST['first_name'];
?>
<h1>Hello <?php echo $fname; ?>, how are you?</h1>

试试看。


另请阅读这篇重要文章:

https://stackoverflow.com/a/54757176/1447509


更新 - 对评论的回应:

输入表单字段的是用户,因此其中没有任何内容会告诉 PHP 处理文件(action_page.php在您的示例中)将数据放在哪里。那是您(开发人员)的决定。正如里克在他的评论中所说,你有选择。99% 的时间我们将信息保存到MySQL(现在称为MariaDB)数据库中 - 但您可以先将数据保存到文本文件中来练习。

使用上面的示例,您可以将action_page.php文件更改为:

<?php
    $fname = $_REQUEST['first_name'];
?>
$myFile = fopen('___mytest.txt', 'w');
$fwrite($myFile, "Received from the HTML side: " . $fname);
fclose($myFile);

注意:请小心以分号结束每一行;——每一行!当 PHP 中断时,没有消息 - 它只是停止。最常见的错误是忘记用分号结束一行。(我以 3 个下划线字符开头的文件名只是为了使其突出并出现在其他文件的顶部。)

当你开始工作时,下一步就是创建一个 MySQL 数据库并弄清楚如何将数据写入其中。有数以千计的 YouTube 教程会有所帮助。

将数据写入文本文件(作为第一步)将:(1) 向您证明您走在正确的轨道上,(2) 证明到目前为止一切正常,以及 (3) 为您提供接收数据的成功经验从 HTML 并将其保存在某处。

PHP - 使用登录系统保护仅限会员的页面

https://www.thoughtco.com/write-to-a-file-from-php-2693790


推荐阅读