0

これがjsfiddleの私のコードです: http://jsfiddle.net/MppxX/

最初の「はい」または DIV タグ内の左側の最初の画像をクリックして進むと、私が話しているフォームに出くわします。

さて、ユーザーが情報を入力した後 (後で「送信」ボタンを含めます)、その情報を「保存」するにはどうすればよいでしょうか? その情報は、次の 2 つの目的で必要になります。

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 で保存するには、実際には 2 つのオプションがあります。これらのオプションは、この情報をどのように処理する必要があるかによって異なります。

「単純な」オプションの最初のグループは、php セッション変数で構成されます

$_SESSION['...']

セッション変数はサーバーに保存されますが、通常は 1 回の訪問で 1 人のユーザーにのみ固有のものです。これらの変数は、Web サイト上のユーザーの「セッション」が期限切れになるか、PHP スクリプトでセッションを閉じると、情報を失います。

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

別のオプションは、php または javascript を使用して定義できるブラウザー Cookieです。それらの情報は、ユーザーのブラウザーにローカルに保存されます。それらはより長いカスタム有効期限で構成できますが、ユーザーがそれらをクリアするか、許可せずに意図したプロセスを中断するリスクもあります。

これらの最初の 2 つのオプションのそれぞれについて言及する必要があります。「SITE OWNER」は、カスタム スクリプトをさらに実行しない限り、最初はこの情報にアクセスできません。


前述の 3 番目のオプションは、この情報をデータベースに保存することです。 私の知る限り、最も一般的に使用され、最も広く文書化されている典型的なデータベース システムは MYSQL です。 php には、スクリプトが Web データベースに接続して、そこからデータを INSERT UPDATE SELECT および DELETE できるようにする、非常に優れた事前構築済みの機能があります。

mysql には追加の知識と他のシステムが必要になることに注意してください。mysql を使用するには、mysql サーバーにアクセスする必要があります。PHP を提供するほとんどのホスティング ソリューションは、業界で「LAMP」スタックと呼ばれるものから実行されます。LAMP は Linux Apache MySQL PHP の略で、非常に一般的な Web サーバー構成です。

さらに、mysql サーバーにアクセスできるようになったら、この情報を格納するデータベースのスキーマも構築する必要があります。つまり、情報を受け入れるデータベースの「テーブル」構造を定義します。これを行うための非常に一般的なツールは PHPMYADMIN であり、GoDaddy などのほとんどの Web ホスティング会社が提供するほとんどの LAMP ホスティング ソリューションでも頻繁に使用されています。

これはすべて言われていることです-リレーショナルデータベースソリューションは永続的であり、データを無期限に保存することを意味します(データを削除するか、めったに起こらない何かが壊れるまで)

典型的なプロセスは、ユーザーがフォームを送信することです。そのフォームにはphpスクリプトのアクションが含まれています

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

この handler.php スクリプトは入力データを処理し、データベース サーバーに接続して目的のアクションを実行します。ユーザーがサインアップするための INPUT データであるか、データベース内の情報を検索し、SELECT コマンドを介して結果を出力するか。

前提知識なしで MYSQL ルートに進みたい場合は、この非常に完全で非常に無料のチュートリアル シリーズから始めることをお勧めします。ユーチューブで。ここで 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 に答える