今だけ人気マンガ100円レンタル特集♪

一回だけしか表示されないページを作成するには、どのような設定を行えばよいでしょうか?

サーバーはエックスサーバーを借りています。

どなたかわかりますか??

このQ&Aに関連する最新のQ&A

A 回答 (9件)

なんだ、男か、モチベーション下がるな。

・・とか言いつつもう出来た。意外に簡単だった。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;

?>

//ここまで

以上です。試してみて動かなかったらご報告ください。
「一度しか表示されないページを作るには?」の回答画像8

この回答への補足

ありがとうございます。
昨日と今日とやってみたんですが、できません

<?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;

?>
というように記述したんですが、間違ってますか?

何度もすみません。

補足日時:2009/08/20 21:00
    • good
    • 1
この回答へのお礼

ごめんなさい!! 

今やったら出来ました!!

本当にありがとうございました!!!

助かりました!!!!

お礼日時:2009/08/20 21:37

あ、多少の仕様変更だったら受け付けるかもしません。



気になるところがあったら言うだけいってみて。
    • good
    • 0

私は独学です。



コンピュータ歴が長い(小学生の頃(CPUがMZ80の時代)から)&
コンピュータ好きなので幅広く、ある程度の知識は習得しました。

だから普通の人とは少し違うでしょうね。あまり参考にならないかと思います。


じゃあ、あいた時間に作ってみます。一人一回は、全体で一回より
面倒ですね。少し時間がかかるかもしれません。それに、クッキー
で恐らくやるので、

1.クッキーの削除されたら初めての訪問という事になりますが、よろしいですか?

IPアドレスも一緒に調べても良いけど、変わるし、全く同じアドレスで、他の人が来ないとも限らない。その確率は低いですが・・

2.ページのアドレスは同じで表示される内容が変わる(一回だけ)という事になりますが、それでよいですか?

3.ページから呼び出される画像等は、(アドレスが分かっている場合、(通常はアドレスを保存しておかない限りわかりませんが))アドレスを直接指定すれば見れることになりますが、それでもよいですか?

現時点で1、2、3の点が少し気になりますね。

あと、作っている間にしつこく聞いておきます。男性ですか?女性ですか?若いですか?多分、同世代くらいだとは思いますが・・

この回答への補足

1.2.3の件わかりました。まったく問題ありません。

ちなみに、私、若いつもりの男性です。

よろしくおねがいします。

補足日時:2009/08/19 23:59
    • good
    • 0

まったくプログラムを組んだ事がないなら


今から参考サイトを読んでも、難しいでしょうね。

特にご紹介されているサイトは技術的な話なので
直接的に今回の問題を解決するものではないです。

だからやりましょうかと提案したのですけどね。

・・だけど仕様が決定しない事には何も作れない。

この回答への補足

すみません・・・

仕様ですが、一人一回だけ表示というのを考えています。

よろしくお願いします。

話し違いますが、javajavax2さんのように、プログラムを書いたりとか出来るようになるには、大学で勉強しないとだめなんでしょうか?

補足日時:2009/08/19 22:55
    • good
    • 0

今日登録してるところ。



あやしい。

IDを変えたのですか?


一応、補足要求:
あなたのスキルはどれくらいですか?
女性ですか男性ですか?若い?

この回答への補足

javajavaxさん じつはid二つに分けることにしました。

スキルはhtmlでホームページ作りをしてきて、そのつど先輩からの要求をwebで調べて対応している程度のものです。

プログラムというのがさっぱり??です。

補足日時:2009/08/19 21:04
    • good
    • 0

結局何かしらのプログラミングは必要という事でしょうね。



サーバーにはそういう機能は用意されていませんので。

あるいは出来合いのプログラムを入手するか。
    • good
    • 0

なるほどね。

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

ajaxで書き換えるなんていう手もあるね。
    • good
    • 0

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
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます

参考URLなどで調べてみます(なんせ素人名物で・・・)

お礼日時:2009/08/19 21:02

またか。

エックスサーバ流行ってるのか?

cgiかphpで書くしかないでしょうね。
他には方法は・・どうかな。たぶんないかな

書きましょうか? phpでよければ。
丁度こないだ書いたの変更すれば出来そうだし・・

細かい仕様は?
全体を通して一回?一人一回?
(一人一回ってのは違うコンピュータ使ったりされると
 分かりようがないから、まず無理だけども擬似なら可)
そういうページを沢山作りたい?

まあ、でも、なんか・・めんどくさそうだな。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qページを訪問者にたった一度だけ表示させる

どう調べたら良いかわからなかったので失礼致します。
index.htmlからAというページにリンクを貼って、普通はAというページにそのまま飛ばされますよね。
それを、初めてAというページへ飛ぶ場合のたった一度だけ、アンケートや確認メッセージのあるページBを経由してAというページに移動させる方法はないでしょうか?

ただリンクを貼るだけなら簡単なのですが、初回1回のみ確認メッセージを表示させたいのです。2度目以降は自分でもいちいち答えるのがうざったいので直接Aに移動したいのですが・・・。

何か方法をご存知の方、宜しくお願いいたします。

Aベストアンサー

#2です。サンプルソースを書いておきます。
index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title></title>
</head>
<body>
<A href="a.html">next</A>
</body>
</html>

a.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>a</title>
<script type="text/javascript">
<!--
//ページ読み込み時に発生する。(bodyのonLoadイベントで呼び出し)
function init() {
//クッキー取得処理を呼び出し、戻り値をcoocに代入
var cooc = getCookie();
//戻り値がOKの場合はクッキーが存在するのでb.htmlに飛ばす
if (cooc == "OK") {
location.href="b.html";
}

}
//クッキー取得(取得できればOK、できなければNGを返す)
function getCookie(){
//当日日付取得
var today = new Date().getTime();
//クッキー取得
var doc = document.cookie+";".indexOf("test=");
//クッキーが取得できなければindexOfで-1が返されるのでif文で判別
if(doc != -1){
return("OK");
} else {
//取得できなければクッキーを食べさせる。(ecpires=有効期限)
document.cookie = "test=1;expires="+new Date(today + (60 * 60 * 24 * 1000 * 365));
return("NG");
}
return("");
}

//-->
</script>
</head>
<body onLoad="init()">
初めてですね。
<A href="b.html">next</A>
</body>
</html>

b.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>b</title>

</head>
<body>
ようこそ。
</body>
</html>

試してみてください。

#2です。サンプルソースを書いておきます。
index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title></title>
</head>
<body>
<A href="a.html">next</A>
</body>
</html>

a.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>a</title>
<script type="text/javascript">
<!--
//ページ読み込み時に発生する。(bodyのonLoadイベントで呼び出し)
function init() {
//クッキ...続きを読む

Q連想配列からの値の取り出し

お世話様です。

タイトルにもありますが連想配列を作成した後(以下に記述例)に
その配列からキーを指定して値を取得したいと思っております。
array_keys関数だと値を指定してキーを取得するみたいで
うまくいきませんでした。
何かよい方法ありませんでしょうか?

//配列に格納
while (条件) {
  $aParaOra += array((キー) => (値));
}

Aベストアンサー

解答番号No.1の者です。

ちなみに、キーの指定なしで全部取得するのであれば、
array_values($aParaOra)
で、配列化されたものが返ってきます。

もしくは、以下のようにforeachでループすれば、
キーと値を分離して取得できます。
foreach ($aParaOra as $key => $value) {
# $aParaOra[$key]の値が、$value
}

質問者さんが何をしたいのかがいまいちピンときません。

Q1人1回投票できる投票システムの作り方

表題の通り、ホームページ上で投票できるシステム(PHPかCGI)を作りたいと思っています。
PHPとCGIの知識は、すでにあるものを少しだけいじれる程度なのですが
配布されているフリーのものを探して、ちょうどいいものがなく、
この機会に是非チャレンジしたいので、ご助言をお願いします。

内容的には、写真がずらっと並んだギャラリーページから、
ユーザーが一番気に入った写真を1つだけ選んで投票できるというものです。


下記のような機能をつけたいです。

■第一回人気投票、第二回人気投票…と、開催ごとに1回しか投票できない。
 (第一回で投票した人でも、第二回が開催されたときは投票できる)

■1回投票したら、他の写真には投票できない

■ユーザーはどの写真に何票入っているかみれない

■管理者はどの写真に何票入っているか見れる

■データーベースが必要なら用意できます

なにから手をつけていいのかわからない状態なのですが、
ご助言お願い致します。

Aベストアンサー

厳密には不可能です。

案1:メールアドレスなどでユーザ登録してもらい、1ユーザ1回の投票にする。
⇒問題点1:メールアドレスを複数持っている人が複数回登録できる
 問題点2:登録が面倒で投票してくれる人が減る

案2:cookieを使う。
⇒問題点1:そもそもcookieを有効にしていない人をどうするのか?・・・投票不可にするしか無い
 問題点2:cookieをクリアすると何度でも投票できる

案3:TwitterとかmixiとかのIDで認証して、1ユーザ1回の投票にする。メールアドレスと違いIDを複数持っている人は少ないので
⇒問題点:そういうサービスを利用してない人は投票できない

まあ、あまり厳密さを求めないで(意図的に何度も投票する人が居てもしょうが無いとあきらめ)、cookieでしょうか。

Cookieを扱うPHPでの具体的な記述は「PHP Cookie」で検索すればいくらでも情報があります。Perlなら「Perl Cookie」で。

処理の流れはこんな感じで:
0. Cookieの名前は投票回ごとに違う名前を決めます。例えば第一回だとponpoko001とか。
1. 投票を受け付けるときに、ponpoko001というcookieがあれば投票済みとみなします。
2. そのcookieが無い場合、Cookieを無効にしてないかチェックのため、checkというcookieを発行してみます。
3. 次のページに遷移して、checkというcookieが帰ってこなければブラウザ設定でCookieを無効にしているということなので「Cookieを有効にしてください」というメッセージを出してトップページなどに帰ります。
4. 投票を受け付けます。
5. 同時に、長い有効期限で、ponpoko001という名前のCookieを発行します。

厳密には不可能です。

案1:メールアドレスなどでユーザ登録してもらい、1ユーザ1回の投票にする。
⇒問題点1:メールアドレスを複数持っている人が複数回登録できる
 問題点2:登録が面倒で投票してくれる人が減る

案2:cookieを使う。
⇒問題点1:そもそもcookieを有効にしていない人をどうするのか?・・・投票不可にするしか無い
 問題点2:cookieをクリアすると何度でも投票できる

案3:TwitterとかmixiとかのIDで認証して、1ユーザ1回の投票にする。メールアドレスと違いIDを複数持っている人...続きを読む

Qアクセス制限(1日1回)

HP上にて、1日1回だけしかアクセス出来ないページを作成したいです。
ただ、そう言った方法は、何をどう検索すれば良いのか分からなかったので質問しました。

・PCと携帯、両方のやり方を知りたいです。
・0時になったら制限をリセットして、また1回のみ行けるようにしたいです。
・具体的に言うと、クリック募金のように、1日1クリックしか出来ない感じです。
・1回行ったら、0時のリセットまで「もうクリック出来ません」みたいな注意書きが表示されるようにしたいです。

明確な方法などが全然分からないので、まずはこの条件で何か方法はありますか?
分かる人が居ましたら、お願い致します。
「こうやって検索してみて」」とかでも全然助かります。
高等技術は持ち合わせていません・・・(Javaは分かりません

Aベストアンサー

JavaScriptの公開プログラム等有りますので調べてみては?

http://www.tohoho-web.com/js/index.htm
こんなページとか有るので。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング