トップページphp
1001コメント262KB

【PHP】下らねぇ質問はID出して書き込みやがれ 119

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/05/16(水) 21:44:16.40ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 118
http://kohada.2ch.net/test/read.cgi/php/1335198562/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0012nobodyさん2012/05/17(木) 17:34:21.64ID:bDg6r38R
質問です。
http://example.com/hoge.phpのphpプログラムを実行した後に
ブラウザ上のURL表記を
http://example.com/huga.phpに変更したいです。

検索するとmod_rewriteを使用する記事がたくさん出てきますが
これらはhoge.phpの処理を行う前にURLを変更するものなので
望んでいる結果と違うのです。

よろしくお願いいたします!
0013nobodyさん2012/05/17(木) 17:45:37.33ID:???
>>12
ヘッダで外部リダイレクトしてやる

<?php
/* 処理 */
header('Location: http://example.com/huga.php');
0014nobodyさん2012/05/17(木) 17:53:46.19ID:???






もうこんんんんんんんんん
0015nobodyさん2012/05/18(金) 11:41:13.70ID:MiWgFl90
2つ同じスレがありますが、こっちの方が上にあったのと、もう一方は削除依頼中とか書かれていたのでこちらに書きます

自分はSmarty3を使っているのですが、
フォーム登録用のa.php(a.tpl)から、フォーム処理用のb.phpを通し、フォーム登録結果のc.php(c.tpl)という処理をJS(jQuery)のAjaxにて処理したいと考えています
しかし、a.tplからc.tplは簡単に考え付きますが、b.tplという処理を挟んだ場合どのようにすればいいのか分かりません
b.phpでc.phpにリダイレクトというのが普通だと思いますが、リダイレクトした場合、a.tplからc.tplはAjax処理ではなくなるのではないかと思います

プロセスのアイデアが浮かばないのですが、だいたいどのようなプロセスを記述すればいいのかフローで教えて頂けないでしょうか?
宜しくお願いします
0016nobodyさん2012/05/18(金) 13:37:25.01ID:???
なんでAjaxにこだわるの?
0017nobodyさん2012/05/18(金) 13:44:34.24ID:???
かっちょいいからでしょ
0018nobodyさん2012/05/18(金) 13:46:02.78ID:???
b.phpをリダイレクトにしてb.phpをAjaxで取得するとどうなるか試してもいないんだろ
0019nobodyさん2012/05/18(金) 13:48:40.75ID:???
a.phpから、b.phpにフォーム内容なりを飛ばして登録処理して、(b.tplは出番なし)
問題なければ c.phpから c.tplを適用したhtmlを取得して
表示書き換えてやればいいだけだろ? 
0020nobodyさん2012/05/19(土) 01:43:28.23ID:???
気持ちいいだろ?
0021nobodyさん2012/05/19(土) 06:33:47.77ID:???
ワイルドだろ?
0022nobodyさん2012/05/19(土) 07:58:11.94ID:Ewb+f/2P
session_startを実行して
$_SESSIONに値を保存した場合、
この値が保存されている期間っていうのはいつまでですか?
PHPSESSIDのクッキーが有効な間ですか?
つまりこのクッキーの有効期間を一週間にしておけば、
あるユーザが一週間前にアクセスした時に保存しておいた値も
一週間以内ならそのユーザがまたサイトにアクセスしたときに呼び出せるってことでしょうか?
0023nobodyさん2012/05/19(土) 08:00:16.67ID:???
Cookieの有効期間
セッションの有効期間
0024nobodyさん2012/05/19(土) 08:00:44.60ID:Ewb+f/2P
その$_SESSIONの値をユーザがログアウトしたときなどに削除したいときは、
session_destroyを実行すればすべて消えるんでしょうか?
こんなことせずにクッキーだけ削除すればよいのでしょうか?
お願いします。
0025nobodyさん2012/05/19(土) 08:03:18.75ID:???
>>23
クッキーとセッションの有効期間は別で設定されてるってことですか?
でもクッキー消してしまえば、どのユーザがアクセスしてきたのか判別できなくなるので、
実質$_SESSIONの値にはアクセスできなくなりますよね?
でも$_SESSIONの値は残ったままなんですか?
セッションの有効期間が消えるまでサーバにその値に関するファイルとかが残ってたりするんでしょうか?
0026nobodyさん2012/05/19(土) 08:15:58.60ID:???
セッションがどのくらいの期間残ってるか
セッションファイルのディレクトリを見てみれ
0027nobodyさん2012/05/19(土) 08:26:10.48ID:???
今調べられる環境じゃないので、できれば回答だけ教えてください
0028nobodyさん2012/05/19(土) 09:32:00.43ID:???
これが答えなんだわ。

> Cookieの有効期間
> セッションの有効期間

質問大杉だから何を聞きたいのか絞れ。
少しは自力で調べろ。
0029nobodyさん2012/05/19(土) 14:00:37.12ID:???
クッキーの使えない携帯でもセッション使えるよ。
0030nobodyさん2012/05/19(土) 14:06:27.02ID:???
つまり質問がおかしい
0031nobodyさん2012/05/19(土) 14:41:30.54ID:???
たしかに詰め込みすぎだな
0032nobodyさん2012/05/19(土) 15:00:55.48ID:???
>>27
セッションの初期化時に、session.gc_probability/session.gc_divisorの確率でgcが起動して、
gcは作成(最終更新)からsession.gc_maxlifetimeを超えたセッションを削除する
(初期設定では、1/100の確率で24分以上古いセッションは削除される)
あと、セッションクッキーの寿命は、session_cookie_lifetimeで設定される(初期設定は0、つまりブラウザ閉じると消える)
0033nobodyさん2012/05/19(土) 15:44:13.42ID:Ewb+f/2P
皆さんありがとうございます。
ぶっちゃけやりたいことはログインの継続処理です。
ブラウザ閉じてもログインを継続したままにしておきたいんです。

前回アクセス時に$_SESSIONに保存しておいた値を取り出すには、
ブラウザを閉じなければ保存されているので取り出せますが、
ブラウザを閉じたあとでもその値を取り出すにはどうすればよいのですか?

クッキーの有効期限を延ばせばいいのか、
セッションの有効期限を延ばせばいいのかよくわかりません。

0034nobodyさん2012/05/19(土) 15:49:27.40ID:Ewb+f/2P
もしかして、setcookieで

setcookie('PHPSESSID',$_SESSION['PHPSESSID'],time() * 7 * 24 * 3600);

とかですか?
0035nobodyさん2012/05/19(土) 17:32:58.09ID:???
>>34
それは自分でCookieを発行する場合な
セッションで使用するCookieはPHPが勝手に面倒を見る
やるべき事はクライアント側のCookieとサーバー側のセッションの保存期間の設定だ
http://www.php.net/manual/ja/session.configuration.php#ini.session.cookie-lifetime
http://www.php.net/manual/ja/session.configuration.php#ini.session.gc-maxlifetime
0036nobodyさん2012/05/19(土) 18:54:22.45ID:???
>>33>>34
sessionとsessionクッキーの寿命を長くしてもできるけど、その用途ならそもそもsession使わないで、
ふつうにcookie設定してやればいいんじゃない
0037nobodyさん2012/05/19(土) 19:12:22.55ID:H1F654FY
class A
{
public function e()
{
return 100;
}
}

$obj = new A();
a($obj);


function a(&$o) {
echo $o->e();
}

これの&の意味を教えてください
0038nobodyさん2012/05/19(土) 19:14:21.80ID:???
&がないとどうなるか確認したか?
0039nobodyさん2012/05/19(土) 19:15:06.34ID:H1F654FY
結果は同じです
0040nobodyさん2012/05/19(土) 19:15:41.14ID:???
なくていい
0041nobodyさん2012/05/19(土) 19:25:51.84ID:???
ここも知恵袋もバカな回答者しかいなくてフイタ
0042nobodyさん2012/05/19(土) 19:28:08.46ID:???
>>37
$str = "str";
hoge($str);
echo $str;

$str = "str";
fuge($str);
echo $str;

function hoge($s){
$s = "foo";
}

function fuga(&$s){
$s = "boo";
}
0043nobodyさん2012/05/19(土) 19:30:43.75ID:???
バカ言語だからしょうがない
0044nobodyさん2012/05/19(土) 19:59:03.71ID:???
バカ言語はほっといてドラゴンボールでも探してこいよ
0045nobodyさん2012/05/19(土) 20:14:47.98ID:???
また戻ってきたか
監視対象なのに全く反省してないな
0046nobodyさん2012/05/19(土) 20:20:26.89ID:???
>>37
参照渡し
例えばこの関数
http://www.php.net/manual/ja/function.shuffle.php

$a = array(1,2,3,4,5);
shuffle($a);
print_r($a);

もしshuffleが参照渡しじゃなかった場合返り値を配列にして
$a = array(1,2,3,4,5);
$a = shuffle($a);
print_r($a);

このようなコードになるでしょうね
0047nobodyさん2012/05/19(土) 20:25:01.49ID:???
監視ですって
0048nobodyさん2012/05/19(土) 20:28:22.22ID:???
監視ですよ
今は薬物売買の件でそれどころじゃないみたいだけど
2chが潰れるかどうかの瀬戸際か
0049nobodyさん2012/05/19(土) 20:34:06.03ID:Ewb+f/2P
>>35
なるほど!
こんなパラメータあったんですね。
これを適切な値にしてやれば、
クッキーや$_SESSIONに保存された寿命がその通りになるってことですよね。

>>36
クッキーで毎回個別に設定するってことですか?
$_SESSIONに保存したい変数は結構数がありそうなんで毎回セットしてる面倒臭そうです。
それと$_SESSIONに保存する値は、結構重要な値なので、
クッキーに保存するよりも誰もアクセスできない$_SESSIONに保存しておくほうが安全だと思うんですがどうでしょうか?

とにかくお二人ともありがとうございます。

0050nobodyさん2012/05/19(土) 20:40:12.17ID:???
クッキーに重要な
情報を入れるな
0051nobodyさん2012/05/19(土) 20:52:13.49ID:???
クッキーは安全です
ただクッキーが漏れる原因になるXSSには気をつけてコーディングしてくださいね
$_SESSIONが誰もアクセスできないかというとそうではない
共有サーバの場合特に何も設定してないとtmpに作成されるので
tmpに共有サーバの他ユーザがアクセスできるような環境だと以下略
0052nobodyさん2012/05/19(土) 20:58:45.71ID:Ewb+f/2P
>>50
ですよね

>>51
安全なんですか
共有サーバなので$_SESSION使わないほうがいいのかなぁ
tmpのアクセス権がどうなってるのか調べたほうが良さそうですね。

う〜んどっち使うか迷うな・・・
0053nobodyさん2012/05/19(土) 21:23:30.70ID:???
>>52
逆に共有サーバで提供するくらいのものならそこまで突き詰めないでいいんじゃないだろうか。
そこまでこだわるなら自もちのサーバにするのを優先したほうが・・
0054nobodyさん2012/05/19(土) 21:26:47.55ID:???
>ぶっちゃけやりたいことはログインの継続処理です。
>ブラウザ閉じてもログインを継続したままにしておきたいんです。

とりあえずこの実現にセッションはまったく関係ないとだけ言っておく
0055nobodyさん2012/05/19(土) 21:43:35.94ID:???
玉石混淆
0056nobodyさん2012/05/19(土) 21:48:24.91ID:???
>>52
そのために session.save_path がある
どうせセッションを使わなくても同じものを自分で再発明する事になるんだからあるものを使おう
他にも session.cookie_path やら目を通しておくべき事があるから
マニュアルは一通り読んでおこう
http://www.php.net/manual/ja/session.configuration.php
0057nobodyさん2012/05/19(土) 22:03:09.89ID:Ewb+f/2P
皆さんありがとうございます。

ログイン処理というものがどういうものか分かってないのかもしれません。
正直一般的な方法がまったくわからないので、
クッキーがあるかどうかをチェックして、
あるならいろいろなサービスが利用できるログイン時の画面を表示するのかな?
っていう完全な推測からこういう質問をしました

もうちょっとマニュアルやら目を通した方がよさそうですね
0058nobodyさん2012/05/20(日) 01:37:04.03ID:???
phpにできないことはない
0059nobodyさん2012/05/20(日) 03:05:24.99ID:???
クライアント1
サーバに接続する。

サーバ1
クライアントとのセッションを開始する。
セッションにログイン済みを示す情報がなければログイン画面を出す。
(以降クライアントから要求があった場合、
ログイン済みを示す情報がセッションにあるかを毎回チェックして、
ログイン画面かログイン後の画面どちらを出すか決める)

クライアント2
ログイン画面にIDやらパスワードを入れてログインする。

サーバ2
データベースやらに入ってるログイン情報に照会してOKなら、
セッションにログイン済みを示す情報を書き込み、ログイン後の画面を出す。
NGならサーバ1へ戻る。

クライアント3
ログアウトする。

サーバ3
セッションを破棄する。
0060nobodyさん2012/05/20(日) 05:15:18.36ID:BL6kJqvb
$x=a b c d;
$y=あ い う え;

半角空白で区切りがあります。
この場合に

$z=aあ aい aう aえ bあ bい bう bえ cあ cい cう cえ dあ dい dう dえ;

このような結果を導くにはどうすれば良いのでしょうか。
よろしくお願いします。
0061nobodyさん2012/05/20(日) 05:24:05.47ID:???
もっと具体的な法則を
4つずつなのか
"abcd"もしくは"あいうえ"の4文字だから4つなのか
0062nobodyさん2012/05/20(日) 05:36:47.21ID:BL6kJqvb
>>61
法則は半角空白で区切ってある文字列ってだけで

$x=ahあうういolhohi hあohohp hoh9o hいohohohoいhohoho gighgおおおooho hohえoihjyh;
$y=ahooy jepjp hpop lhjpjo hoho;

こんな場合もあります。その場合だと最初に求められる結果は

$z=ahあうういolhohiahooy ・・・以後続く となります。

半角空白を区切りに総当り?とでも言いましょうか
情報小出しになってしまってすみません。
よろしくお願いします。
0063nobodyさん2012/05/20(日) 06:05:43.58ID:???
小出しにするなクズ
0064nobodyさん2012/05/20(日) 06:21:08.22ID:???
>>62
デカルト積が欲しいのか

<?php
$x = explode(' ', 'A B C D');
$y = explode(' ', 'a b c d');
$z = array();
foreach ($x as $xi) { foreach ($y as $yi) { $z[] = $xi . $yi; }}
echo implode(' ', $z);
0065nobodyさん2012/05/20(日) 09:25:25.19ID:BL6kJqvb
ありがとうございます。
期待通りの動作を得る事ができました。

事後にデカルト積で調べても、>>64より良い答えがみつかりませんでした。
本当に有難うございます。
0066nobodyさん2012/05/20(日) 09:29:50.91ID:nGy7/bON
>>59
昨日の者です。
すっごいわかりやすいです!
ありがとうございました!
0067nobodyさん2012/05/20(日) 12:24:25.97ID:???
>>66
phpはすごいだろ! phpにできないことはない。
0068nobodyさん2012/05/20(日) 14:35:22.46ID:???
隔離スレから出てこなくていいよ
0069nobodyさん2012/05/20(日) 16:29:56.70ID:???
phpでオススメのアプリケーションサーバーを教えてください。
0070nobodyさん2012/05/20(日) 16:32:12.53ID:???
PHP -S
0071nobodyさん2012/05/20(日) 19:23:01.82ID:???
XAMPAN
0072nobodyさん2012/05/20(日) 19:54:56.15ID:???
というかPHPでアプリケーションサーバー作ったらどう?
0073nobodyさん2012/05/20(日) 20:01:07.95ID:???
PHPなら1行で書ける
0074nobodyさん2012/05/20(日) 20:13:51.68ID:???
ほんとここの住民はレベルが低いよな
他の言語スレで話についていけないような奴ばっかり
0075nobodyさん2012/05/20(日) 20:23:30.63ID:???
C言語でサーバーは作れる。
Java言語でもサーバーが作れる。
ということはPHPでもサーバーが作れる。
0076nobodyさん2012/05/20(日) 21:31:34.06ID:???
PHPでカワイイは作れますか?
0077nobodyさん2012/05/20(日) 22:16:59.78ID:???
スパゲッティならたまに作る
0078nobodyさん2012/05/20(日) 22:20:49.18ID:???
カワイイ娘が作るスパゲッティは最高だよな
0079nobodyさん2012/05/20(日) 22:44:57.59ID:???
自演の馴れ合いは隔離スレでどうぞ
http://kohada.2ch.net/test/read.cgi/php/1337174717/
0080nobodyさん2012/05/20(日) 22:51:25.39ID:???
PHPを使っても俺を止められないだろう?
0081nobodyさん2012/05/20(日) 23:28:48.14ID:???
phpでサーバーを作るためにはまずCをphpで実装すること。
それからphpで実装したCでApache HTTPなんかを作ればいい。
0082nobodyさん2012/05/21(月) 11:46:52.80ID:R1JB64xy
スーパーグローバル変数を作りたいのですが
どうしたらよいでしょうか
0083nobodyさん2012/05/21(月) 11:53:34.13ID:???
ヘルプをみましょう
0084nobodyさん2012/05/21(月) 11:59:01.22ID:???
>>83
ヘルプを見てもスーパーグローバル変数の作り方は書いて無いよ
0085nobodyさん2012/05/21(月) 12:06:27.31ID:???
ID
0086nobodyさん2012/05/21(月) 12:08:16.90ID:???
スーパーサイヤ人なら
0087nobodyさん2012/05/21(月) 12:09:03.76ID:???
C読めない奴はPHP使うな
0088nobodyさん2012/05/21(月) 12:12:05.19ID:???
他言語の話をすると機嫌が悪くなるクズの出番
0089nobodyさん2012/05/21(月) 14:07:42.58ID:???
質問したいことがあるけどここのクズには答えられそうにないから困ったな
0090nobodyさん2012/05/21(月) 14:17:46.28ID:???
そいつは困ったね
0091nobodyさん2012/05/21(月) 14:18:01.65ID:???
自分で解決できないクズのくせに何言ってるの?

何度も聞き返す必要がある言葉足らずの質問しかできないクズのくせに
0092nobodyさん2012/05/21(月) 14:51:55.13ID:???
67から90%自演ですね
毎度お疲れ様です
0093nobodyさん2012/05/21(月) 15:02:02.10ID:???
>>92みたいなのってリアルで本当に孤独な人なんだなって思う
0094nobodyさん2012/05/21(月) 15:38:04.89ID:???
俺のレスは7個だから90%もないぞw

とか言ってほしいのか?
0095nobodyさん2012/05/21(月) 15:51:18.82ID:???
孤独なやつよりスレチなのを承知して居続ける池沼のほうがよほどたちが悪いし迷惑
0096nobodyさん2012/05/21(月) 15:58:37.32ID:???
自分のレスを100回読め
0097nobodyさん2012/05/21(月) 16:04:44.10ID:???
質問の意図や前提をくみ取れない糞質問
が多い。それで回答者が逆質問をしたり
悪口を言ったりする。それを前もって思
い描く力が絶望的に欠如してるに違いない。
スーパーハッカーだけが意図を理解できる。
レアなそういう神が颯爽と登場する予感。
0098nobodyさん2012/05/21(月) 16:06:20.01ID:???
ここで回答してる奴はレベルが低い
知恵袋もな
レベルの高い人はこんなとこに時間潰さないよ
0099nobodyさん2012/05/21(月) 18:29:58.28ID:???
>>81
自分でモジュール書いて zend_register_auto_global() 呼んでやるしかないと思うよ
0100992012/05/21(月) 18:57:01.61ID:???
ごめん>>82の間違い
0101nobodyさん2012/05/21(月) 19:05:21.27ID:???
スーパーグローバルを凌駕するハイパーグローバルも作れる
0102nobodyさん2012/05/21(月) 20:36:32.87ID:???
C言語も書けないくせに口だけな質問してんじゃねーぞ
ぶっつぶすぞ
0103nobodyさん2012/05/21(月) 21:36:16.08ID:???
C言語が使えるくらいで自慢か
ハハハ
0104nobodyさん2012/05/21(月) 22:33:31.91ID:???
str_replaceをオーバーライドしたいときは
何のクラスを継承したらよいのでしょうか?
0105nobodyさん2012/05/21(月) 22:43:26.24ID:???
無知な質問きましたね
ただオーバーライドって言葉を言いたいだけの素人
答えはできない
0106nobodyさん2012/05/21(月) 22:47:26.84ID:???
>>105
はぁ?
0107nobodyさん2012/05/21(月) 23:11:20.01ID:???
スレタイも読めないjava厨は、Rubyスレも荒らしてるようだね^^
0108nobodyさん2012/05/21(月) 23:19:52.44ID:???
23. Javaの話をすると回答者が不機嫌になるんだけど・・・
 → 他言語について言及しないこと。ここの回答者はPHPしかわかりません。
0109nobodyさん2012/05/21(月) 23:33:32.90ID:???
他の言語を全く使えないクズか
ハハハ
0110nobodyさん2012/05/21(月) 23:37:58.78ID:???
ここの回答者はPHPer
他の言語はわかりません
0111nobodyさん2012/05/21(月) 23:39:52.99ID:???
PHPのソースコードのコンパイルすらできない奴が多そうだもんね
0112nobodyさん2012/05/21(月) 23:46:58.30ID:???
>>108
PHPすらまともに扱えない素人は消えろ
■ このスレッドは過去ログ倉庫に格納されています