PHP質問・雑談スレ【初心者お断り(ROM歓迎)】©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん 転載ダメ©2ch.net
2016/04/22(金) 08:58:11.47ID:???初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はくだスレへどうぞ。
【PHP】下らねぇ質問はここに書き込みやがれ 4
http://echo.2ch.net/test/read.cgi/tech/1457792733/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
http://ideone.com/
・プログラミングのお題スレ Part8 (求PHPer参戦)
http://echo.2ch.net/test/read.cgi/tech/1444216746/
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0653nobodyさん
2016/09/17(土) 01:54:34.76ID:???4ヶ月前とやってることが変わらないのかw
0655nobodyさん
2016/09/18(日) 19:14:32.87ID:???>>646
間違えるのが怖かったの?
652 : nobodyさん2016/09/16(金) 23:52:03.18 ID:???
>>650
>>1
653 : nobodyさん2016/09/17(土) 01:54:34.76 ID:???
dat落ちした>>1のスレ開いて、最後に書込してるID真っ赤のやつ見て驚愕したわ
4ヶ月前とやってることが変わらないのかw
せっかくの連休なんだからもっと早く寝ような―! なー!
そんなに一生懸命にならなくてもいいなー。
0656nobodyさん
2016/09/19(月) 20:47:54.69ID:???HTMLにすれば消えず、Javascriptで入れ直すことはできますが、PHPで何とかできないものでしょうか。
0657nobodyさん
2016/09/20(火) 09:08:53.02ID:???別に消えないけど・・・ どういう作りになっているの?
>HTMLにすれば消えず
と言っておきながら
>Javascriptで入れ直すことはできます
というのも意味がわからない
消えていないなら入れなおす必要もないのでは?
0658nobodyさん
2016/09/20(火) 12:16:48.48ID:???DBからHTML作成する処理が重いから、バッチ処理時にコンテンツ部分を文字列としてキャッシュさせるか、ファイルに保存しとくかを考えてるんだけど
0659nobodyさん
2016/09/20(火) 15:51:41.23ID:???計測してないならまず計測せにゃ話は始まらん
0660nobodyさん
2016/09/20(火) 20:16:57.43ID:???フォーム部品の入力値が
○○.html→△△.php からの戻りは再度表示されて
○○.php→△△.php からの戻りは、ブラウザによっては消えてしまいます。※
○○.php→△△.php からの戻りでもsession使わなければ再度表示されます。
※ IE、Foxは消え、Chromeは再度表示されます。
・・・という記事もよく見ますのでわかるかと説明が大雑把過ぎでした、すみません。
○○.php→△△.php でsession使いたいのですが
ユーザが全て1から入力しなおさなくてはならなくなってしまい、どうしたもんかと。
0661nobodyさん
2016/09/20(火) 22:49:23.92ID:???session_cache_limiter('public');
などにすれば入力値表示しますがなるべくnocacheのままできたらと。
ブラウザのverなど環境によっても違いそうですので
そのもの見ないと何とも言えないとは思いますが。
0662nobodyさん
2016/09/21(水) 00:44:22.98ID:???その時点で正規の画面遷移から外れてしまってるわけで、
そのまま次に画面遷移したときには、セッションが切れてる(ようにする)もんだと思うが。
0663nobodyさん
2016/09/21(水) 19:51:54.18ID:???確かiPhoneとか、戻るボタンではHTTPリクエストも投げないみたいな
変な仕様変更がされて大混乱したことが昔あったな。
最初にブラウザに戻るボタンとかつくった馬鹿を呪うといいぞ。
0664nobodyさん
2016/09/21(水) 22:34:48.42ID:???PHPでできるのはこっちで戻るボタン作って
POSTデータをSESSIONに引き継ぐぐらいでしょ
加えてJSでhistory.back無効化でもしたら
0665nobodyさん
2016/09/22(木) 00:37:10.51ID:???0666nobodyさん
2016/09/22(木) 00:40:51.93ID:???0667nobodyさん
2016/09/22(木) 00:55:21.92ID:???echo fgets(STDIN);
}
シェルで入力したのをそのままechoするだけのコードなんですが、
このコードを見た時CPU使用率高そうだなと思ったのですが、実際はそうでもありません。
sleepしてるわけでもないのになんで低いんでしょうか?
0668nobodyさん
2016/09/22(木) 16:43:16.20ID:???銀行ならセキュリティ最優先で「戻るはダメよ」も納得でしょうが
一般サイトだとそうもいかんですしね。
>最初にブラウザに戻るボタンとかつくった馬鹿を呪うといい
使う側で超便利で、ないのは有り得ないですが、作る側になったらこんな面倒なものとは。
ごもっともです。
皆さんありがとうございます。
0669nobodyさん
2016/09/23(金) 10:08:04.16ID:???>○○.php→△△.php からの戻りでもsession使わなければ再度表示されます。
URLにセッションIDでも書いているの?
0670nobodyさん
2016/09/23(金) 20:29:35.53ID:???因みにロードバランサはこれとは別に存在します。
0671nobodyさん
2016/09/24(土) 12:49:22.99ID:???ん? それ、実行してみたけどなんでかわからなかったってこと?
while(!feof(STDIN)){
echo fgets(STDIN);
echo "baka";
}
これで実行してみたら? どうなる?
そうすっと、while()で実行してるループはどの頻度で繰り返されてるか分かるだろう。
尤も、凄まじい頻度で繰り返されていたとしても、
今時のCPUにとってはその程度の処理なら大して負荷にはならないけどな。
0672nobodyさん
2016/09/24(土) 13:22:40.98ID:???0673nobodyさん
2016/09/24(土) 18:07:50.40ID:???1. while(!feof(STDIN)){} 100%
2. while(!feof(STDIN)){ echo "baka"; } 45%
3. while(!feof(STDIN)){ echo fgets(STDIN); } 0〜1%
ちなみに>>671のコードは入力待ちなので、
何か入力しないとbakaは出力されないので、CPU使用率は3番目と同じ。
0674673
2016/09/24(土) 18:46:02.39ID:???0676nobodyさん
2016/09/24(土) 19:18:25.44ID:???0677nobodyさん
2016/09/24(土) 21:53:54.34ID:???ApacheってSTDIN取得できるんだぁ。へぇ。すごいや。
0678nobodyさん
2016/09/26(月) 18:35:48.21ID:???スマホアプリとかそっち系に移行してるの?
0679nobodyさん
2016/09/26(月) 19:03:01.33ID:???0680nobodyさん
2016/09/26(月) 19:23:54.27ID:???他の板も軒並み過疎ってるじゃないか
2chにいるのは40代のオッサンが一番多くてその次が50代らしいぞ
0682nobodyさん
2016/09/26(月) 20:41:50.83ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 139
http://kanae.2ch.net/test/read.cgi/php/1420440967/
で終わってるから続きのスレを「プログラム技術」板に立てたら需要あるかな?
ID表示できるし(ワッチョイは嫌だという人向け)
0683nobodyさん
2016/09/26(月) 21:40:17.96ID:???WebProgとムは, まぁ最初にこっちにあった以上IDもワッチョイも設定出来ないから仕方がないけども, ID表示だけならムで !extend:checked:default:: にすればいいわけでしょ
0684nobodyさん
2016/09/26(月) 21:48:06.07ID:???ム板に移ったらそいつはゴミクズな事がわかっちゃったからまたこっちにこのスレを建てたんじゃん。
こっちが良いと本当に思ってるのは多分、1人か2人だよ。
0685nobodyさん
2016/09/27(火) 02:52:07.56ID:???ム板のがくだスレの後継でこっちは趣旨が違う新スレ
混同したらいかん
0686nobodyさん
2016/09/27(火) 02:59:49.66ID:???http://echo.2ch.net/test/read.cgi/tech/1462971286/
0687nobodyさん
2016/09/28(水) 11:42:57.22ID:???https://agearea.com/
0688nobodyさん
2016/09/28(水) 13:56:20.50ID:???前後3年の人しか友達になれないって、年齢層高い人が多いと言われてる2chで宣伝しても
無駄だろ。30,40代の人が前後3年の人としか友達にしかなれんとか無駄すぎる。
しかも若い人向けなのに、デザインがクソ・・
0689nobodyさん
2016/09/28(水) 15:17:56.64ID:???0690nobodyさん
2016/09/28(水) 16:19:14.36ID:???0691nobodyさん
2016/09/28(水) 16:40:26.00ID:???0692nobodyさん
2016/10/02(日) 13:16:50.06ID:???> 前後3年の人しか友達になれないって、年齢層高い人が多いと言われてる2chで宣伝しても
> 無駄だろ。30,40代の人が前後3年の人としか友達にしかなれんとか無駄すぎる。
そこは定数でもリニアでも無くすれば改良の余地は有る。
問題なのは、今更掲示板なんて流行らないし、
> ソースや環境明記もなしに重くなるかどうかなんてわからんがな
> 怖いもの見たさ以外の純粋なユーザ登録は10件くらいで終わるだろう
という、得体のしれなさだろう。
信用は金では買えないが、まず金が無いやつは信用してもらえないのが現代だ。
0693nobodyさん
2016/10/03(月) 04:35:13.36ID:???0694nobodyさん
2016/10/04(火) 11:46:53.12ID:???嵐にはIDもワッチョイも関係ないということが証明された
0695nobodyさん
2016/10/04(火) 13:40:33.50ID:???0696nobodyさん
2016/10/05(水) 11:23:04.45ID:???PHPってそんなに案件溢れてて人材不足なの?
0697nobodyさん
2016/10/05(水) 11:36:08.06ID:???目的は上司や親世代と繋がって発言がしにくくなることだから今後3〜10年の幅で選択制にしようと考えている
あと掲示板じゃなくてSNSだからタイムラインやメッセージ機能は実装した
環境はPHP5.6でLAMP、Smartyは重くなるので使用しないで自作の簡単なテンプレートエンジンを作った
フレームワークもオープン系は未使用で自作フレームワークみたいの作って使ってる
デザインも今のところ最低限でスマホ対応のためレスポンシブだけ付けてる
信用と言っても自分の名前や住所はフッターのところから付けても良いけど
それだけで人来るかねw
0698nobodyさん
2016/10/05(水) 11:42:18.37ID:???くだらないことが発言しにくくなることを防ぐためね
0699nobodyさん
2016/10/05(水) 12:59:36.12ID:???しかも、SNSとは無関係のゴミtweetしかない
何がやりたいんだか
0700nobodyさん
2016/10/05(水) 13:57:54.17ID:???フェイスブックやらLineやら既にあるのに、
自分の年齢に近い人しか友達になれないっていう欠点なのか特徴なのかしらんが
それだけのためにわざわざ新しい怪しげなSNSに・・
まぁ、人は全く来ないと予想。
0701nobodyさん
2016/10/05(水) 14:13:17.07ID:???ゼロ年代前半臭はんぱない
0703nobodyさん
2016/10/05(水) 17:22:02.60ID:???0704nobodyさん
2016/10/05(水) 18:23:35.07ID:???0705nobodyさん
2016/10/05(水) 19:08:22.16ID:???まずデザインは最低限のしかやってない。
一応レスポンシブだからいいやって感じで機能開発に時間使ってました。
今後余裕ができればCSSフレームワーク等の使用を検討したり色々考えます
機能的にも最低限のものしかまだ入ってない
投稿に対する返信機能はすでにできるんだがまだ実装してない
他にもいいね!機能や通知機能も入れたい
まずFacebookはやってる奴いればわかると思うけど上司やら親世代と繋がるとかなり発言しにくくなる
Lineとの差は同じ学校だったりした人とも繋がれるのが異なる点
んでAgeareaでは学校を入力する項目があるんだけど文字が同一でないと一致して友達を探す時に上位に表示させられない
これは滅茶苦茶大きな欠点なんだがこいつを解消するためには日本全国の学校名を取得してDBに入れて選択表示させる必要がある
これはそのうちやりたいが手間がかかるのでまだ出来てない
とまぁ色々欠点はまだまだあるんですが上司世代と繋がらずに同世代と繋がれる可能性があるという特徴があります
0706nobodyさん
2016/10/05(水) 19:11:17.23ID:???ゼロ年代後半くらいまでは行ってないかな?w
前半はスマホなかったからレスポンシブなかったし
00年代後半から10年代前半くらいにはなってると思うんだけどw
0707nobodyさん
2016/10/05(水) 20:04:55.20ID:???高望みして技術に詳しく将来にわたって自社を引っ張れるような中途人材を求めた結果
足切りしまくってるのが現状なんでは
ようはなかなか採用が決まらずずっと採用情報に残ってるパターン
スタートアップの大量採用(といっても数人〜十数人)を過ぎたPHP扱う零細・小企業にはよくあること
0708nobodyさん
2016/10/05(水) 20:11:39.73ID:???>一応考えられるところは全部潰してあると思うのですが。
>もし見つけた方はメッセージか問い合わせから教えて頂けると助かります。 よろしくお願いします。
>超キャンペーン開始します!
> 10月7日までに新規登録者が100名(国内の匿名でない正規登録者)を超えた場合
>抽選で1名の方に1000円分のJCBギフト商品券を贈呈します。
>登録利用は無料なので是非ご登録と利用をお願いします!
引き返せないほど人集まったら脆弱性を1000万で売ろう
0709nobodyさん
2016/10/06(木) 00:23:05.51ID:???0710nobodyさん
2016/10/06(木) 06:23:25.11ID:???0711nobodyさん
2016/10/06(木) 09:05:40.38ID:???どうせ過疎なんだからそういうの披露しようぜ
0712nobodyさん
2016/10/06(木) 10:40:45.19ID:???遅いだの初心者向けだの言われる割には利用されてるよな
0713nobodyさん
2016/10/06(木) 11:05:35.65ID:???初心者向けと言われるのは滅茶苦茶な書き方をしてもそれなりに動くからそう言われるだけで玄人のような書き方も可能
スピードに関してはPHP7になってから他の速いと言われる言語にも引けを取らなくなった
だから書きやすくて生産性高い言語だし広く利用されるのは当然と言えば当然
0714nobodyさん
2016/10/06(木) 16:04:59.75ID:???まだPHP5.3使いなんで勉強しないといけないなぁ
0715nobodyさん
2016/10/06(木) 19:47:39.59ID:???後はRailsみたいにフレームワークとかその周辺が整備されてれば言語自体の差は大した問題じゃない
PHPはCとかPerlから殆ど何も考えずそのまま移行出来る分入口に集まりやすいんだろう
何も考えてないのも多いからそのまま入口に溜まりやすいのもだけど
0716nobodyさん
2016/10/06(木) 21:57:30.66ID:???まったく同じソースでも動作環境がPHP7になるだけで早くなるよ。
ソースコードにも新しい書き方が生まれているけど、それよりも変数を内部的にどんなメモリ構造で保持するかとかの改良がメインだから。
0717nobodyさん
2016/10/06(木) 23:11:42.96ID:???本格的に7のコードで書くのはまだ2・3年先の話だろうな
0718nobodyさん
2016/10/07(金) 00:42:58.67ID:ppFqxqELphpは昔クラスとかなかったしhtml内にも書けるからコードが汚くなる
とか変数の型指定しないから変な挙動することがあるとかそういうことだろう
それらの大半は今は解決されている
0719nobodyさん
2016/10/07(金) 01:07:10.34ID:???> html内にも書けるからコードが汚くなる
正しいが解決されてないし絶対解決されない
タイプヒンティングはinvariantじゃなくてcovariantならなぁ
0720nobodyさん
2016/10/07(金) 01:44:03.91ID:???htmlに書くことは出来るけどほぼ書かないで綺麗に書くことも出来るじゃん
つまり玄人向けの書き方も出来るということ
0721nobodyさん
2016/10/07(金) 04:55:45.68ID:???最初、Perl勉強してた時、HTMLの出力にめんどくささを感じたが、
PHPを知って一気に分かりやすくなり、結果的にプログラミング出来るようになったぞ。
0722nobodyさん
2016/10/07(金) 06:02:19.39ID:???混在は可能だがするべきではない
正直HTMLに混在させられるという解説は最初にすべきじゃないと思ってる
PHPが普及した理由は文法がCやPerlに, RubyやPythonよりかなり近いことに拠っていると思うね
0723nobodyさん
2016/10/07(金) 06:34:20.07ID:???以下のようなソースでも駄目なのか?
<ul>
<?php foreach ($list as $data): ?>
<li><a href="<?php echo $data['url']?>"><?php echo $data['title']?></a></li>
<?php endforeach; ?>
</ul>
ま、DBに登録したデータを出力するよくあるパターンだわな。
このHTML部分(ul、li、a)をPHP側で書いて出力すると
ビュー用のHTMLに「混雑していない」事になるかもしれないけど、
ソースは読みづらいし、デザインとロジックの分離の観点からも難しくなると思うぞ
0724nobodyさん
2016/10/07(金) 06:39:00.96ID:???それおかしくね?CやPerlやRubyやPython知らないと駄目じゃん。
それらの技術者が「PHPの方が簡単でわかりやすいからPHP使おう!」とはならないだろ。
0725nobodyさん
2016/10/07(金) 10:12:32.50ID:???宗教的理由で忌避するのは個人では構わないけどそうでないなら素直にテンプレートエンジン使っとけ
あとそのコードもechoをexplicitに書くのはどうなん
<ul>
<?php foreach ($list as $data): ?>
<li><a href="<?=$data['url']?>"><?=$data['title']?></a></li>
<?php endforeach; ?>
</ul>
>>724
結局プログラマの言語の基準って科学計算以外なら結局未だにCが基準だと思うんだ
C/C++/Java/C#はみんなかなり似た文法だと思うし, だからこそJavaは仮想マシン上, C#はWindows上で普及してると思う(言語自体が「まとも」であることは当然だが)
PHPも, だからWeb上で普及してると見る
あとCでWeb開発なんて普通しない(デメリットが大き過ぎる), PerlからPHPに移ったという層はそれなりにいるだろう
RubyやPythonから始めた場合には言及してない
0727nobodyさん
2016/10/07(金) 10:21:38.40ID:???PHPをHTMLに書くのと何が違うのかまるで分からん。
どっちも”プログラム的な何か”をHTMLに挿入するじゃん。
なのに「すべきでない」理由にならないと思うんだが
0728nobodyさん
2016/10/07(金) 10:26:03.21ID:???テンプレートエンジンとして使うにはPHPは高機能過ぎる
見えてよいもの以外は見えるべきではないし, 使ってよいもの以外は使えるべきでない
カプセル化の大原則だと思うのだけれど
0729nobodyさん
2016/10/07(金) 10:31:04.71ID:???PHPそのものが優秀なテンプレートエンジンだからね
フレームワークも必要最小限なものだけしか使ってない
0731nobodyさん
2016/10/07(金) 10:32:16.78ID:???デザイナーがデザインしやすくなるというのがあるんじゃないかな。分業しやすくなると
プログラムの流れとしてデータはデータベースに入れてプログラム変更に干渉しないようになったし
デザインとプログラムもできるだけ分けて干渉しないようにした方が良いということかなと
0732nobodyさん
2016/10/07(金) 10:45:41.10ID:???どちらも「プログラム的な何か」をHTMLに埋め込むじゃん。
729も書いてる通り、それでもHTMLが見やすく・分かりやすい形にできるし、
実行してすぐに結果も分かるから、初心者向けでとっつきやすい。
0733nobodyさん
2016/10/07(金) 10:46:46.22ID:???俺、昔の癖でショートタグ使ってないんだが、
php.ini変えなくてもPHP5.4から標準になったのね・・・
0734nobodyさん
2016/10/07(金) 10:47:08.04ID:???0736nobodyさん
2016/10/07(金) 11:14:25.56ID:???0737nobodyさん
2016/10/07(金) 12:24:34.06ID:???https://agearea.com/
0738nobodyさん
2016/10/07(金) 12:33:01.32ID:???それはテンプレートをdisってんのかね?
0739nobodyさん
2016/10/08(土) 00:16:20.30ID:???絶対の正解っていうのは存在しないさ。
ただしそれでもSymfony公式はTwigの使用を推奨していて、その一番の理由は、キャッシュしてHTTPアクセス時の処理不可を軽減できるからだね。
Smartyもそうだし、テンプレートエンジンと呼ばれてるものは大抵、ナマの言語で書いて毎回パースするよりは高速化できるキャッシュ機能をそなえているよ。
0740nobodyさん
2016/10/08(土) 01:15:37.18ID:???0741nobodyさん
2016/10/08(土) 02:00:06.91ID:???その辺のテンプレートエンジンはなんか大げさなんだよなあ
0742nobodyさん
2016/10/08(土) 02:40:57.69ID:???shell_exec("php {$phpfile}")で取る?
それともcurlとかでlocalhost http経由で取る?
前者だと環境依存が強くなるから、どちらかというと確実な後者のほうがよさそう?
0743nobodyさん
2016/10/08(土) 11:38:47.90ID:???こんな程度の対策してないサイトがたくさんあるの?w
0744nobodyさん
2016/10/08(土) 11:51:11.30ID:???ゴミクズみたいなオレオレテンプレートエンジンつくって
「これ使って下さい」とか言われたのでコード読んでみたら全くエスケープ機能がなくて
XSSし放題じゃんってのを去年見た。
そのバカ会社はSQLインジェクションもし放題で、
DBまるごと吹っ飛ばせる状態だった。
同じサーバー内ならshell_execで取る。
あるいは、memcachedみたいなメモリキャッシュシステムを使っちゃう。
ここ最近の>>738あたりから>>743あたりまでを総なめしてレスしてみました。
0745nobodyさん
2016/10/08(土) 11:59:56.24ID:???自分の場合PHPでDBにデータ入れる時とか表示する前にエスケープしてるけど
そんなXSSやSQLインジェクションし放題の会社があるとはw
そんなとこに依頼するなら自分のところに依頼してくれりゃあいいのにw
0746nobodyさん
2016/10/08(土) 13:57:34.21ID:???置換する実装書いちゃうんだろ??
0747nobodyさん
2016/10/08(土) 14:06:25.34ID:???0749nobodyさん
2016/10/08(土) 14:29:44.74ID:???都合(この場合はHTMLを使って表示?)であって、
バックエンドのデータベースにクライアント側の都合に合わせてエスケープして入れるとかしねぇわ。
0750nobodyさん
2016/10/08(土) 14:47:46.08ID:???DBに入れる前にエスケープでも良いと思うけどなぁ
なんなら、フォーム処理は全てエスケープすればいい。
0751nobodyさん
2016/10/08(土) 14:58:00.40ID:???なんで、バックエンドのデータベースに表示側の責務(エスケープしなければいけない)を負わせなければいけないんだ?
復元できるからいいとかいったらそりゃ何でもありになるわ。
そのシステムでHTMLを使って表示しないAndroidやiOSのアプリを開発しなければいけなくなったら、
そのエスケープが邪魔になるし。
0752nobodyさん
2016/10/08(土) 14:58:26.83ID:???例えばreal_escape_stringは良いけど
htmlspecialcharsとかで処理するのは論外
■ このスレッドは過去ログ倉庫に格納されています