• ベストアンサー

一度しか表示されないページを作るには?

一回だけしか表示されないページを作成するには、どのような設定を行えばよいでしょうか? サーバーはエックスサーバーを借りています。 どなたかわかりますか??

質問者が選んだベストアンサー

  • ベストアンサー
回答No.8

なんだ、男か、モチベーション下がるな。・・とか言いつつもう出来た。意外に簡単だった。phpは色々と便利で楽だね。 使い方: <?php から ?> までをメモ帳なりテキストエディタなりにコピー&ペーストして、拡張子をphpとして保存してください。 この際の注意としては・・・ 一番上の部分にある<?phpは、その直前に余分な改行などいれずファイルの先頭にくるようにしてください。表示するファイルの部分は当然、表示するファイルに書き換えてください。書き換えないままのデフォルトの設定では、保存したphpファイルと同じディレクトリに置かれたallow.htmlがはじめての訪問者に表示され、phpファイルと同じく同じディレクトリのdeny.htmlが二回目以降の訪問者に表示されます。 そして保存できた(なんとか).phpファイルと表示用ファイル(arrow.html&deny.html)をサーバに転送するだけです。 自分でちゃんと動いているか確認(テスト)したいときは、ブラウザの設定画面を開いて自分のホームページのあるサーバのクッキーを削除してください。・・すると初めての訪問とみなされます。 以下phpプログラム(コピぺして編集します) <?php //表示するファイルの設定   ここから▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ //$allow → 1回だけ許可するのファイル //$deny  → 2回目以降表示するファイル $allow = "./allow.html"; $deny = "./deny.html"; //表示するファイルの設定   ここまで▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ $buff = ""; $cookie=$_COOKIE["Visiter"]; if(strcmp($cookie,"") == 0){ $cookie = 0; } $value = $cookie + 1; $timeout = time() + 365 * 86400; setcookie("Visiter","$value",$timeout,'/',$_SERVER["SERVER_NAME"] . ";"); if( $cookie ) { $read_file = $deny; }else{ $read_file = $allow; } if (! ($fp = fopen ($read_file , "r" ))) { die("ファイルが開けません。"); } while ($line = fgets($fp)) { $buff .= $line; } fclose($fp); print $buff; ?> //ここまで 以上です。試してみて動かなかったらご報告ください。

prespoo
質問者

お礼

ごめんなさい!!  今やったら出来ました!! 本当にありがとうございました!!! 助かりました!!!!

prespoo
質問者

補足

ありがとうございます。 昨日と今日とやってみたんですが、できません <?php //表示するファイルの設定   ここから▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ //$allow → 1回だけ許可するのファイル //$deny  → 2回目以降表示するファイル $allow = "./test1.html"; $deny = "./test2.html"; //表示するファイルの設定   ここまで▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ $buff = ""; $cookie=$_COOKIE["Visiter"]; if(strcmp($cookie,"") == 0){ $cookie = 0; } $value = $cookie + 1; $timeout = time() + 365 * 86400; setcookie("Visiter","$value",$timeout,'/',$_SERVER["SERVER_NAME"] . ";"); if( $cookie ) { $read_file = $deny; }else{ $read_file = $allow; } if (! ($fp = fopen ($read_file , "r" ))) { die("ファイルが開けません。"); } while ($line = fgets($fp)) { $buff .= $line; } fclose($fp); print $buff; ?> というように記述したんですが、間違ってますか? 何度もすみません。

その他の回答 (8)

回答No.9

あ、多少の仕様変更だったら受け付けるかもしません。 気になるところがあったら言うだけいってみて。

回答No.7

私は独学です。 コンピュータ歴が長い(小学生の頃(CPUがMZ80の時代)から)& コンピュータ好きなので幅広く、ある程度の知識は習得しました。 だから普通の人とは少し違うでしょうね。あまり参考にならないかと思います。 じゃあ、あいた時間に作ってみます。一人一回は、全体で一回より 面倒ですね。少し時間がかかるかもしれません。それに、クッキー で恐らくやるので、 1.クッキーの削除されたら初めての訪問という事になりますが、よろしいですか? IPアドレスも一緒に調べても良いけど、変わるし、全く同じアドレスで、他の人が来ないとも限らない。その確率は低いですが・・ 2.ページのアドレスは同じで表示される内容が変わる(一回だけ)という事になりますが、それでよいですか? 3.ページから呼び出される画像等は、(アドレスが分かっている場合、(通常はアドレスを保存しておかない限りわかりませんが))アドレスを直接指定すれば見れることになりますが、それでもよいですか? 現時点で1、2、3の点が少し気になりますね。 あと、作っている間にしつこく聞いておきます。男性ですか?女性ですか?若いですか?多分、同世代くらいだとは思いますが・・

prespoo
質問者

補足

1.2.3の件わかりました。まったく問題ありません。 ちなみに、私、若いつもりの男性です。 よろしくおねがいします。

回答No.6

まったくプログラムを組んだ事がないなら 今から参考サイトを読んでも、難しいでしょうね。 特にご紹介されているサイトは技術的な話なので 直接的に今回の問題を解決するものではないです。 だからやりましょうかと提案したのですけどね。 ・・だけど仕様が決定しない事には何も作れない。

prespoo
質問者

補足

すみません・・・ 仕様ですが、一人一回だけ表示というのを考えています。 よろしくお願いします。 話し違いますが、javajavax2さんのように、プログラムを書いたりとか出来るようになるには、大学で勉強しないとだめなんでしょうか?

回答No.5

今日登録してるところ。。 あやしい。 IDを変えたのですか? 一応、補足要求: あなたのスキルはどれくらいですか? 女性ですか男性ですか?若い?

prespoo
質問者

補足

javajavaxさん じつはid二つに分けることにしました。 スキルはhtmlでホームページ作りをしてきて、そのつど先輩からの要求をwebで調べて対応している程度のものです。 プログラムというのがさっぱり??です。

回答No.4

結局何かしらのプログラミングは必要という事でしょうね。 サーバーにはそういう機能は用意されていませんので。 あるいは出来合いのプログラムを入手するか。

回答No.3

なるほどね。ただ、それだと ソースみれば、簡単に何回でもアクセスできちゃうかな それでも要件をみたすならそれでもokかもしれませんね。 ※submitが良く分からなかったな。getかpostするって事? ajaxで書き換えるなんていう手もあるね。

noname#246547
noname#246547
回答No.2

htmlで実現したいのであれば first.html・・・1回だけのHTML、 default.html・・・2回目以降のHTML、javascriptでcookie読み書きし、訪問回数を取得。基本的にユーザにはこのHTMLファイルをアクセスさせる 初訪問ならばfirst.htmlをsubmitしなおしてページを表示 2回目以降ならば、default.htmlをそのまま表示 とかかな? javascriptはbodyのonLoadで実行かな javascriptでcookie読み書きは参考URLを見てみてね

参考URL:
http://www.sasaraan.net/program/js/jscookie.html
prespoo
質問者

お礼

ご回答ありがとうございます 参考URLなどで調べてみます(なんせ素人名物で・・・)

回答No.1

またか。エックスサーバ流行ってるのか? cgiかphpで書くしかないでしょうね。 他には方法は・・どうかな。たぶんないかな 書きましょうか? phpでよければ。 丁度こないだ書いたの変更すれば出来そうだし・・ 細かい仕様は? 全体を通して一回?一人一回? (一人一回ってのは違うコンピュータ使ったりされると  分かりようがないから、まず無理だけども擬似なら可) そういうページを沢山作りたい? まあ、でも、なんか・・めんどくさそうだな。

関連するQ&A