html - 初学者。为我自己的试验和错误制作了一个简单的网站。使用主机。无法获取用户注册页面输入以保存到某种类型的文件
问题描述
我的第一个问题。我目前正在学习 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 和是的。
解决方案
所以据我了解,这会将输入写入一个名为 action page 的文件。但我玩过,似乎什么都没有发生。
不,那不是<form action="action_page.php">
会做的。
当用户单击提交按钮时,这会将用户发送到另一个网页,如标签action=
属性中指定的那样 - 在这种情况下,称为. 如果只是说:<form>
action_page.php
action_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 并将其保存在某处。
推荐阅读
- java - 如何使用当前 JFrame 中的组合框从另一个类中的 JPanel 更改表的值
- reactjs - 发布请求在邮递员中工作,但在浏览器上不起作用
- r - 回归 - PCA - 如何处理变量?
- c# - 自动检测到的 Word 可填写字段的 Acrobat PDF 转换中不需要的字符。使用 iTextSharp5 删除可填充字段字符
- javascript - javascript 在异步数据完成后执行功能
- python - 我尝试使用从网站 uning selenium 获取的数字进行计算,但在 str 到 int 转换时卡住了
- node.js - 使编码事物不确定为什么它不起作用-NodeJS
- javascript - JS:如何在被窗口事件调用时获取“this”
- javascript - 为什么返回一个空数组?AJAX
- php - 如何将 http 客户端与 ApiResource 链接