【PHP】下らねぇ質問はここに書き込みやがれ 67
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/11(金) 06:38:35ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0564nobodyさん
2008/04/26(土) 20:43:25ID:???オブジェクト指向を学んでPHPに取り入れろ
0566nobodyさん
2008/04/26(土) 21:01:40ID:???0567547
2008/04/26(土) 22:58:04ID:???サンクスコ
>>549
ソースきぼんぬ
不具合って脆弱性でしょうか、
ちなみに現最新バージョンのPHPでも直ってないのでしょうか?
0568nobodyさん
2008/04/26(土) 23:33:03ID:???興味があるんなら自分で調べろよ
有名なんだからググればすぐみつかるし、プログラム書く人間なら知らないのが疑問
0569nobodyさん
2008/04/26(土) 23:54:09ID:EXulrG+H0571nobodyさん
2008/04/27(日) 00:19:21ID:TNTz3zy3フレームワークって簡単なものは作れるけど、
結局、サイトによって独自関数やクラスを多用しなきゃいけないから
わざわざフレームワークにする意味無いよね?
単に、「他者と作業する上で便利」なだけであって、
開発者が自分だけの場合は、気にしなくて良いのかな?
0573nobodyさん
2008/04/27(日) 00:35:45ID:???一人で構築してるけど使ったほうが楽で助かる。抽象的に考えられるのがいい。
合わないと感じたなら無理に使わなくてもいいんじゃない?仕事ならともかく趣味の範疇なんだし。
0574nobodyさん
2008/04/27(日) 01:34:12ID:???自作クラスの関数内から(Ethnaから呼ばれることを前提とした)既存クラスにアクセスするところで嫌気がさしてやめた。
その手の問題を起こさない(もしくは処理できる)スキルがあれば一人FWもいいかも。
0575nobodyさん
2008/04/27(日) 01:48:03ID:???自然とFWが出来上がった漏れは天才。
0576nobodyさん
2008/04/27(日) 04:28:19ID:???PHPのバージョンが古い鯖に移植とかする際、関数毎にバージョン確認が面倒です。
ソース内の関数をリストアップして、バージョン○○以降で動きます、
みたいなチェック関数とかありませんか。
自分で作ればいいんだろうけど関数が数千もあるとさすがに面倒。
PHPマニュアルから自動取得するような技術力はありません。
0577nobodyさん
2008/04/27(日) 04:43:21ID:???0578nobodyさん
2008/04/27(日) 04:54:38ID:???まぁ関数名は、変数名と同じくシンボルとしてしかパースされなかったと思うから、判定が若干面倒ではあるけど。
0579540
2008/04/27(日) 05:00:08ID:pXevviUZ遅レスですがサンクス
2chブラウザ使ってるんですけど、一回下げるとそれ覚えてるみたいで思いがけず下げちゃうことがあるんですよね。
すいません。
ちなみに>>545は別人です。
別サーバーで問題なく遅れてたんですけど、新しいサーバーかりてそこに入れてみたら
まったくFromを変えられなくなったんですよ。
ちなみにCentOS5+qmail+PHP5.1.6です。
サーバーの設定の問題かと思ってサーバー借りてるところのサポートに連絡取ってみたら
「PHPの問題だ、こんなことで連絡してくんな。ググれカス!」
って怒られて、いろいろ調べてみたんですけど、にっちもさっちも行かなくて。
やっぱりPHPの問題なのですか?
0580nobodyさん
2008/04/27(日) 05:08:05ID:???0581nobodyさん
2008/04/27(日) 05:27:03ID:???とりあえずQMAILのエラーログも見てみたら?
0583nobodyさん
2008/04/27(日) 13:01:00ID:EBk2n3bR$_SESSIONって、どれくらいの値を入れてます?
$_SESSION['user_id'] だけ入れて、各処理毎にDB接続は鯖コスト高いだろうし、
俺はログイン処理後DBからパスワード以外(user_id, user_name, user_mail)は入れてます。
変数でいうと10個分くらいまで とか勝手な基準でやってたんですが、
$_SESSION['html'] とかで、膨大なデータ(文字列、配列)を入れたりしてる人もいますか?
0584nobodyさん
2008/04/27(日) 13:02:55ID:???0585nobodyさん
2008/04/27(日) 13:09:17ID:???一度全部書き出して、処理後はガーベッジコレクションを待ったり、
あるいは自分で消したりする処理を書き加えたりしたいですか。
0586547
2008/04/27(日) 13:18:03ID:???ぐぐっても現状で改善されていないmb_send_mailの
問題なんて見つからないから聞いてるんだけど。
まさか昔の脆弱性やバグの話持ってきて、
不具合が、、、とか言ってるんじゃないよね?
0587583
2008/04/27(日) 13:22:27ID:EBk2n3bR$_SESSION['html']は喩えでして、
MySQLでユーザ情報テーブルがあり、そこに繋がるTEXT長のフィールドがあった場合でも、
通常DB接続は鯖コスト的に高いし、ソースコード的にも$_SESSION参照よりは冗長になるし
セッションに格納したほうが見通しは良いのかなと思いました。
※今は$_SESSION['message_id']と数値で保存して、表示の際にDB接続という処理を作る場合が多いです
セッションファイル読み込む際に鯖メモリ使うわけだし、ケースバイケースですよね。
すんませんでした。
0590nobodyさん
2008/04/27(日) 14:49:03ID:???前にいた会社はめちゃくちゃセッションに入れまくってた。
検索結果を全部セッションに入れて、それをページングして表示してたりした。
ログイン時にユーザ情報もほぼ丸ごとセッションに入れてたなあ。
まあそれほど規模が大きいわけでもなかったから別に問題はでなかったけど。
0592nobodyさん
2008/04/27(日) 22:06:13ID:???リクエスト数が毎秒ってぐらい半端じゃなく多くなりました
全てサーバー回線で問い合わせてるから異常なほどリクエストが多いとアク禁を食らう可能性もあるかと思い
PHPでJavascriptのAjax.requestみたいに(非同期通信?)利用ユーザー回線で問い合わせる方法ありますか?
0593nobodyさん
2008/04/27(日) 22:12:53ID:???0594nobodyさん
2008/04/27(日) 22:14:13ID:???0595nobodyさん
2008/04/27(日) 22:18:56ID:???∧ ∧ ┌─────────
( ´ー`) < シラネーヨ
\ < └───/|────
\.\______//
\ /
∪∪ ̄∪∪
0597nobodyさん
2008/04/27(日) 22:47:27ID:???今入れといたほうが良いものってありますか?
ちなみにfirefox2.0、php5.25、apache2.61,DWは入れてます
0600nobodyさん
2008/04/28(月) 02:38:25ID:XDsHBgsJ別ドメインのphpからjavascritpを出力させたいのですが、
<iframe marginwidth="0" marginheight="0"
type="text/javascript"
src="http://example.com/example.php"
>
</iframe>
とすると、Javascriptがそのままテキストとして表示されてしまいます。
後で部分的に更新させたいのでフレームを使いたいのですが、
このような使い方は出来ないのでしょうか?
ほとんどスレ違いかと思いますがよろしくお願いします。
0601nobodyさん
2008/04/28(月) 04:17:52ID:???javascript 動的ロード とか Dynamic Script でぐぐって見て。
JSAN とかも参考になるかも。
詳しくは Javascriptスレでやったほうがいいと思う。
0603nobodyさん
2008/04/28(月) 08:44:54ID:???そこでサイト閲覧の経過時間を表示したいのですが、
方法がわかりません。
携帯ではJavaScript使えないみたいなので。
スレ違いだとは承知していますがよろしくお願いいたします。
0605nobodyさん
2008/04/28(月) 08:58:14ID:???すみません。説明不足でした。
サイト閲覧時間をデジタル時計みたいに1秒区切りで
随時表示していきたいのです。
それともそれがSESSIONでできるのでしょうか?
無知で申し訳ありません
0606nobodyさん
2008/04/28(月) 09:07:47ID:???0607nobodyさん
2008/04/28(月) 09:09:09ID:???SESSION使えば出来るでしょ。
別にSESSIONじゃなくても、初期時間を常に引き回せば良いのでは?
ページ表示中もリアルタイムでカウントアップしたいならFLASHも一緒に使いなはれ
0609nobodyさん
2008/04/28(月) 09:12:10ID:???ページ表示中もリアルタイムでカウントアップしていきたかったのです。
検討していただきありがとうございました
0610nobodyさん
2008/04/28(月) 09:21:50ID:eHo0WZE0ログインフォームにIDとパスを入力して、正しかったら$_SESSION['login']に1を格納してます。
認証しないと見れないページで$_SESSION['login']に1が入ってるか確認して、入ってたらページを見せます
これはセキュリティ的にどうなんでしょうか?
改善するとしたらどのようにしたらよろしいでしょうか?
0611nobodyさん
2008/04/28(月) 11:22:21ID:???色々な意見は有るだろうけど、少しでもシビアにやる必要が有るのなら
私なら、少なくとも一緒にIPとUAぐらいは格納しておいて常時チェックします。
と、セッションの有効期限を短めに。
ま、セッションハイジャックされても大して困らないようなサービスだったら、
login=1だけでもいいと思います。
0612nobodyさん
2008/04/28(月) 11:58:35ID:U6D2eVEj$_SERVER['SERVER_PORT']の値がおかしい時があります
ポートを変えているのに、なぜか80が入っています
URIを長くしたりすると、正しいポートの番号が入っていたりします
その規則性が分からないのですが、
この問題についてご存じの方がいたら教えてください
SetEnvを使って、代替となる環境変数を設定するか、
ホストを自分でパースすれば、
ポート番号を知りたいという要求は満たせるのですが、
奇妙な動作なので気になります。
0613nobodyさん
2008/04/28(月) 16:35:05ID:ASacEEs/Basic認証のページへはSoapClientのコンストラクタに引数渡してアクセス出来るんだけど、
Digest認証のところでひっかかって先に進めないのです。
0614nobodyさん
2008/04/28(月) 17:09:28ID:???echo ( $titleHeight )? ' height="'.($aaa-$bbb).'"':' height="'.($aaa-$bbb).'"';
プログラムが長すぎるのでエラーが出る行だけの書き込みです。
$titleHeight っていう値がないので削除したいのですが
echo '<table width="'.$width.'"' height="'.($aaa-$bbb).'"':' height="'.($aaa-$bbb).'"';
とするとエラーでPHPが正常に処理してくれません。
どこがおかしいのでしょうか??
0615nobodyさん
2008/04/28(月) 18:30:45ID:???'<table width="'
.
$width
.
'"'
height="'
.
($aaa-$bbb)
.
'"'
:
' height="'
.
($aaa-$bbb)
.
'"';
0617nobodyさん
2008/04/28(月) 19:23:00ID:???echo '<table width="'.$width.'" height="'.($aaa-$bbb).'"';
0618nobodyさん
2008/04/28(月) 19:53:50ID:???0620nobodyさん
2008/04/28(月) 21:00:34ID:???0622nobodyさん
2008/04/28(月) 21:07:33ID:???別ファイルにしろってこと?
0623nobodyさん
2008/04/28(月) 21:09:03ID:???大と
、
に分けるってこと
0624nobodyさん
2008/04/28(月) 21:10:24ID:???<head>
</head>
<body>
<table width="<?php echo $width; ?>" height="<?php echo $aaa-$bbb; ?>">
</body>
</html>
こういうことだろ
0625nobodyさん
2008/04/28(月) 21:29:48ID:???<?= $hoge ?>だっけ?
0629nobodyさん
2008/04/28(月) 22:07:12ID:???複数個のテーブルを表示したいなら
<?php foreach(ほげほげ){ ?>
<table width="<?php echo $width; ?>" height="<?php echo $aaa-$bbb; ?>">
内容
</table>
<?php } ?>
すればいいんじゃないの?
0630621
2008/04/28(月) 22:11:27ID:???ブログのテンプレートが見本だなんて頭大丈夫か?
あんなスパゲティ糞コードいらね
お前みたいのはPerlでもやってろ
一番いいのはCakePHPのソースを見ること
命名規則やコーディングが若干気に入らないが勉強になるぞ
0632nobodyさん
2008/04/28(月) 22:40:59ID:ofPhinBe仮登録→登録という流れのとき、
$reg_key = sha1(uniqid(rand(), true));
のように、メールを受信した人にしかわからないトークンを作り、
認証のアドレス.php?email=xxx®_key=yyy
や、
認証のアドレス.php?id=xxx®_key=yyy
としている場合が多いのですが、
パラメータとして渡すのは、reg_keyだけではだめなのでしょうか?
uniqidが入っているので、問題ないかと思うのですが・・・
説明が足りないところがあるかもしれませんが、
理解していただける方がいましたら、アドバイスお願いします。
0633nobodyさん
2008/04/28(月) 23:02:26ID:???0634nobodyさん
2008/04/29(火) 00:08:00ID:AbJjjUx5教えて頂いた方法で数週間試してみましたが、
全くエラーが出来なくなりました。
お礼が遅くなりましたが、どうもありがとうございました。
めちゃ助かりました!
0635597
2008/04/29(火) 00:15:02ID:UrbOD/FY0638nobodyさん
2008/04/29(火) 03:44:02ID:???0639nobodyさん
2008/04/29(火) 03:50:53ID:???とりあえずマニュアルをオフラインでも見れるようにダウンロードしといたほうがいいんじゃね?
あとDW使ってPHP書いてるんならそれでもいいけどEclipseとかのIDE入れたり
あとはMySQLなりPostgreSQLなりDBもちゃんと入ってるか?
phpMyAdminやphpPgAdminなどのWebから使えるDBの管理者ツールとか
必要ならDBのマニュアルなんかもダウンロードしといたほうがいい
メール開発するならメールサーバも必要
XAMPPなら全部入ってるが自力で各個いれて設定できるなら余裕だろ
0641nobodyさん
2008/04/29(火) 07:55:26ID:???コンストラクタの $options に
'authentication' => SOAP_AUTHENTICATION_DIGEST
を追加してみるとどうでしょうか。
ドキュメント化されてないので確証はないですが。
>>632
reg_key が一意なら使えます。
見直す点は uniqid() も sha1() も返り値が一意的でない事。
0642632
2008/04/29(火) 08:57:25ID:QM2GtqNT>>641
回答ありがとうございます!
>>見直す点は uniqid() も sha1() も返り値が一意的でない事。
そうですか・・・uniqidだけではだめなのですね。
一応、データベース側でreg_keyをユニークに指定してあるので、それほど問題はないかもしれませんが、
やはりエラーがでてしまうのは避けたいです。
お手数ですが、
もしよかったら、値が一意になる具体例(こうすれば一意になるというもの)を教えていただけないでしょうか?
よろしくお願いします。
0643nobodyさん
2008/04/29(火) 11:46:43ID:???0644641
2008/04/29(火) 12:53:49ID:???データベースに UNIQUE KEY 制約が指定してあるなら sha1(uniqid()) で問題ないですよ。
一意かどうかは集約側に問い合わせるまで保証できませんので、
適当に生成→クエリが成功するまでトライするぐらいしか思い付きません。
データベース側で生成できるならそちらで。
MySQL の場合は UUID() とストアドプロシージャで出来そうな気もします。
詳しくないのでやり方はDB板にお任せします。
0645nobodyさん
2008/04/29(火) 13:16:12ID:???っていう求人に応募したいのですが、これはlinuxが入ってるパソコンでコードを書いて開発してる人だけってことですか?
windowsでコードかいてlinuxにアップロードして開発するのはこの枠には含まれないのでしょうか?
0646nobodyさん
2008/04/29(火) 13:51:56ID:???0647nobodyさん
2008/04/29(火) 13:59:35ID:???こんなところで聞いている時点で何だかな〜って気がするけど、
応募先に質問すればすぐに分かることじゃない
質問先が明確にあるなら、まず聞く
以上
0648nobodyさん
2008/04/29(火) 14:05:37ID:???0649nobodyさん
2008/04/29(火) 14:13:54ID:???ここで聞いて
「そっか!大丈夫なんだ!るんる〜ん♪」
と応募しても、
先方が却下だったら却下なわけだしね
0650nobodyさん
2008/04/29(火) 14:54:31ID:???0651nobodyさん
2008/04/29(火) 15:06:49ID:???って意味だろw
0653初心者
2008/04/29(火) 17:09:19ID:o9+cl7aKaaaa
aaab
aaac
.
.
.
zzzy
zzzz
とこのようにaからzまでの4文字の数字を全種類表示させるにはどうしたらいいでしょうか?
0654nobodyさん
2008/04/29(火) 17:15:53ID:???echo $i."\n";
}
0655nobodyさん
2008/04/29(火) 17:18:21ID:???<?php
foreach(range(a,z) as $str1){
foreach(range(a,z) as $str2){
foreach(range(a,z) as $str3){
foreach(range(a,z) as $str4){
print "{$str1}{$str2}{$str3}{$str4}<br>\n";
}
}
}
}
?>
0658nobodyさん
2008/04/29(火) 17:37:06ID:???0661nobodyさん
2008/04/29(火) 18:06:48ID:FcuzQKHA<html><body>
<form action="index2.php" method="post">
<input type="text" name="keyword" size="40">
<input type="submit" value="送信">
</form>
</body></html>
index2.php
<html><body>
<?php echo $keyword ?>
</body></html>
こういった単純なプログラムなのですが、index2.phpにて入力した文字が表示されません。
本来ならばindex.htmlで入力した文字が変数$keywordに代入されて、index2.phpで表示されるはずなのですが・・・。
何が原因なのでしょうか?
0662nobodyさん
2008/04/29(火) 18:12:37ID:???PHP云々じゃなくてHTTPやWebプログラムの基本から勉強したほうがいいよ
http://www.php.net/manual/ja/reserved.variables.post.php
0663nobodyさん
2008/04/29(火) 18:18:31ID:???そんなコードが生み出せる勉強方法があるのかと不思議に思う。
0664nobodyさん
2008/04/29(火) 18:19:53ID:???もし参考にしてる本か何かが「そうなるはず」だと
説明してるのなら、記述が古すぎるかも。
http://www.php.net/manual/ja/language.variables.external.php
■ このスレッドは過去ログ倉庫に格納されています