【问题标题】:How can I save information from forms?如何保存表单中的信息?
【发布时间】:2015-10-25 16:59:11
【问题描述】:

这是我在 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\mysql 插入数据库
  • 你打算把数据保存在哪里以便以后提醒别人?
  • 我倾向于复制并粘贴到文本编辑器中并将其保存在我的计算机上。
  • @Phillip,我还不知道,哈哈。我快到了,但首先,我想知道如何保存它
  • @Ebadly:如果您没有服务器端编程经验,我建议您阅读一些教程、买一本书或在当地大学上课。如果我们在一个房间里,我可以在几个小时内向您解释基本知识,但在 Stackoverflow 上解释它是不切实际的。从这里开始你的第一个 php 脚本:php.net/manual/en/tutorial.firstpage.php 如果你有任何问题给我发私信!

标签: php javascript jquery html css


【解决方案1】:

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

第一组“简单”选项由php session variables组成

$_SESSION['...']

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

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

another option is browser cookies 可以使用 php 或 javascript 定义。他们的信息本地存储在用户的浏览器上。它们可以配置为更长的自定义到期时间,但您也面临用户清除它们或不允许它们并中断您的预期过程的风险。

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


前面提到的第三个选项是将这些信息存储到数据库中。 the typical and to my knowledge most commonly used and most widely documented database system is MYSQL. php 具有非常好的预建功能,允许您的脚本连接到网络数据库,以便从其中插入更新选择和删除数据。

应该注意,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 路线i recommend starting here at this very thorough, very free tutorial series. 在 youtube 上。这里 bucky 经历了所有这些过程,包括获得一个免费的 mysql 服务器,这将极大地帮助学习过程,但可能不适合实时应用程序/开发。

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2022-01-09
      • 2019-05-29
      相关资源
      最近更新 更多