• 締切済み

disabledとcookieを併用する方法。

phpで簡易なアンケートシステムを作っています。 2重投稿防止としてjavascritでもdisabledを使ってフォームボタンを押せないようにしようと思っています。 過去のFAQや参考サイトなどを調べるとdisabledを使う事はよく書かれているのですが、ここから更にcookieを使い一定時間制御できないかと思っています。 disabledとcookieを使った防止策などを解説しているサイトや参考スクリプトをご存知の方がいらしゃいましたら教えてください。 よろしくお願い致します。

  • melll
  • お礼率50% (114/227)

みんなの回答

回答No.1

ボタンを押せないようにするというのもひとつの方法ですが、 ボタンがグレーアウトしているのに気がつかずにアンケートに入力して ボタンを押したら使えなかったというのは入力してくれた人に失礼な気がします。 アクセスがあった時点で、サーバーサイド(PHP)でもローカル(javascript)でも クッキーの有無は確認できますので、クッキーがあった時点で アンケートフォームをメッセージを出した上で開けなくするとか、 別ページにリダイレクトするとかした方がユーザーフレンドリーだと思いますが・・・ いかがでしょう? もちろんご質問のようなことも実現は難しいことではないです。

関連するQ&A

  • Cookieについて

    HTTPプロトコルで使われるCookieという機能について教えてください。 あるウェブサーバからあるブラウザのCookieを取得しようとするとき、 そのウェブサーバはそのウェブサーバが発行したCookieしか取得できない ということですが、これは正しいですか? また正しいとしたら、 それはブラウザ側が制御するのでしょうか? とぼけた質問かもしれませんが、どなたかぜひご教授ください。 また参考になるサイトがありましたら教えてください。

  • Cookieでデータ管理

    JavaScriptを用いて計算機を作ったんですが、その計算結果をcookieで管理したいんです 具体的には、 1.データ登録用のフォームからcookieへデータをいくつか登録 2.cookieを読み込み、リストに表示 3.リストからデータを選択 4.選択したデータを計算用のフォームへ入力 5.計算ボタンをクリックし計算 以上の様な感じです cookieについて解説されているサイトを色々見て回ったんですが、 複数のデータの扱いや、リストからの選択がさっぱりです 参考になるサイトを教えて頂くだけでも結構です どうぞ宜しくお願いします

  • 二重投稿防止方法

    PHP3でメールフォームを作っています。 メールを送信後、リロード等を行うと同じメール内容が何通を送られてしまいます。 何とかして、制御したいのです。 なんか、いい二重投稿防止方法がありましたらお願いします。

    • ベストアンサー
    • PHP
  • このサイトの二重投稿防止の方法は?

    http://www.kirin.co.jp/active/env/mizunomegumi/click.html 上記のURLはキリンのクリック募金ページです。 このページのクリック募金の二重投稿を防止している方法について教えてください。 通常、アンケートなど二重投稿を防止するには、「IP」もしくは「クッキー」の二通りが思いつくのですが、下記のような理由からどちらの制御でもないようなのです。 ・初回クッキーの無効設定 → カウントされる ・クリック後にクッキーを削除 → 再カウントされない (クッキー制御ではない?) ・別のブラウザを変更 → カウントされる ・同一LAN内の別PCからアクセス → カウントされる (IP制御でもない?) また、クッキー削除後も「○回目のクリックありがとう」というようにこれまでのトータルクリック数が保存されているのも不思議です。 アンケートでの二重投稿防止などに利用したいのですが、これはどのような制御をしているのでしょうか。その方法もしくはヒントなどご教授いただけませんでしょうか。 他にも下記のサイトに同じようなシステムのリンクがあります。 http://www.dff.jp/(クリック募金サイト) 上記サイト内のコスモ石油・エイブルなど(IPBとカカクコムはクッキー制御のようです) よろしくお願い致します。

    • ベストアンサー
    • PHP
  • Cookie情報の取得と表示

    特定のCookieを取得し、ページに表示させるスクリプトについて質問させていただきます。 現在、Cookieに保存されたハンドルネーム(2バイト文字も含む)の情報を取得し、 ページ上に表示させるスクリプトを作成しています。 Googleで検索した参考サイトを参考に以下のスクリプトを試してみましたが、 2バイト文字(”ああああ”等)については表示されないか、”%54%454%121%”のような文字化けになってしまいます。「test」のような1バイト文字については普通に表示されます。 いろいろ調べた結果、システムからCookieに保存する際に、文字コードがUTF8ではなく、SJISで保存されているため、「test」などの1バイト文字は普通に取得できますが、「ああああ」などの2バイト文字についてはバイナリデータとして扱われ、取得できない?ようになっているようです。 単にシステムからCookieに保存する際に「UTF8」で保存すればいいのかもしれませんが、可能ならJavascriptの何らかの処理で解決できればと考えております。 どなたかお分かりになれば、ご教授いただけませんでしょうか? 以下が現在テストしているスクリプトコードです。 <script language="JavaScript"> <!-- function GetCookie(name){ var st=""; var ed=""; var temp=""; if (document.cookie.length>0){ st=document.cookie.indexOf(name + "="); if (st!=-1){ st=st+name.length+1; ed=document.cookie.indexOf(";",st); if (ed==-1)ed=document.cookie.length; temp = document.cookie.substring(st,ed); } } decodeURIComponent(temp); return ""; } // --></script> <script language="JavaScript"> <!-- User = GetCookie('fmcHN'); // ハンドルネーム取得 document.write(User,"さん"); // --></script>

  • phpでの帯域制御、ダウンロード数制御

    phpを利用したWebサイトで ファイルをダウンロードさせる際に 転送速度を制御する帯域制御や、 同時にダウンロードする数を制御することなどは できますでしょうか。 php以外のスクリプトでも方法があれば参考にしたいと思います。 php初心者でほとんどわかってませんが、 皆様、よろしくお願いいたします!

    • 締切済み
    • PHP
  • JavascriptとCookieについて

    HTML【index.php】でフォームを作り、クリック時にCookieに保存 →別ページ【input.php】で保存したCookieで判断し内容を変更するページを作ろうと思っています。 http://memo.ark-under.net/memo/404 こちらのページを参考に以下のように作ってみたのですが動作しません。 JavascriptとPHPを使えたらどんな方法でも良いので、ご教授お願い致します。 最近勉強を始めた初心者ですので、なるべく簡単に教えていただけると幸いです。 ----------------------------------------------------------------------- ----------------------------------------------------------------------- 【index.php】 <script type="text/javascript"> // クッキー保存 setCookie(クッキー名, クッキーの値, クッキーの有効日数); // function setCookie(c_name,value,expiredays){ // pathの指定 var path = location.pathname; // pathをフォルダ毎に指定する場合のIE対策 var paths = new Array(); paths = path.split("/"); if(paths[paths.length-1] != ""){ paths[paths.length-1] = ""; path = paths.join("/"); } // 有効期限の日付 var extime = new Date().getTime(); var cltime = new Date(extime + (60*60*24*1000*expiredays)); var exdate = cltime.toUTCString(); // クッキーに保存する文字列を生成 var s=""; s += c_name +"="+ escape(value);// 値はエンコードしておく s += "; path="+ path; if(expiredays){ s += "; expires=" +exdate+"; "; }else{ s += "; "; } // クッキーに保存 document.cookie=s; } <form action="input.php" method="post"> ボタン1:<input type="submit" name="input" value="入力" onsubmit="return setCookie('hanteisql','1',7)"> ボタン2:<input type="submit" name="input2" value="入力" onsubmit="return setCookie('hanteisql','1',7)"> </form> ----------------------------------------------------------------------- ----------------------------------------------------------------------- 【input.php】 <?php echo "クッキーは".$_COOKIE["hanteisql"]."です。" ?> -----------------------------------------------------------------------

  • どうしてもCookieとCGI・perlの関係?が理解できない。

    ととろさんのところを(http://tohoho.wakusei.ne.jp/www.htm)みながら、なんとかPerl・CGIを勉強しているところです。 普通にフォームに入力されたものをログファイルにとる、などはできるようになったのですが、 どうしてもクッキーのところでつまづいてしまいます。 Cookie書き込みの例、のところに、 Set-Cookie: NAME=tanaka; Fri, 31-Dec-2030 23:59:59; とやったら、tanakaというクッキーが作成されるのでしょうか? どうしてもこの辺がわからないのです。 これを実行する場合、 #!/usr/local/bin/perl print "Content-type:text/html\n"; print "Set-Cookie: NAME=tanaka; Fri, 31-Dec-2030 23:59:59;" print "\n"; のようにやるのですか? 最終的にはフォームの入力値を取得・反映したいと考えているのですが…。 あちこちわかりやすいと言われるcgi・PERL解説サイトをみたのですが、どうしてもここだけが理解できませんでした。

    • ベストアンサー
    • CGI
  • CGIと、MySQLを使わない、アンケートフォームのスクリプトを探しています。

    CGIとMySQLが使えないサーバなので、 CGIと、MySQLを使わない、PHPのみのアンケートフォームのスクリプトを探しています。

    • ベストアンサー
    • PHP
  • 【PHPとMySQLで登録・ログインフォームを作りたい】

    【PHPとMySQLで登録・ログインフォームを作りたい】 お世話になっております。 この度、大学の研究室のIP管理をすることになり、ホスト名を登録するフォームを作ろうと思っています。 そこで勉強も兼ねてPHPとMySQLを使って登録フォームとログインフォームを作りたいのですが中々参考になるサイトが見つからないのでよろしければサンプルや解説などがあるサイトを教えていただけると嬉しいです。 流れとしては 登録フォームでIDとパスワードを設定 ↓ ログインフォームでログイン ↓ 管理画面でホスト名を設定 で考えております。 登録フォームの作り方(PHPのフォームで文字を受け取りSQLに格納)の方法が分かれば管理画面もすぐ作れるかなと考えております。 参考になるサイトや解説サイト、サンプルサイトがあれば教えてください。お願いします。 フォームからの文字の受け取り方、SQLの格納の仕方など些細なことでもかまいません。お願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう