【发布时间】:2011-09-10 01:07:16
【问题描述】:
我有一个简单的表单,其中包含名称和消息字段。当用户提交表单时,页面会显示用户输入的用户 ID 号,当服务器中不存在文件“data.db”时,会在提交时创建文件。用户 ID 号将从 1 开始,每次存储新提交时递增 1。
文件格式如下:
1|{name1}|{gender1}|{email1}|{phone1}
2|{name2}|{gender2}|{email2}|{phone2} ...
但是,我在显示用户编号时遇到了问题,每次提交表单时它都停留在 1。
我创建的 $userid 变量似乎根本没有增加...
这是用于在表单提交后显示数据的 php 代码...
<?php
include("email.php");
$userid += 1;
echo "<b><u>Your submission has been added!</u></b> <br />";
echo "User ID: " . $userid . "<br /><br />";
echo "Name = ";
echo $_POST["name"];
echo "<br /> Gender = ";
echo $_POST["gender"];
echo "<br /> E-Mail = ";
echo $_POST["email"];
echo "<br /> Phone No. = ";
echo $_POST["phone"];
echo "<br />";
echo "<p>Thank You</p>";
$entry = $userid . "|" . $_POST["name"] . "|" . $_POST["gender"] . "|" . $_POST["email"] . "|" . $_POST["phone"] . "\n";
file_put_contents("data.db", $entry, FILE_APPEND|LOCK_EX);
echo "Confirm email sent!";
?>
【问题讨论】:
-
你在哪里初始化
$userid? -
您的脚本不知道它的调用频率。所以 userid 永远是一个。如果它基于同一会话中的同一用户,则可以使用 _SESSION,或者您必须永久存储增量值(如在数据库或文件中)