0

这是我在 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>
    

4

2 回答 2

1

为了使用 php 从表单中保存信息输入,您确实有两个选择。这些选项将具体取决于您需要如何处理这些信息。

第一组“简单”选项由php 会话变量组成

$_SESSION['...']

虽然会话变量存储在服务器上,但它们通常仅在一次访问中特定于一个用户,这些变量将丢失其信息,因为用户在网站上的“会话”过期或当您使用 php 脚本关闭它时

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

另一种选择是可以使用 php 或 javascript 定义的浏览器 cookie 。他们的信息本地存储在用户的浏览器上。它们可以配置为更长的自定义到期时间,但您也冒着用户清除它们或不允许它们并中断您的预期过程的风险。

前两个选项中的每一个都应该提到它,作为“站点所有者”,您最初无法访问此信息,而无需执行任何进一步的自定义脚本


前面提到的第三个选项是将这些信息存储到数据库中。 典型的,据我所知,最常用和最广泛记录的数据库系统是 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 服务器,这将极大地帮助学习过程,但可能不适合实时应用程序/开发。

抱歉写了一本书,希望这有帮助!

于 2013-05-21T04:44:21.297 回答
0

如果您不想使用 MySQL 并希望数据在本地,您可以将其保存到一个 csv 文件中,您可以在本地系统上下载并查阅该文件。

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

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

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

您还可以读取文件的每一行并将其“分解”(参见 php.net)到一个数组中,并对其进行处理以设置您的提醒。

根据其他评论,教程非常有价值——尤其是在净化文本输入方面,这对于防止注入攻击至关重要。

于 2015-10-25T07:45:08.270 回答