如何进行此设置,以便当用户输入他的名字和姓氏时,我将其写入.html文件,然后给用户一个链接以查看他们刚刚输入的信息?
我知道我可以在欢迎之后回复,就像我已经在使用$ _POST ['userfName'],但我只是想写一些.html文件并将这些信息回显给用户查看(参见)。
{
$_SESSION['userEmail'] = $_POST['userEmail'];
$_SESSION['start'] = time();
echo "Welcome, " . $_POST['userfName'] . $_POST['userlName'] .". A new session has been activated for you. Click <a href="sometextfile.html">here</a> to see your information.";
echo "<br>Your session id is: ".session_id();
}
答案 0 :(得分:2)
您想为每个登录的用户实际生成新的HTML文件吗?这种做法无视服务器端脚本。
事实上,让您的脚本具有对您的Web服务器根目录的写入权限是安全的一个坏主意。
您要做的是链接到“sometextfile.php?sessid =”或使用包含其会话ID的cookie,然后动态生成该页面。
如果您只想在某处将文本文件写入磁盘,则可以创建一个字符串,然后使用file_put_contents(http://php.net/file_put_contents)。这可以放在网络根目录中,但我猜这并不是你想要做的事情。
答案 1 :(得分:1)
喜欢这个。
$message = ...;
file_put_contents(dirname(__FILE__)."\message.html", $message);
echo "<a href=message.html>Your message</a>
但您的Web服务器现在可能具有写入Web目录的权限。它会打开你所有的坏事。想象一下,如果用户在消息中编写了一个php脚本(例如<? echo phpinfo()?>
)。现在你的服务器受到了损害。如果这样做,您需要验证并清理输入。
编辑 尼克是对的,使用我建议的方法会导致用户覆盖彼此的消息。我不会建议这样做。按照Nicks建议将用户发送到动态生成的页面。
答案 2 :(得分:0)
听起来你勉强需要一个数据库!恭喜!
由于您使用的是PHP,最简单/最便宜的路线是install或访问MySQL server。
然后你可以创建一个存储用户名字的表格,并给他们一个URL来访问一个包含他们信息的动态页面,然后你就可以找到一个有前途的职业。有关MySQL的帮助,请查看this tutorial。
最终你可能想要跳进像Code Igniter,CakePHP或Symfony这样的框架(仅举几例),开始为你做所有这些肮脏的工作,这样你就可以专注于花哨的东西。