如何保存表单中的信息?

How can I save information from forms?

本文关键字:信息 表单 何保存 保存      更新时间:2023-09-26

下面是我在jsfiddle中的代码:http://jsfiddle.net/MppxX/

如果您通过单击DIV标签内左侧的第一个"是"或第一个图像找到了方法,您将遇到我所说的表单。

现在,在用户输入信息之后(稍后我将包含一个"提交"按钮),我如何"保存"该信息?我需要这些信息有两个目的:

1)用上述信息创建一个提醒

2)将为"提醒列表"创建一个单独的区域,并将显示保存的提醒

感谢

$(document).ready(function() {
                            $(".appIMG1").click(function() {
                                $("#app1").animate({
                                    left: '250px',
                                    opacity: 0
                                });
                                $("#app2").fadeIn("slow");
                            });
                        });
    
        $(document).ready(function() {
                            $(".appIMG2").one('click.appIMG2', function() {
                                $('.appIMG1, .appIMG2').unbind('click');
                                $('#app1').animate({
                                    top: "0px",
                                    opacity: 0
                                });
                                $("#app3").fadeIn("slow");
                            });
                        });
#app1{
                            position:absolute;
                            width:250px;
                            height:250px;
                            z-index:1;
                            top:50%;
                            left:50%;
                            margin:-150px 0 0 -150px;
                            background:white;
                            box-shadow: 0 0 1px 1px #888888;
                            text-align:center
                        }
            
                        #app2{
                            position:absolute;
                            width:300px;
                            height:300px;
                            z-index:0;
                            top:50%;
                            left:50%;
                            margin:-150px 0 0 -150px;
                            background:white;
                            box-shadow: 0 0 1px 1px #888888;
                            text-align:center;
                        }
            
                        #app3{
                            position:absolute;
                            width:300px;
                            height:250px;
                            z-index:8;
                            top:50%;
                            left:50%;
                            margin:-150px 0 0 -150px;
                            background:white;
                            box-shadow: 0 0 1px 1px #888888;
                            text-align:center;
                        }
            
                        img.appIMG1{
                            -webkit-box-shadow: 0 0 1px 1px #888888;
                            box-shadow:0 0 1px 1px #888888;
                        }
            
                        img.appIMG2{
                            -webkit-box-shadow: 0 0 1px 1px #888888;
                            box-shadow:0 0 1px 1px #888888;
                        }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <div id="app1">
                <p><b><u><font face="TimeBurner" color="#66d9ff" size="6">Do you want to make a reminder?</b></u></font></p>
                <br>
                <img class="appIMG1" border="0" src="YES.png" align="left" hspace=1.8%>
                <img class="appIMG2" border="0" src="NO.png" align="right" hspace=2%>
            </div>
    
            <div id="app2" style="display:none">
                <form>
                    Name for the reminder: <input type="text" name="firstname"><br>
                    On what days would you like to be reminded on: <br>
                    <input type="checkbox" name="day" value="Monday">Monday<br>
                    <input type="checkbox" name="day" value="Tuesday">Tuesday<br>
                    <input type="checkbox" name="day" value="Wednesday">Wednesday<br>
                    <input type="checkbox" name="day" value="Thursday">Thursday<br>
                    <input type="checkbox" name="day" value="Friday">Friday<br>
                    <input type="checkbox" name="day" value="Saturday">Saturday<br>
                    <input type="checkbox" name="day" value="Sunday">Sunday<br>
                </form>
            </div>
    
            <div id="app3" style="display:none">
                <p><b><u><font face="TimeBurner" color="66d9ff" size="6">Do you want to check your current reminders?</b></u></font></p>
                <img class="appIMG1" alt="YES" border="0" src="YES.png" align="left" hspace=1.8%>
                <img class="appIMG2" alt="NO" border="0" src="NO.png" align="right" hspace=2%>
            </div>
    

为了用PHP保存表单输入的信息,您实际上有两个选择。这些选项将具体取决于你需要如何处理这些信息。

第一组'simple'选项包括php会话变量

$_SESSION['...']

虽然会话变量存储在服务器上,但它们只特定于一个用户通常在一次访问内,这些变量就会丢失他们的信息是用户在网站上的"会话"过期或当你用PHP脚本关闭它

<?php
     setcookie("user", "Alex Porter", time()+3600);
?>

另一个选项是浏览器cookie ,可以使用php或javascript定义。它们的信息本地存储在用户的浏览器上。它们可以配置更长的自定义有效期,但你也要冒用户清除它们或不允许它们并中断预期进程的风险。

应该提到前两个选项中的每一个,您作为"站点所有者"最初无法访问这些信息,除非执行任何进一步的自定义脚本


前面提到的第三个选项是将此信息存储到数据库中。典型的,据我所知最常用和最广泛记录的数据库系统是MYSQL。php有很好的预构建功能,允许您的脚本连接到web数据库,以便从其中插入,更新,选择和删除数据。

应该注意,mysql将需要额外的知识和其他系统到位。使用mysql需要访问mysql服务器——大多数提供PHP的托管解决方案都是在业界所谓的"LAMP"堆栈上运行的。LAMP代表Linux Apache MySQL PHP -一个非常常见的web服务器配置。

另外,一旦您访问了mysql服务器,您还将构建数据库的模式来存储这些信息。这意味着你定义了一个数据库的"表"结构,它将接受你的信息——PHPMYADMIN是一个非常常用的工具,它也经常出现在大多数网络托管公司(如GoDaddy)提供的大多数LAMP托管解决方案上。

总而言之——关系数据库解决方案是持久的,这意味着它们将无限期地存储数据(直到您决定删除它或很少发生的事情发生)

的典型流程是用户提交表单,该表单包含PHP脚本的一个动作

<form action="handler.php" method="POST">
<!-- some form inputs and submits go here -->
</form>

这个handler.php脚本将处理输入数据-然后连接到数据库服务器并执行所需的操作。无论是为用户注册输入数据,还是在数据库中搜索信息并通过SELECT命令输出结果。

如果你想走MYSQL路线,没有先决条件的知识,我建议从这里开始这个非常全面,非常免费的教程系列。在youtube上。在这里,bucky经历了所有这些过程,包括获得一个免费的mysql服务器,这对学习过程有很大的帮助,但对于实时应用程序/开发来说可能不是理想的。

很抱歉写了一本书,希望能有所帮助!

如果你不想使用MySQL而希望数据是本地的,你可以将其保存为csv文件,这样你就可以下载并在本地系统上查阅。

将所有POST值放在一起,每个值之间用逗号隔开,并将它们附加到文件中。使

$_POST['firstname'] . ',' . $_POST['day'] . ','; 

并将其附加到一个文件中,例如mydata.csv,然后您可以下载。

你也可以读取和"爆炸"(见php.net)文件的每一行成一个数组,并处理它来设置你的提醒。

根据其他评论,教程非常有价值-特别是关于清理文本输入,这对于防止注入攻击至关重要。