のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,259,966人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    1 : nobodyさん - 2009/04/27(月) 21:39:11 ID:??? (+43,-29,+0)
    質問者はまず>>1を良く読むこと(必須!)
    過去スレ、関連スレ、FAQなどは>>2-10辺り
    次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

    ◆質問用テンプレ
    【OS名】vine linux
    【PHPのバージョン】php5.26
    【連携ソフトウェア】mysql
    【質問内容】

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

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

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

    【その他諸注意】
    ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
    3 : nobodyさん - 2009/04/27(月) 21:41:27 ID:??? (+3,-30,-106)
    関連リンク
    ■本家マニュアル   http://www.php.net/manual/ja/
    ■日本PHPユーザ会 http://www.php.gr.jp/
    ■PEARマニュアル  http://pear.php.net/manual/ja/
    ■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
    ■ZFマニュアル    http://framework.zend.com/manual/ja/
    ■Smartyマニュアル  http://www.smarty.net/manual/ja/

    (以下英語)
    ■Zend本家      http://www.zend.com/
    ■Zend Framework  http://framework.zend.com/
    ■php | architect   http://www.phparch.com/
    ■Smarty       http://www.smarty.net
    ■Smartyマニュアル http://smarty.php.net/manual/en/
    ■PECL本家(英語) http://pecl.php.net/
    4 : nobodyさん - 2009/04/27(月) 21:43:26 ID:??? (+3,-30,+0)
    【簡易FAQ】
    1.文字コードは何を使えばいいの?
     →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
    2. このスレに書き込むときに自分のサイト名を晒したくない
     →http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
    3. ブラウザに何も表示されないんだけど・・・
     → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
    4. 記号の意味がわからないけどググりようがない
     → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
      「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
    5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
     → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
    6. 一定時間ごとに自動的に何かしたいんだけど
     → cronかタスクスケジューラを使え。
    7.extractって危険なの?
     →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
    8. include/requireに「~.php?a=b&c=d」のようなパラメータをつけたい
     → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
    9.include/requireでURLを指定しても何も起きない
     → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
    5 : nobodyさん - 2009/04/27(月) 21:44:07 ID:??? (+3,-30,+0)
    10. そもそもインストールの時点でうまくいかない
     → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
      Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
    11. SQLの質問はどこで?
     → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
    12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
     → ctype_~()が手軽。複雑なパターンはpreg_~()あたりで正規表現を使う。
    13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
     → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
    14. echoとprintってどう違うの?
     → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
      http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
    15. クッキーの情報をユーザから隠したい
     → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
    16. strip_tags()で削除しないタグを複数指定したい
     → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
    17. CSVやTSVのファイルをスマートに扱いたい
     → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
    18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
     → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
      参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
    19. ファイル入出力関数(fopen等)でリモートファイル(http://~とか)を扱う際の限界
     → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
      必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
    20. PHPからPOSTリクエストしたい
     →19.を参照
    21. 画像処理一般 or GDの限界
     → ImageMagick(PECLのやつ or シェルから実行)
    22. 画像・音・動画はファイルで保存?DBに保存?
     → 好きにしてください
    6 : nobodyさん - 2009/04/27(月) 21:47:13 ID:??? (+29,+1,-21)
    姉妹スレ。IDをどーしても出したくない人はこちら。

    【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
    http://pc11.2ch.net/test/read.cgi/php/1233590976/
    7 : nobodyさん - 2009/04/27(月) 21:58:17 ID:??? (+45,+27,-1)
    9 : 978 - 2009/04/27(月) 22:18:38 ID:skcV1wh3 (+24,+29,+0)
    お礼が遅くなってすいません。ありがとうございました
    10 : nobodyさん - 2009/04/27(月) 22:22:21 ID:??? (-18,-26,-13)
    11 : nobodyさん - 2009/04/27(月) 22:36:38 ID:ngOdqG7u (-22,+29,-30)
    >>10
    ありがとうございます。
    マニュアルの例のように結果によって同じ変数に別な値を入れるときは
    if分よりこの書き方の方がすっきりしますね。
    使い分けてみることにします。
    14 : nobodyさん - 2009/04/28(火) 10:54:03 ID:??? (+57,+29,-18)
    毎度初期化されて茶セッションの意味ないじゃん
    16 : nobodyさん - 2009/04/28(火) 14:33:27 ID:??? (-2,-30,-31)
    foreachかforでまわしながら連想配列で代入してからextract($array)
    SJISはちょっとイヤンな感じだからUTFにしたら?
    17 : nobodyさん - 2009/04/28(火) 15:22:47 ID:??? (-2,-30,-35)
    utf8ならlist($ichi, ...) = preg_split("//u", ..)みたいな感じでおkと思われる
    18 : nobodyさん - 2009/04/28(火) 15:25:45 ID:??? (-6,-29,+0)
    つmb_split
    19 : nobodyさん - 2009/04/28(火) 15:28:01 ID:??? (+23,-30,-61)
    // mb_substrとか使えなかったっけ?

    $array = array("ichi", "ni", "san", "shi", "go");
    $string = "ありがとう";

    $count = 0;
    foreach ($array as $key => $value) {
    $array[$key] = mb_substr($string, $i, 1, "Shift_JIS");
    ++$count;
    }
    20 : 19 - 2009/04/28(火) 15:31:09 ID:??? (+3,-30,-39)
    ごめん間違えた
    $array[$key] = mb_substr($string, $i, 1, "Shift_JIS");
    これは
    ${$key} = mb_substr($string, $i, 1, "Shift_JIS");
    にしてくれ
    21 : nobodyさん - 2009/04/28(火) 15:39:37 ID:??? (-12,+29,-3)
    まだ訂正すべき点があるようだが
    22 : 19 - 2009/04/28(火) 15:40:57 ID:??? (+57,+29,-4)
    うん、もう気づいたけどめんどくさいからいいや
    24 : 12 - 2009/04/28(火) 20:19:52 ID:hPvdrkqO (-14,-30,-98)
    >>13-14
    2回目以降のsession_start()はセッション変数の取り込みに奔走するんですね。
    それでしたらわざわざ最後にunsetでセッション変数を破棄しなくても、
    再度session_start()が実行されれば最新の$_SESSION['captcha_keystring']が
    読み込まれて特に問題なく動作するような気がするんですが・・・
    25 : nobodyさん - 2009/04/28(火) 20:38:49 ID:??? (-16,-30,-49)
    >>23
    条件がよくわからんがa:linkに指定されたcolor値で#000000の形式のみを取得ってこと?

    /a:link[^\}]*[^\-]color\s*:\s*#(\w{6})/is
    26 : nobodyさん - 2009/04/28(火) 20:50:55 ID:??? (+46,+29,+0)
    >>24
    お前は何を言ってるんだ
    27 : 23 - 2009/04/28(火) 22:10:29 ID:7p1vmHWL (-22,+29,-1)
    >>25
    こういう書き方するんですね。勉強になりました。ありがとうございました。
    28 : nobodyさん - 2009/04/28(火) 22:20:22 ID:??? (+33,+29,-17)
    >>24
    とりあえず例題で動かしてから、自分でunset外して動作を見てごらん。
    ソース眺めて悩むよりそっちの方が早いよ。
    32 : nobodyさん - 2009/04/29(水) 03:41:14 ID:??? (+57,+29,-18)
    複数回実行するときのためにアンセットしてんじゃないの?
    33 : nobodyさん - 2009/04/29(水) 05:05:58 ID:??? (+57,+29,-4)
    顔文字とか真面目に質問する気あんの?
    34 : nobodyさん - 2009/04/29(水) 05:39:51 ID:??? (+57,+29,-12)
    認証に使うライブラリなら、一度認証に使用したらさっさと廃棄しないと危険だからじゃないの。
    35 : nobodyさん - 2009/04/29(水) 05:46:01 ID:??? (+34,+6,+2)
    つーかそもそもCaptchaって何かわかってんだろうか
    36 : nobodyさん - 2009/04/29(水) 06:00:07 ID:??? (-6,-30,-11)
    >>31
    >次にsession_start()されるときに次のCaptchaの数字が上書きされるようです。

    違う。$_SESSION['captcha_keystring']をセットしてるのは誰かよーく調べてみなさい。
    37 : nobodyさん - 2009/04/29(水) 06:20:53 ID:??? (+3,-29,-72)
    提示されたコードばかり見てて全体のフロー、つまり裏でKeystringが発行されてるとこが見えてないんじゃないかな
    unset() はキーを発行する処理に対応してるから、そっちの実装を見ないと処理の流れは分からない

    新規/リロードなら再発行、ポストなら検証までスルーって実装にすれば unset() いらなくなるかな
    38 : nobodyさん - 2009/04/29(水) 06:30:11 ID:??? (+96,+29,-43)
    これ、「表示されているアルファベットを入力してください」とか、いうヤツでしょ。たぶん。
    unsetしなかったら、同じキーで何度でも使えちゃうじゃん。
    アカウント取り放題とか、メール出し放題とか。

    キー値はサーバ側に保存しなきゃならんのだし、unsetまたはそれと同等な処理しなくて
    良いパターンってないと思うけど。
    39 : nobodyさん - 2009/04/29(水) 06:43:06 ID:??? (+3,-30,-140)
    バリデーションに成功すればキーは破棄出来るわけだから同じキーが2度以上使われる可能性は排除できるよ

    発行と検証の2フェーズあって、検証中でなければ前回の残りがあったとしてもそれを破棄して再発行すればいいわけ
    検証中で無いことは empty($_POST["key..]) && !isset($_SESSION['key..]) で判別可能

    unset() をクライアントスクリプト側に任せているのは、例えば3回まではトライ可能、といった
    キーを無効にするタイミングを選択できるようにしたいとかそういうことじゃないかと予想
    40 : nobodyさん - 2009/04/29(水) 06:45:38 ID:??? (+3,-30,-148)
    うっぷす!
    × empty($_POST["key..]) && !isset($_SESSION['key..])
    ○ empty($_POST["key..])
    再発行条件が empty($_POST["key..]) && isset($_SESSION['key..]) かなw
    41 : nobodyさん - 2009/04/29(水) 06:53:22 ID:??? (+47,+19,-55)
    シンプルで不足分はユーザが書く小さなライブラリ > 柔軟なAPIがありクライアントのコード量が少なく高機能で汎用性が高く大きなライブラリ
    42 : nobodyさん - 2009/04/29(水) 07:00:53 ID:??? (+104,+29,-34)
    >>38
    いや、機械と人間の識別に使うもの。
    これだけだと、人間ならアカウント取り放題、メールし放題、コメントし放題だよ。
    後半はその通り。
    43 : nobodyさん - 2009/04/29(水) 07:07:51 ID:??? (+71,+29,-27)
    >>42
    多分、この認証ライブラリの動作を完全に勘違いしてると思う。
    自分はもう面倒なんで、これ以上言わんが。
    45 : nobodyさん - 2009/04/29(水) 08:09:15 ID:??? (+44,+29,-9)
    >>44
    趣味のレベルなら全然問題は無い。
    お仕事なら規模にも依るが、苦労はすると思う。
    46 : nobodyさん - 2009/04/29(水) 12:10:15 ID:??? (+35,-30,-80)
    formから入力された文字列をmysqlに保存するサンプルスクリプトを教えてください

    DB名:sample_db
    テーブル名:sample_tbl
    user名:sample
    pass:pass
    47 : 46 - 2009/04/29(水) 12:10:56 ID:5Db2GJA3 (+7,+14,+1)
    ID出し忘れましたすみません。。。
    48 : nobodyさん - 2009/04/29(水) 13:18:40 ID:??? (+14,-10,+0)
    >>46
    マニュアル
    49 : nobodyさん - 2009/04/29(水) 13:24:45 ID:??? (+52,+29,-16)
    本当にくだらねぇ質問でわろた
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について