個人で会員登録が出来るサイトをPHPで作ろうと思っています。
(DBは始めのうちは使わないで作ろうと思っています)このようなIDと
PASSでログイン出来るようなPHPのプログラミングはWEB上に落ちて
いないでしょうか?
また、参考になるサイトがあれば教えて下さい。
宜しくお願いします。

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

A 回答 (3件)

# サンプルソースはありませんが・・・



まず、DBを使わないとの事ですが、自己学習のためと言うのであればその方針でいくのも良いとは思いますが、開発の手間を減らすというのであればDBを使った方が良いです。
DBを使わない場合、同時アクセス時の排他制御はすべて自前のコードによる制御になりますし、登録会員数によってはファイル構造自体を見直さなければならない事もままあります(速度上の問題が出ますので)。
であれば素直にDBを使ったほうが、排他制御は行ロックやテーブルロックするだけなのでSQL一発ですし、indexをちゃんと作っておけば行数が膨大な数になっても結構な速度で検索できます。

で、会員登録webですが、php3系(4では使えない)の拡張ライブラリであるphplibを使ってみてはいかがでしょうか?
ID、PASSを使ったログインサンプルも含まれてます。
添付のドキュメントは英語ですが、日本語訳もこちら(http://www.php.gr.jp/php/phplib/)で進んでます。

また、すべてphpのコードですし、認証部分もそれほど大きくないのでソースを追いかけて理解できるレベルでしょう。

あと、参考になるサイトですが、基本として日本PHPユーザ会のページを上げておきます。
http://www.php.gr.jp/

参考URL:http://sourceforge.net/projects/phplib
    • good
    • 0
この回答へのお礼

そうですね。
DBは仕事で使ったことがあるのですが、自分だけでやるとなるとちょっと
不安でしたので、DBは避けようと思っていました。
勉強して頑張ってみようと思います。
ありがとうございました。

お礼日時:2001/10/01 15:04

>セッション管理とかあるんですよねぇ。

^^;大変そうですね。

んー、確かに使い始めるまでは大変でしょうが、一度使い始めれば後はさして面倒ではないですよ。
php4の方は使ってなかったのでどういう「おまじない」が必要か知らないのですが、php3+phplibでは、最初にpage_open("sess" => "セッション管理クラス名")と最後にpage_close()と書くだけだったはずです。(うろ覚え(笑)正しくは前回示したURLのドキュメントを読んでください(^^;)

あと、それなりに規模が大きいサイトを作成されるのであれば、templateクラスの使い方も覚えられた方が良いかも知れません。templateクラスを使うとphpコードとHTMLを別ファイルに出来、デザイン変更に強いシステムを構築できますよ。
(いまだとXML使ってXMLパーサ通した方がいいかも知れないけど(笑))
    • good
    • 0
この回答へのお礼

ありがとうございます。
PHPとHTMLを別ファイルですか。確かにデザイン変更には強いですね。
勉強になります。

お礼日時:2001/10/16 01:48

DBをつかわないとなるとCSVで管理することになるのでしょうかね。


僕もためしに作ってみたことがありますが、結構面倒臭いです。
僕の場合は14,5人程度がアクセスする程度の小規模サイトでしたので、
そんなに困った問題は起きなかったのですが、とにかく面倒臭かったですね。

alfeimさんが仰られているように、phplibを使えば
個人管理は楽になりますね。
僕はプロバイダがPHP4をインストールされていたので
セッション機能を使いましたが・・セキュリティ的に色々不安なところが
ありました(苦笑)

どうも全然アドバイスになっていなくてすいません。
    • good
    • 0
この回答へのお礼

そうですね。CVSでの管理を考えていました。
セッション管理とかあるんですよねぇ。^^;大変そうですね。
phplibか。。。頑張ってみます。
ありがとうございました。

お礼日時:2001/10/01 15:08

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

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

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

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

Qアダルトサイトの無料会員登録について教えてください。

1、アダルトサイトで無料会員登録しないとサンプル動画を見れないのは何の為でしょうか?会員登録しなくてもサンプルが見れるサイトはあるのに、何故そこまで会員登録させたいのか?

2、また、無料会員登録することによってどんな内容がメールに届くのでしょうか?
購入する気はないのですが、会員登録することによって不利益は生じるのでしょうか?

3、無料といっても、そのうち、会員登録した際のメール宛てに支払い請求等が来る恐れはありますか? 

ひとつでも教えていただければ幸いです。

Aベストアンサー

1.そういうところに登録する人は、今後有料サイトに登録する可能性があるので、情報収集のため登録させます(当然その情報は「この人達は登録する可能性が高い人たちですよ」リストとして売買されます)。

2.普通の勧誘メール程度ですね。

3.その可能性は少ないでしょう。


どちらにしても、無料なのに会員登録を迫る、のはまともではありません。メールアドレスくらいならいいですが、名前、住所、携帯番号、クレジットカード番号などの流出してはまずい情報を登録時に求められるようなサイトには手を出さないことです。

Q大変困っております。PHP DBにお詳しい方宜しく御願致します。

初歩的なことかもしれません。

御助言頂きたいと思いご質問させて頂きます。

ポイントサイトを構築している途中で会員さんのポイント獲得ランキングを昇降順にDBより抽出しようと試みましたが無理でした。

こちらのソースからの後の記述が分かりません。
SELECT * FROM $k_user_table order by point DESC

結局分からぬまま最終的に以下の様にすることが精一杯でした。
----------------------
<?php
$point_count = $DB->getone("SELECT * FROM $k_user_table order by point DESC");
print $point_count;
?>
----------------------

この形でもやはり1件の獲得ポイントのみが出たり或いは一桁のちょっと訳が分からない数字が出たりします。

ポイントの高い順に10位まで表示したいと思っております。

テーブル名はこちらSELECT * FROM $k_user_table order by point DESCで間違いないはずなんですけどDBへの接続等その後のWHERE・=・<・>・等の記述方法の(~の場合~にする)の様な定義付けが分かりません。

先輩方の御助言頂けますでしょうか。

宜しく御願致します。

初歩的なことかもしれません。

御助言頂きたいと思いご質問させて頂きます。

ポイントサイトを構築している途中で会員さんのポイント獲得ランキングを昇降順にDBより抽出しようと試みましたが無理でした。

こちらのソースからの後の記述が分かりません。
SELECT * FROM $k_user_table order by point DESC

結局分からぬまま最終的に以下の様にすることが精一杯でした。
----------------------
<?php
$point_count = $DB->getone("SELECT * FROM $k_user_table order by point DESC");
print $...続きを読む

Aベストアンサー

あ、良かったー 私もPEARの勉強になりましたー
ポイントだけ表示なら

<?
$test = $DB->getAll("SELECT point FROM ".$k_user_table." order by point DESC LIMIT 0,10 ");
print_r($test);
?>

SELECT のすぐ後が欲しいカラムで、「*」は全カラムってことなんです
idとnameとpointっていうカラムが欲しいなら
SELECT id,name,point
とすればOK。

配列はforとかforeachを使って全件(10件)とも表示するように
繰り返し構文の中に配置すれば宜しいかと思いますー

Q【悩んでいます!】会員登録をそのままにしていると?

【悩んでいます!】会員登録をそのままにしていると?

会員登録を削除せずに、そのまま登録したままほおっておくと、どうなると思いますか?
無料会員登録と、有料会員登録の二つ通りで答えてください。


私は少し昔に無料会員のサイトにいくつか会員登録していて、今は大体退会していますが、多くのサイトに会員登録したせいもあって、「もしかしたらどこかの会員サイトを退会していないのでは。まずいなぁ・・・。」と感じるようになり、情けない話ですがかなり前から不安になっています。


不安が積み重なっていく内に、最近では「もしかしたら、どこかの有料会員サイトに有料会員登録しているのでは?」と悩む所までになっている始末です。「企業側から何か文句やら裁判やらを要求されるのでは」とまで想像しています。


実際は何もトラブルみたいなことは起きてはいませんが、なぜか正直不安です。
みなさんはどう思いますか?

Aベストアンサー

無料会員はそのままほっとく
合法の有料会員なら必ず決済方法(カード番号入力、携帯料金と一緒に引き落とし、郵送で後払い請求など)が決まっているので
カード明細や携帯の明細に不審な点がなく、郵送で心当たりのある請求書が来なければ
普通は大丈夫だと思う

QPHPでブログを作るのにDBを使った方が良い?

 公開されてるソースがあるのでそれを使えばいいんですが、プログラミングを学んでみたいという目的もあって、PHPの勉強を始めたところです。

 で、あるサイトで学んでるんですが、その中でMySQLというものも出てきました。

 データベースの勉強もここからが初めてで、四苦八苦しながらもなんとか読み進めていったんですが、今度はPHPとデータベースを組み合わせてブログを作ってみましょうという話になりました。

 もともとブログや掲示板を作りたくて勉強を始めたので願ったり叶ったりなんですが、ここで一つ疑問が。

 ブログってデータベース使ってましたっけ?(^_^;

 公開されてるソースの解説を見てみると、特にデータベースが必要というような表記もなく、PHPとHTMLとスタイルシートだけで作ってるように見えます。

 なので、もしかしたら余計な方向へ行こうとしてる?と、このままこのサイトで勉強を進めて良いものか不安になってしまいました(^_^;

 よく分かってない素人考えとしては、ブログの仕組みってPHPでHTMLファイルを作ってるだけというイメージなのですが、データベースは必要なのでしょうか?
 今はseesaaブログで借りてブログを書いていますが、仕組みが見えてないだけで、こういうブログもデータベースを使ってる?

 だとしたら公開されてるブログのソースは、データベースを使える人限定ってことになりますよね?

 ブログを作るのにデータベースは必要なのか?

 また、必要ないにしても、データベースを使った方が良い面があるのか?

 どうなんでしょうか?

 公開されてるソースがあるのでそれを使えばいいんですが、プログラミングを学んでみたいという目的もあって、PHPの勉強を始めたところです。

 で、あるサイトで学んでるんですが、その中でMySQLというものも出てきました。

 データベースの勉強もここからが初めてで、四苦八苦しながらもなんとか読み進めていったんですが、今度はPHPとデータベースを組み合わせてブログを作ってみましょうという話になりました。

 もともとブログや掲示板を作りたくて勉強を始めたので願ったり叶ったりなんですが、...続きを読む

Aベストアンサー

拡張子が「.html」などであっても、ブログ運営においてデータベースはほとんどのケースで使われています。URLは見かけ上の存在でしかない場合があります。以下に例を示します。

【例】 (URLエンコードは省略しています)

1. 以下のようなURLでユーザがアクセスしてくる
http://blog.example.com/programming/PHPはじめました!.html

2. サーバー側でリクエストURLが書き換えられる
http://example.com/blog.php?category=programming&title=PHPはじめました!

WebサーバーソフトウェアにApacheを利用しているのであれば、.htaccessというファイルに設定を記述することでこのような機能を実現することが出来ます。URLがきれいになるメリットががあります。

では、データベースを使う場合と、XMLファイル等に保存する場合を比較してみます。

【データベース】
・セキュリティ的に強固。
・複雑な検索の実装が比較的容易で、実行速度も申し分ない程度に可能。
・後から仕様変更などの融通が利く。
・単純なことしかしない場合の性能は劣る。ただ、キャッシュをうまく使えばこの限りではない。

【XMLファイル】
・ファイルを設置する階層、アクセス権限などに注意しないと脆弱性となり得る。
・検索機能の実装が困難。
・仕様変更に弱い。
・単純なことしかしない場合の性能は抜群。

何でもかんでもリレーショナルデータベースに頼りすぎるのはよくない、とよく言われますが、個人で小規模なブログを運営するだけであれば戸惑いなくそれを採用すべきであると言えるでしょう。小規模であればパフォーマンス面の心配はほとんど不要です。

PHPからデータベースを利用するサンプルを探すと、古い情報がよく出てきます。こういうものはセキュリティ的に問題があったりするので使わないようにしましょう。

・「mysql_query」などの関数
→ 現在は非推奨。絶対に使ってはいけない。

・「mysqli_query」などの関数
→ 使ってもOK。但し、後述するオブジェクト指向で書くやり方に比べれば古典的な方法になり、コードが汚くなりやすいため、あまりおすすめは出来ない。ただ、オブジェクト指向が全く分かっていない初心者でもとりあえず動くものは作れるというメリットはある。

・「mysqli」クラス
→ 推奨される。上記のオブジェクト指向型。設定次第で例外を扱えるようになる。

・「PDO」クラス
→ 最も推奨される。mysqliクラスよりも構成がシンプル。これを覚えるだけでMySQL以外のSQLiteなどの他のデータベースの操作も習得したことになり、汎用性に優れる。設定次第で例外を扱えるようになる。

MySQL入門
http://www.ipa.go.jp/files/000018731.pdf

PDO
http://www.php.net/manual/ja/book.pdo.php

PDOの利用
http://www.phpbook.jp/tutorial/pdo/

PHPオブジェクト指向入門
http://qiita.com/mpyw/items/41230bec5c02142ae691

PHPでデータベースに接続するときのまとめ
http://qiita.com/mpyw/items/b00b72c5c95aac573b71

拡張子が「.html」などであっても、ブログ運営においてデータベースはほとんどのケースで使われています。URLは見かけ上の存在でしかない場合があります。以下に例を示します。

【例】 (URLエンコードは省略しています)

1. 以下のようなURLでユーザがアクセスしてくる
http://blog.example.com/programming/PHPはじめました!.html

2. サーバー側でリクエストURLが書き換えられる
http://example.com/blog.php?category=programming&title=PHPはじめました!

WebサーバーソフトウェアにApacheを利用しているの...続きを読む

Qセキュリティの高い会員登録方法について

会員登録をどういう実装にしたら良いのか悩んでいます。
セキュリティの鉄則で、ログイン前にセッションIDは発行しないというのを見かけました。
そこで2点質問です。

1.会員登録にセッションを使用しても大丈夫でしょうか?
2.会員登録は不正なメールアドレス入力を避ける為、
一度仮登録メールを送るべきでしょうか?

試行錯誤した結果、以下パターンのいずれかにしようと思いますが、PCサイトで一般的なパターンとしてどちらが望ましいでしょうか?

■パターン1
1.会員登録(フォーム情報はセッションに保存する)
○メリット:ブラウザの戻るを行っても入力状態が残っている
2.会員登録確認メール(キーとなる引数をセット)
3.メールのURLをクリックすると会員登録完了セッションを再生成?し会員状態となる。

■パターン2
1.会員登録(フォーム情報はHIDDENで持ちまわる)
×デメリット:ブラウザの戻るで入力状態が消える場合がある。
○メリット:ログイン前にセッションIDを再生成しなくて済む
2.会員登録確認メール(キーとなる引数をセット)
3.メールのURLをクリックすると会員登録完了セッションを生成し会員状態となる。

会員登録をどういう実装にしたら良いのか悩んでいます。
セキュリティの鉄則で、ログイン前にセッションIDは発行しないというのを見かけました。
そこで2点質問です。

1.会員登録にセッションを使用しても大丈夫でしょうか?
2.会員登録は不正なメールアドレス入力を避ける為、
一度仮登録メールを送るべきでしょうか?

試行錯誤した結果、以下パターンのいずれかにしようと思いますが、PCサイトで一般的なパターンとしてどちらが望ましいでしょうか?

■パターン1
1.会員登録(フォーム情報は...続きを読む

Aベストアンサー

がると申します。

セッションについては「ログインを伴わない一時的セッション」と「ログインを伴うセッション」を明確に区別しておけば問題はないかと。
ただ、PHPのセッション関数は個人的には実装が非セキュアであると思っておりますが(なので私は別途、実装をしています)。

メールについては「一度仮登録メールを送る」ことで不正なメールアドレス入力はある程度避けられるかと思います。
ただ、そうすると次は「それを用いてメールボムその他」のアタックが考えられますので、そのあたりについては考察をしておいて損がないかと思います。

QPHPの勉強 会員登録サイトを作りたい

お世話になります。
現在WEBデザイナとして仕事をしているのですが、本格的にPHPの勉強を始めようと思っています。

本を買って勉強してもなかなか続かなくて。。。

会員登録できて、会員ページごとにマイページがあって・・・・

すごくおおざっぱですがそんなサイトを作りたいと思っていますが、オススメの勉強方や、読みやすい本があったら教えて下さい。

ちなみに最近やっと配列を使ってファイルから読み書きできるようになったぐらいです。
他の言語はJavascriptを少し(こちらも配列使って書くぐらい)です。

Aベストアンサー

デザイナーさんの方は、良くCMSを使って勉強する方が多いように思います。

OpenPNE
Wordpress
MovableType
Xoops

この辺りでしょうか。
人によって違うと思いますが、Scriptに直接入る方もいるかと思います。

QQ&Aサイトを会員登録制にするメリット

ここのようなQ&Aサイト(Yahoo知恵袋やLivedoorナレッジ)を見てみると、質問の登録や回答は会員登録必須になっています(閲覧は非会員でも可能ですが)

例えば、会員登録不要で質問・回答が可能になれば、もっと書き込みが増えてサイトも盛り上るのでは?と単純に考えてしまうのですが・・・
会員登録制にするメリットは何でしょうか?

今度Q&Aサイトの構築をすることになったのですが、会員登録というシステムを付加するかどうか検討中の為、質問させていただきました。
このシステムをつけるかつけないかで大きく作業も変わりますので・・。

皆様の意見を聞かせて欲しいです。

Aベストアンサー

一般的に会員登録の為には、色々な規約や使い方等を了解しないと登録出来ません。
1、後のトラブル等の際に管理者側の責任が回避出来る場合が有る。
2、使用方法や規約違反の場合にその利用者を排除出来る(別名で再登録等も可能では有りますが)。
3、管理者からの色々なお知らせや営業活動が可能。
4、会員登録することで、連帯感が生まれる・・・!?

ですかね・・・!

会員登録不要で質問・回答が可能になれば、もっと書き込みが増えてサイトも盛り上るのでは?←誰でも書き込み可能にすると、Q&Aに関係の無い内容を書き込まれる可能性が高く成るので荒れると思います。その際に、それを全部削除するのは大変ですよ。
登録制のこのサイトでも多少は有るので、非登録だと多いと思います。

QPHPで会員サイトを作りたい!いい本ありませんか?

いろいろ本を探して、購入もしたのですが、会員サイトを作るための方法は書かれていませんでした。

PHP自体は初心者ですが、他の言語はいくつか知っていますので、参考書があれば作れるかと思っています。

ぜひ教えてください!

Aベストアンサー

言語ではなく「システム設計」の問題のように思えますが、違いますか?「こういう機能の実装の仕方がわからない」などであれば、言語固有の問題でいいんでしょうけど・・。

>他の言語はいくつか知っていますので、

数多の言語と同様です。「phpだから」という部分はありません。セッションの使い方などはマニュアルに書かれてますし、購入した書籍でもわかりますよね?

  http://www.php.net/manual/ja/ref.session.php

もう少し具体的な問題に絞られたほうがいいと思います。少なくとも「会員サイト」だけではイメージも掴めませんし、設計自体は他言語での経験が活かせると思います。webの仕組みは同じですから。

QWebサイトの会員仮登録について

Webサイトを構築したいのですが、会員登録機能で実現方法がわからないところがあります。
一般的なWebサイトの会員登録作業は以下のような流れになると思います。

1.会員登録フォームから情報入力
2.サーバから入力アドレスへメール送信
3.メールのURLへアクセス
4.会員登録完了

2のメールには、あるページのURLと何かのID番号がついていますが、これをどうやって1.で入力した会員とつなげるのでしょうか?
開発言語はPHPです。

Aベストアンサー

会員情報データベースを介して認証すると良いでしょう。

1.では、フォームから入力したデータをデータベースに書き込む際に、自動生成した会員番号と一緒に、ユニークな認証コード文字列を生成し、データベースに書き込みます。この時、メール認証を済ませたかどうかのフィールドも用意し、1の時点では「未認証」の状態で書き込みます。あと、フォームから入力された希望アカウント名、パスワードも、ここで書き込みます。
例えば、認証コード文字列は「3d674a7b21f5749f5756f7ab3cd69d12」などのように、他と重複しない、完全なランダム文字列にします。他と重複しているかどうかは、会員情報データベースから検索し、その認証コード文字列がデータベースに既存かどうかで調べる事になるでしょう。

2.では、メール送信の際に、認証ページのURLを送信しますが、この認証ページのURLに、1で生成した認証コード文字列を含めます。実際には、1と2の処理は同時に1つのCGIで行う事になるでしょう。

3.では、アクセスされたURLを元に、URLから認証コード文字列を取り出します。その認証コード文字列で会員情報データベースを検索します。そして、最終的な認証画面に進む際に、1で入力させたアカウント名、パスワードを再度入力させ、データベース上のアカウント名、パスワードと一致した場合のみ、データベースのメール認証を済ませたかどうかのフィールドを「認証済」に変更します。

なお、定期的にデータベースのメール認証を済ませたかどうかのフィールドを検査し、仮登録から一定期間を過ぎても「未認証」のままの場合、そのレコードをデータベースから削除します。

会員情報データベースを介して認証すると良いでしょう。

1.では、フォームから入力したデータをデータベースに書き込む際に、自動生成した会員番号と一緒に、ユニークな認証コード文字列を生成し、データベースに書き込みます。この時、メール認証を済ませたかどうかのフィールドも用意し、1の時点では「未認証」の状態で書き込みます。あと、フォームから入力された希望アカウント名、パスワードも、ここで書き込みます。
例えば、認証コード文字列は「3d674a7b21f5749f5756f7ab3cd69d12」などのように、...続きを読む

Q現在php(php5)とDB(MySQL)の勉強として情報管理システム

現在php(php5)とDB(MySQL)の勉強として情報管理システムを作成しているのですが,
認証機能でつまづいています.


私が認証機能を使いたいのは以下の場面です.

? 利用者がログインする場合
 ただし,利用者側と管理者側を区別できるようにする

? パスワードを変更したい時,パスワード変更画面へログインする場合


?は,PearのAuth_HTTPモジュールを利用して,DBに登録してあるidとパスワードを組み合わせてBasic認証をするところまでできました.(管理者側のみ)

これで出来たと思ったのですが・・・
Basic認証はwebブラウザを閉じるまでログイン状態が続いてしまうので,他に認証を使いたい場面で認証の意味がなくなってしまいました;
(すでにログイン状態なので簡単に入れてしまうんです;)

1度ログインした状態で,さらに認証機能をつけるにはどうすればよいでしょうか?

現状をうまく説明できていなかったらすいません.
php,DBともに初心者なので単純な質問かもしれません;
よろしくお願いします.

現在php(php5)とDB(MySQL)の勉強として情報管理システムを作成しているのですが,
認証機能でつまづいています.


私が認証機能を使いたいのは以下の場面です.

? 利用者がログインする場合
 ただし,利用者側と管理者側を区別できるようにする

? パスワードを変更したい時,パスワード変更画面へログインする場合


?は,PearのAuth_HTTPモジュールを利用して,DBに登録してあるidとパスワードを組み合わせてBasic認証をするところまでできました.(管理者側のみ)

これで出来たと思ったのですが...続きを読む

Aベストアンサー

Basic認証にはログアウトという仕組みがないですからね
セッションを使った認証をしてみてはどうでしょうか?


人気Q&Aランキング

おすすめ情報