くだすれPHP(超初心者用)5

このエントリーをはてなブックマークに追加
952nobodyさん:2009/03/04(水) 13:51:26 ID:???
ブラウザを開いていたら、ログインしてる。
ブラウザを閉じたら、ログインしてない。

これでいいのかな?
953nobodyさん:2009/03/04(水) 15:47:05 ID:???
ログインしている = ログイン後ログアウトしていない
954nobodyさん:2009/03/04(水) 21:10:09 ID:???
ログインしたらセッションを生成、ログアウトしたらセッションを破棄。
セッションの最も一般的な使い方。

自分で実装するならこんな感じ。

1.ユーザーがログインフォームにパスとIDを打ち込む
2.リクエストを受けたサーバーは、パスワードを照合。
 あってたら、ランダム文字列をクッキーとしてユーザーに送りつける。
 同時に、この値とユーザーのIDをセットにしてどこかに保存しておく。
 一番シンプルなのは、クッキーの値をファイル名にして、中にユーザーID書き込んでおくとか。
((((((10年後))))))
3.ユーザーがアクセス時にクッキーを送りつけてくるので、そのファイルを探す。
 あったらそいつはログインしているユーザー。
 ファイルの中身を読み、ユーザーのIDを(=ユーザーが誰かを)特定し、処理を続ける。

この「クッキーを発行し、クッキーを送りつける」「ファイルがあるか確認する」をやってくれるのがPHPのセッション。
ファイルの中身がセッション変数に当たる。
955nobodyさん:2009/03/05(木) 00:53:07 ID:Rp65yYdP
FlashDevelopみたいな補完機能が超強力なphpエディタってない??
956nobodyさん:2009/03/05(木) 01:23:02 ID:???
出席簿みたいのを作りたいんですよ。

ブラウザを開いている間は、出席している。
ブラウザを閉じたら、退席した。

こういうロジックで、セッションを使って実装するのは
どうしたらいいですか?

フォームにIDとパスワード入れてログインするとかじゃなくてです。

IPアドレスだけで実現したいのです。
957nobodyさん:2009/03/05(木) 01:53:13 ID:???
セッションが存在したら出席,
セッションが存在しなかったら退席
でいいんじゃないの?
958nobodyさん:2009/03/05(木) 02:12:34 ID:SpoYISjY
あまり意味のない事かもしれませんが、同一の接続IDを使って
mysql_query()とmysqli_query()を混在させたり、
mysql_query()で問い合わせてmysqli_close()でクローズしたりする事は
可能でしょうか? 教えてください。

以下のページでは、mysqli_*()ではオブジェクトAPIを使用すると説明がありますが、
mysql_connect()はコネクションを再利用するが、mysqli_connect()は常に新規にコネクションを取得するように
connect以外でもmysql_*()とmysqli_*()では、動きが異なるようなものだったりするのでしょうか?

ttp://d.hatena.ne.jp/taiju1225/20080509/1210305274
959nobodyさん:2009/03/05(木) 08:44:27 ID:???
学習1ヶ月程度の初心者です、よろしくお願いします。
入門本に、header("location:url")のみでリダイレクトされた先のスクリプトで、
$_GET["キー"]で値をとれていますが、GET送信の場合は値を
?で付けていかなければ駄目ですよね?
送り元は自身にPOSTでは値を送っています。
そして送り元も送り先もセッションでは値を送受信していますが。

960nobodyさん:2009/03/05(木) 08:54:13 ID:???
意味不明なのでもう一度書き直してくれ
961nobodyさん:2009/03/05(木) 08:57:21 ID:???
その程度の話、意味がわかるように書けたら答え出るだろ。
質問のふりして、入門本に文句つけてるだけじゃね?
962nobodyさん:2009/03/05(木) 08:59:23 ID:???
意味不明なのでもう一度書き直してくれ
963nobodyさん:2009/03/05(木) 09:01:52 ID:???
おれも、自分で書いた後そう思ったw
964nobodyさん:2009/03/05(木) 10:47:36 ID:???
<?php
$a=0.97075300;
$b=0.97083700;

$c=$b-$a;

print $c;


?>

これを実行すると、

8.4E-5

とかって、出てきます。
Eとか不愉快なんで、ちゃんと数字で
結果を表示したいのですが、どうすればいいですか?
965nobodyさん:2009/03/05(木) 10:59:16 ID:???
なんで下スレから移動してんの?
966959:2009/03/05(木) 11:27:28 ID:???
書き直します。
header("location:url")でリダイレクトされた先のスクリプト内では、
$_GET["キー"]で値をとれています。
しかしheader内のurlの後に「?キー=値」は付けていません。
GET送信で値を送る時にはURLの後に値を付け足すとしか知識がありません。
headerで送り出す元となるスクリプトでは自身にPOST送信してあるのみです。

967nobodyさん:2009/03/05(木) 11:30:22 ID:???
GETは環境変数QUERY_STRINGだから処理しても変数値は消えない
POSTは標準入力だから一度読み込み処理したらお終い
968nobodyさん:2009/03/05(木) 11:43:15 ID:???
<?php

$a=0.97075300;
$b=0.97083700;
$c=$b-$a;
$d=sprintf("%.f", $c);
print $d;



?>

これを実行すると、
0.000084
ってなるんだけど、
0.000084秒
かかった、って理解でいいの?
969nobodyさん:2009/03/05(木) 11:54:10 ID:???
マルチかコピペか、どっちにしても無意味。
質問になってないしw
970nobodyさん:2009/03/05(木) 12:00:28 ID:???
またいつもの基地外君か
971959:2009/03/05(木) 13:57:59 ID:???
>>967
調べるキーワードを教えてもらって有難うございます。
972nobodyさん:2009/03/05(木) 20:30:31 ID:???
>956
ブラウザを閉じた事を検知する手段は存在しない。
無理やりやるなら、JavaScriptで10秒おきとかにリクエストを送って、それが切れたらブラウザを閉じた、という事にするくらいかな。

問題は誰かを特定するほう。一般論を言うと、IPアドレスと、それが誰かを紐付ける手段は存在しない。
つうかそんなもんあったらプライバシー上の大問題になる。
学校とかのどのPCを誰が使うか決まっている環境で、固定IPならば可能かな。
俺なら初回アクセスの1回だけログインさせてクッキー(セッション)を発行し、以降はそれで個人識別する。
成りすましが問題にならない案件ならこれでじゅうぶん。1月ごとに再ログインさせる必要はあるが。
(寿命が一ヶ月以上のクッキーは発行できないため。技術的制約)
973nobodyさん:2009/03/05(木) 21:11:25 ID:???
1年以上のクッキーも余裕で発行できるだろ?
974nobodyさん:2009/03/06(金) 02:54:24 ID:???
再読み込みの際にわかればいい程度です。

セッションの存在を検知するには、
どの関数を使えばいい?
975nobodyさん:2009/03/06(金) 03:31:29 ID:???
セッション変数
976nobodyさん:2009/03/06(金) 08:41:52 ID:???
jpgraph が使えない
なんで?
977nobodyさん:2009/03/06(金) 09:03:01 ID:???
JpGraph Error: HTTP headers have already been sent

ってなる
978nobodyさん:2009/03/06(金) 09:03:57 ID:???
http://www.phpbook.jp/jpgraph/install/index3.html

このページの通りにやっているのに、、、
なんで、、、?
979nobodyさん:2009/03/06(金) 09:16:02 ID:???
>>977
BOMかな
980nobodyさん:2009/03/06(金) 13:54:17 ID:???
header関数でリダイレクトした時に、元のスクリプトに送ってたパラメータ
(例えばテキストボックスで送った値)はそのままで、locationの値だけが変わるのですか?
981nobodyさん:2009/03/06(金) 14:25:37 ID:???
>>980
GET値なら、変えて記述すれば変わる。
何もしなければ、リダイレクト先には渡らない。
982nobodyさん:2009/03/06(金) 16:07:33 ID:???
携帯からオリコン情報を確認するのに
ttp://www.oricon.co.jp/js/dayrank.js
から読み取りたいのですが「Resource id #3」
と出てしまいます。

どうすれば読み込めるようになるのでしょうか教えてください
983nobodyさん:2009/03/06(金) 16:36:10 ID:???
>>981
有難うございます。
984nobodyさん:2009/03/06(金) 22:26:30 ID:???
>>982
fopenでもしてるの?
freadなりfgetsなりすればok
でもjavascriptの代入文のような気もするけど
985nobodyさん:2009/03/07(土) 12:32:29 ID:???
phpでスクリプトを組んでいるんですけど、一般のフォームのファイル選択フォームで2MB以上のファイルをOPENしようとすると
サーバーがエラーを出します。2MB未満だと問題ないのですが・・・
phpinfoを見ると
post_max_size 8M 8M
upload_max_filesize 10485760 8M
にはなっています。
どうすれば2MB以上のファイルをアップロード出来るようになるのでしょうか?
986nobodyさん:2009/03/07(土) 13:04:50 ID:???
サーバエラーのコード番号が重要だろwwwwww
なぜ書かないwwww
987nobodyさん:2009/03/07(土) 13:12:21 ID:???
>>985
php.confもいじらんと駄目
988nobodyさん:2009/03/07(土) 13:16:24 ID:???
エラーコードは出ずに、単純に「ページを表示できません。」のエラーが出るだけです。
ちなみにIEです。
Firefoxでやっても同じ結果でした。
989nobodyさん:2009/03/07(土) 13:28:28 ID:???
ttp://hiroqli.blogspot.com/2007/12/keepass.html
ここに書かれているphpの文字列はなんというソフトを使って実行するのが簡単でしょうか?
990nobodyさん:2009/03/07(土) 19:42:34 ID:???
pearのモジュールをインストールするときに、
-aオプションと、-oオプションとあるじゃん。

これってどう違うの?
991nobodyさん:2009/03/08(日) 02:10:40 ID:???
-a, --alldeps
install all required and optional dependencies
必須モジュールとオプションモジュールまとめて全部持ってくる

-o, --onlyreqdeps
install all required dependencies
必須モジールだけもってくる

ってことじゃない?
オプションモジュールが無ければ、どっちでもかまわないんだろうね
992nobodyさん:2009/03/08(日) 16:08:41 ID:???
すみませんが、質問です。

Yahoo JAPAN ショッピングのWEB APIを扱うPHPのライブラリはないでしょうか?
・Yahoo!デベロッパーネットワーク - ショッピング
http://developer.yahoo.co.jp/webapi/shopping/

PEARにはそういうライブラリはありませんが、
・Manual :: Web サービス
http://pear.php.net/manual/ja/package.webservices.php

楽天の場合、自作して配布している人がいました。
・楽天オークション系対応−PEAR::Services_Rakuten-0.2.2リリース | Shin x blog
http://www.1x1.jp/blog/2007/12/services_rakuten_022.html

Yahoo JAPAN ショッピングで、似たようなものがあれば助かるのですが、
どなたか心当たりの方、お教えいただけないでしょうか?
993nobodyさん:2009/03/08(日) 18:22:12 ID:???
>>991
オプションモジュールってのは、
つけても、つけなくても、大差ないけど、
できればあったほうがいいモジュールって意味かな?
994nobodyさん:2009/03/08(日) 19:02:37 ID:???
教科書でHTML_QuickFormってのを発見して、
試してみたら、すでに時代遅れで、
今は、HTML_QuickForm2になっているんだと。
995nobodyさん:2009/03/08(日) 19:51:51 ID:???
セッションというのは、IPアドレスに対して
発行されるもの?
996nobodyさん:2009/03/08(日) 20:12:53 ID:???
違うということだけ言っておく
997nobodyさん:2009/03/08(日) 20:18:43 ID:???
セッションを取得して、IPを変えたら、
そのセッションはどうなるの?
998nobodyさん:2009/03/08(日) 20:19:28 ID:???
どうもならん
999nobodyさん:2009/03/09(月) 10:13:44 ID:???
NAT環境で別のPCが同じIPアドレスの場合のほうが気にならんか?
1000nobodyさん:2009/03/10(火) 09:58:21 ID:???
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。