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

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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0159nobodyさん2013/09/30(月) 20:47:02.14ID:DuvmEicp
>>158
見えない敵と戦ってるキチガイだからほっとけ
0160nobodyさん2013/09/30(月) 21:47:47.62ID:???
ID消し忘れて自演なのがバレたなwwwwwwwww
0161nobodyさん2013/09/30(月) 21:51:14.52ID:???
712 名前:nobodyさん[] 投稿日:2013/09/07(土) 03:39:36.83 ID:ULjgSdXk [1/8]
ZendStudio5.5がwin7に入らないので、VirtualBoxのXPから使っていますが、
今ならもっといいIDEがあるんじゃないか?と思いました
今ベストのPHP用IDEって何ですか?
715 名前:nobodyさん[] 投稿日:2013/09/07(土) 06:02:14.70 ID:ULjgSdXk [2/8]
phpstormってのを入れてみましたが
なんかくそ重いですね・・
718 名前:nobodyさん[] 投稿日:2013/09/07(土) 07:41:11.07 ID:ULjgSdXk [3/8]
phpEditもいまいちな感じでした
Netbeansが良さそうです
JavaScriptも書けるし
>>716
ゴミ虫は水たまりの中で溺れとけ
>>717
肥だめの中で叫んどけ
719 名前:nobodyさん[] 投稿日:2013/09/07(土) 10:05:50.59 ID:ULjgSdXk [4/8]
netbeansは使ってるうちにもっさり感にイライラしてきました
phpdesignerというのはJavaじゃないので速いらしいですが不安定らしいし
なんともうまくいかないものです
723 名前:nobodyさん[] 投稿日:2013/09/07(土) 11:50:22.13 ID:ULjgSdXk [5/8]
corei7でメモリ8Gの、そこそこ新しいマシーンですが・・
729 名前:nobodyさん[] 投稿日:2013/09/07(土) 13:24:37.97 ID:ULjgSdXk [6/8]
8Gでもメモリ使い切ったことないですが・・
731 名前:nobodyさん[] 投稿日:2013/09/07(土) 13:39:07.49 ID:ULjgSdXk [7/8]
愚痴じゃねーよカス
単なる事実
733 名前:nobodyさん[] 投稿日:2013/09/07(土) 13:47:52.01 ID:ULjgSdXk [8/8]
今のZendStudioってまだeclipseベースなんですかねー
eclipseベースになるまでのZSは軽快でいいんですが・・
0162nobodyさん2013/09/30(月) 21:52:20.90ID:???
741 名前:nobodyさん[] 投稿日:2013/09/08(日) 02:39:33.49 ID:W4jWd7Y2 [1/3]
ZendStudio最新版を入れてみましたが、やっぱり一番まともかも。
ただ今後node.jsに乗り換えていきたいのでPHPに金使いたくないんですよね。。

743 名前:nobodyさん[] 投稿日:2013/09/08(日) 06:16:39.93 ID:W4jWd7Y2 [2/3]
ZSはJavaScriptの即時関数がアウトラインの解析対象にならないので
aptana studioを試してみました
これは速度的にも悪くなく、JSの即時関数の中も見ていて、なかなかいいです
無料ですし

>>742
意見を書くまともな回答者がいないだけでしょう
技術的には最下層の連中が居着くのは
落ちぶれた質問スレには良くあることです

748 名前:nobodyさん[] 投稿日:2013/09/08(日) 16:53:29.54 ID:W4jWd7Y2 [3/3]
色々試しまくりましたがsublime textに落ちつきそうです



懲りねえな本当に
態度のでかさが一致してるぞ
0163nobodyさん2013/10/01(火) 01:38:15.79ID:jc8kBRmw
次のような文字列(URL)があった場合、
$url = 'http://example.com/index.html?xx=hoge&;yy=YYYYY'
YYYYYの部分を取り出したいのですが、どのようにするのが効率よいでしょうか?
他の部分は要りません。YYYYYの部分だけ取り出せればよいです。YYYYYは必ず末尾に来ます。

例)
http://example.com/index.html?xx=hoge&;yy=saitama
は「saitama」

http://example.com/index.html?xx=hogehoge&;yy=fugafugauga
は「fugafugafuga」
を取り出せればと思います。
0164nobodyさん2013/10/01(火) 02:30:45.52ID:???
>>163
自分でどんなコード書いてみたの?
0165nobodyさん2013/10/01(火) 04:06:08.92ID:???
>>163
http://php.net/manual/ja/function.parse-url.php
http://php.net/manual/ja/function.parse-str.php
0166nobodyさん2013/10/01(火) 04:24:17.64ID:???
$url = 'http://example.com/index.html?xx=hoge&;yy=YYYYY';
echo substr($url, strrpos($url, '=')+1);
0167nobodyさん2013/10/01(火) 13:46:44.24ID:???
ぽまいら効率って言ってんだぞ?
0168nobodyさん2013/10/01(火) 14:38:50.82ID:???
166より効率的な方法があるならコード出せばいいだろ
0169nobodyさん2013/10/01(火) 15:22:40.84ID:???
正規表現について教えて下さい。

例えば、このスレの>>158であれば、
ソースは

<dt>158 :<a href="mailto:sage"><b>nobodyさん</b></a>:2013/09/30(月) 20:03:22.11 ID:???</dt>
<dd> <a href="../test/read.cgi/php/1379566039/157" target="_blank">&gt;&gt;157</a> <br> ちゃいますがな。 <br> 前スレは兎も角、JSスレなんぞ知ったこっちゃないわ。 <br><br></dd>

となっています。
これに対し、アンカーである「&gt;&gt;157以外」という指定をしたい場合はどんな書き方になるでしょうか。

[^((>>|&gt;&gt;)\d+)]
自分ではこんな書き方をしてみたのですが、アンカー以外の文字や数字もマッチしてしまいます。

http://www.rider-n.sakura.ne.jp/regexp/regexp.php
の正規表現チェッカーを使っています。
0170nobodyさん2013/10/01(火) 15:35:25.35ID:???
>>169
文字列単位で含まないは非常に面倒。
http://www.kt.rim.or.jp/~kbk/regex/regex.html#NOTINCLUDED
0171nobodyさん2013/10/01(火) 15:44:18.25ID:???
>>170
ありがとうございます。これは素晴らしいですね。
とりあえず何も考えずに、「&gt;&gt;157」と入力したら大変なことになりました。

(((((((((((((((((((([^&]*)*(&+[^g][^&]*)*)*)*(&+[^t][^&]*)*)*)*(&+[^;][^&]*)*)*)*
(&+[^&][^&]*)*)*)*(&+[^g][^&]*)*)*)*(&+[^t][^&]*)*)*)*(&+[^;][^&]*)*)*)*(&+[^1][^&]*)*)*)*
(&+[^5][^&]*)*)*)*(&+[^7][^&]*)*)*

もう何が何だかですね。
これでレス番号の所を不特定にしようとするとまたまた大変なことになりそうです。
0172nobodyさん2013/10/01(火) 17:30:29.40ID:???
echoの中でif文は書けないの?
0173nobodyさん2013/10/01(火) 18:19:46.94ID:???
ifの中でecho書けばいいよ
0174nobodyさん2013/10/01(火) 18:49:28.67ID:???
ecifho 書けた
0175nobodyさん2013/10/04(金) 22:22:14.08ID:???
>>169,>>171
ウザいよお前。
ゴミの癖に書き込むな。
0176nobodyさん2013/10/05(土) 09:24:07.16ID:???
>>169
お前来なくていいよ
0177nobodyさん2013/10/05(土) 14:33:04.33ID:YNk7wyPN
$index3 = $xml->xpath("//*[@id='main']");
↑みたいにxpathで範囲狭めた後出力しようとsaveXMLするとエラーが出るんだけどどうすれば回避できますか?
Fatal error: Call to a member function saveXML() on a non-object 〜〜〜
0178nobodyさん2013/10/05(土) 14:52:31.04ID:???
エラーメッセージくらい読めよ
0179nobodyさん2013/10/05(土) 16:26:59.46ID:???
xpathが何を返すのか、saveXML()はどのクラスのメソッドか、
そして>>178
0180nobodyさん2013/10/06(日) 00:07:56.24ID:???
$y = new Yakkun();
$condition = $y->revive() or die();
0181nobodyさん2013/10/06(日) 14:23:34.19ID:kcYhuXWy
pack関数を使いたいんですが、list関数(言語構造)のように項目の数だけ無限に引数を作るようになっているので、
pack('H*',0x1234,0x5678);
を、apack関数を作って
$a = array('0x1234','0x5678');
$p = apack('H*',$a);
のようにしたいのですが、どのようにすると出来ますか?
あと、出来ればarrayのように引数を無限に作れる関数(arrayは言語構造ですが)をユーザー関数で作るのは可能か、可能なら作り方を教えて下さい。
0182nobodyさん2013/10/06(日) 16:52:50.06ID:???
>>181
ほい
http://php.net/manual/ja/function.call-user-func-array.php
0183nobodyさん2013/10/06(日) 18:20:34.81ID:???
>>181
はい
http://www.php.net/manual/ja/function.func-get-args.php
0184nobodyさん2013/10/07(月) 02:52:34.10ID:JOitpE17
PHPやるの初めてなんだけど、スクリプトを記述するときの<?php ?>は絶対に必要なんですか?
HTML内に書く際に必要になるのは分かるんだけど、インクルードして使う際も書いた方がいいのかなと思いまして
0185nobodyさん2013/10/07(月) 05:47:41.99ID:???
全部PHPコードなら閉じるのは必要ではないが開始は必要
0186nobodyさん2013/10/07(月) 12:51:30.59ID:???
ゴミがゴミをわらっとる。
滑稽なり。
0187nobodyさん2013/10/07(月) 13:28:17.57ID:???
>>185
もっと言えば、閉じる方は積極的に省略するのが推奨されてる
0188nobodyさん2013/10/07(月) 18:15:05.70ID:vlnyY1nZ
>>181です

>>182-183
>>182は1つ目の質問、>>183は2つ目の質問に対してでいいんですよね?
これでlistやpackのような関数が自由に使えますね、有難うございます!

>>184
PHPは始めの[<?php]を入れないと、HTMLに限らずただのテキストになってしまうので必要です
HTMLでHEADタグの中に入れないといけないMETAタグを
<HEAD><META /></HEAD>
てしなければいけない感じ。
でも終了タグ[?>]はただのテキスト(HTML含む)を入れないなら入れなくてもOK
0189nobodyさん2013/10/07(月) 19:16:43.33ID:???
>>185,187-188
ありがとうございます!
終了タグだけ書かないっていうのは少しかゆいですが、その使い方で使わせていただきます
0190nobodyさん2013/10/07(月) 19:17:18.67ID:JOitpE17
sage外すの忘れてた・・・
0191nobodyさん2013/10/07(月) 19:20:57.28ID:???
>>190
投稿前に確認すらできないゴミクズは二度と来るな
0192nobodyさん2013/10/07(月) 20:15:11.02ID:hXbfRE6C
本当に簡単な質問ですみません
http://www.phpbook.jp/appli/keijiban/index1.html
ここにあるkeijiban1.phpのphpの部分を

22: <?php
23:
24: $personal_name = $_POST["personal_name"];
25: $contents = $_POST["contents"];
26:
27: if ($_POST["personal_name"] != "" && $_POST["contents"] != ""){
28: print("<p>投稿者:".$personal_name."</p>");
29: print("<p>内容:</p>");
30: print("<p>".$contents."</p>");
31: }
32:
33: ?>

に変えたのですが
Notice: Undefined index: personal_name in C:\xampp\htdocs\workspace\bbs.php on line 24
Notice: Undefined index: contents in C:\xampp\htdocs\workspace\bbs.php on line 25
Notice: Undefined index: personal_name in C:\xampp\htdocs\workspace\bbs.php on line 27
というエラーが出ます
エラー出ないように修正しようとしたのですがうまく出来ませんでした
どのように直せば良いでしょうか
0193nobodyさん2013/10/07(月) 20:57:27.29ID:???
>>192
入力内容やらHTTPリクエストメソッドのチェックやらが全部省略されてるから警告が出る
error_reporting(E_ALL ~ E_NOTICE);
で警告は消せるがこれは悪手
勉強したいのなら悪い事は言わないから別のサイトでしよう
0194nobodyさん2013/10/07(月) 21:00:04.92ID:???
noticeだからログレベル弄るか非表示で問題なし
ちなみに内容は$_POSTに値が入ってないよって話
リクエストがPOSTか判定して分岐すれば

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
echo $_POST['contents'];
}
0195nobodyさん2013/10/07(月) 22:10:00.87ID:???
>>193-194
ありがとうございます
詳しく説明されているサイトや本で勉強してみることにします
0196nobodyさん2013/10/07(月) 22:15:19.48ID:???
>>192

$personal_name = (isset($_POST["personal_name"])
? $_POST["personal_name"]
: NULL;
$contents = (isset($_POST["contents"])
? $_POST["contents"]
: NULL;
0197nobodyさん2013/10/07(月) 22:59:44.18ID:???
初心者はxampp使うな
0198nobodyさん2013/10/08(火) 03:04:11.49ID:???
>>195
消えろクズ
0199nobodyさん2013/10/08(火) 05:57:38.47ID:???
俺もついつい>>196のように書いちゃうんだけど
厳密にはissetで比較してるからnullじゃなくてfalse返したほうがいいよね
0200nobodyさん2013/10/08(火) 10:14:32.78ID:???
> noticeだからログレベル弄るか非表示で問題なし
E_ALLしたらゴミログで溢れるわ、
そも値がどういう前提で使われるのかわかりづらくて
運用時にトラブルシューティングしにくいから勘弁して欲しいすわ。
0201nobodyさん2013/10/08(火) 10:30:20.55ID:???
$isExistPersonalName = isset($_POST["personal_name"]);
なら条件判別用に使うbooleanでいいが、値取得ならnullまたは空文字が妥当でしょ
0202nobodyさん2013/10/08(火) 11:04:47.07ID:???
>>199
なんでfalse? よくわからない
0203nobodyさん2013/10/08(火) 12:19:26.92ID:???
クズクズうるせークズ
0204nobodyさん2013/10/08(火) 13:16:56.01ID:xqp9FA+C
今PHPでショッピングカート作ってるんですけど、カートに登録する情報の最低条件は
商品ID,個数,ユーザID くらいだとして、
ユーザーが会員登録していない・ユーザIDが存在しない状況のときはどうしたら良いんでしょうか
サイトにアクセスしたときに乱数発生させてクッキーに保存。それをIDとして代用するしかないですか?
そうするといろんなデバイスでカート情報を共有できなくなるのはあきらめるしかないんでしょうか

PHP固有の問題の質問じゃなくてすみません
0205nobodyさん2013/10/08(火) 13:25:26.67ID:???
if (isset($_POST['a'])) {
 $a = $_POST['a'];
} else {
 $a = null;
}

function aaa($a) {
0206nobodyさん2013/10/08(火) 13:34:15.73ID:???
無名関数について調べてたらたまたまisset使用してるコードが書いてたけどそこだとfalseになってんな。
もっともgetterで変数がセットされてたら返すという利用法で、$_POSTの時とは話が違うけど。
自分はnull使ったり、1以上の整数値が入ること想定してんなら0とか入れるかもしれないし、
文字列の場合空文字にする時もあるかな。
falseでも比較に支障はないけど違和感は感じるね。
0207nobodyさん2013/10/08(火) 13:34:39.65ID:???
カートとは別に、ログイン中かどうかを示すセッションあるやろ
「確定」ボタン押したときログイン中じゃなかったら一旦ログイン画面へ飛ばす
つまりカートにはユーザIDは不要
0208nobodyさん2013/10/08(火) 14:11:06.80ID:xqp9FA+C
>>207
ありがとうございます
1)カートの内容確認画面の「確定」ボタンを押してログインチェック
2)ログイン中ならユーザIDを持って決済実行
3)ログインしてなかったらユーザ登録ページに移動
って感じでしょうか

これはカート情報をDBに持たせるのではなくて全部ブラウザのクッキーもしくはセッションに持たせる前提ですか?
DBに持たせるとしたら、テーブルにユーザごとの固有のフィールド(クッキーまたはセッションに入れた乱数?)を
持たさなきゃだめですよね。よくあるページ上部の「カート:5商品」とかを実現するには。。
0209nobodyさん2013/10/08(火) 14:28:08.31ID:???
>>208
業者に作ってもらえ乞食
0210nobodyさん2013/10/08(火) 15:41:58.79ID:???
>>208
セッションに、カート丸ごと入れればいいじゃない。
0211nobodyさん2013/10/08(火) 16:12:37.78ID:???
>これはカート情報をDBに持たせるのではなくて全部ブラウザのクッキーもしくはセッションに持たせる前提ですか?
どこに持たせようがやることは同じだと思うのだが
0212nobodyさん2013/10/08(火) 16:42:12.77ID:???
>>211
cookieに持たせる場合とセッションに持たせる場合じゃ、やること違うでしょ
0213nobodyさん2013/10/08(火) 16:55:27.46ID:???
いや?情報の読み込ませ方が違うってだけでやることは同じ
0214nobodyさん2013/10/08(火) 17:03:32.06ID:???
初心者はレスするな
0215nobodyさん2013/10/08(火) 17:15:08.67ID:???
>>213
> 情報の読み込ませ方が違う
から、やることが違うって言ってるんだが。
抽象化されたデータ構造を受け取る設計になっているViewの場合なら、そのViewの処理は同じだろうが。
0216nobodyさん2013/10/08(火) 17:28:35.52ID:???
揚げ足取りとかいらないから
読ませるだけの違いをさも明確な違いだと言わんばかりに主張されても失笑するだけ
0217nobodyさん2013/10/08(火) 17:34:52.75ID:???
やることは同じ→処理内容的に同じことをしていく(読んでいじって書いて)
やることは同じ→使用する関数なんかが違うから同じじゃない
0218nobodyさん2013/10/08(火) 18:21:41.23ID:???
>>216
いや、そもそもcookeiとセッション(あるいはデータベース)では、根本的にデータをクライアント側で
保持するのか、サーバ側で保持するのかという違いがあるでしょ。

それを「読ませるだけの違い」っていっちゃうわけ?
0219nobodyさん2013/10/08(火) 18:27:17.59ID:???
データをサーバ側から出さない場合とクライアント側に出す場合じゃ、施すセキュリティ対策も変わってきたりするでしょ。
それに、cookieに保持するのであれば、PHPがいうセッションの期間だけを有効にするのか、あるいはそのセッションを超えて
(例えば3日とか)保持するとか、そういう設計の違いも出てくるし。
0220nobodyさん2013/10/08(火) 19:10:24.42ID:???
話が飛躍しすぎ
そこまで深い話をしてるわけじゃないのは見ればわかるだろ
0221nobodyさん2013/10/08(火) 19:48:19.33ID:???
質問
DBに持たせるとして、よくあるページ上部の「カート:5商品」とかを実現するには、
テーブルにユーザごとの固有のフィールド(クッキーまたはセッションに入れた乱数?)を
持たさなきゃだめですよね?

答え
いいえ
DB+クッキーでセッションを実現する場合は必要ですが(わかってると思うがIPはだめ)
PHPのセッションを使う場合についてはその限りではありません
PHPのセッションを使うとサーバ側に固有IDを持つファイルが生成されその中に情報入れていきます
クライアント側は固有IDと紐つけるためにクッキーを食べさせられます
DB+クッキーでやろうとしてることを勝手にやってくれる仕組みです
自前のセッションを構築したいという強いこだわりがないのならPHPのセッションを使いましょう
ちなみに自前でセッションを構築するのはいろんな意味で危険なのでおすすめしません
0222nobodyさん2013/10/08(火) 20:19:28.41ID:???
クライアント側のセッション情報はデフォルトではクッキーだけどhiddenやurlに含ませることもできる
ベストなのはクッキーだけどね
ひろみつがクッキー食えないのドコモ茸とかネタでやってたけど
今はもうその問題も解消されてるのかな?
02231/42013/10/08(火) 21:08:40.33ID:5MYNYfSx
【OS名】windows7 64bit home
【PHPのバージョン】PHP/5.4.7
【連携ソフトウェア】MySQL
【質問内容】
文字コードがEUC-JPのhtmlを読み込み、xmlに変換したいのですが下記エラーがでてうまくいきません。どなたかお助けを。
Warning: DOMDocument::loadHTML(): ID top already defined in Entity, line: 73 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 93 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 132 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): Unexpected end tag : b in Entity, line: 288 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): Unexpected end tag : b in Entity, line: 292 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): Unexpected end tag : b in Entity, line: 296 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): Unexpected end tag : b in Entity, line: 300 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): Unexpected end tag : b in Entity, line: 304 in xxx\test.php on line 5
Warning: DOMDocument::loadHTML(): Unexpected end tag : b in Entity, line: 308 in xxx\test.php on line 5
02242/42013/10/08(火) 21:09:13.02ID:5MYNYfSx
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 330 in xxx\test.php on line 5
Warning: simplexml_load_string(): Entity: line 3: parser error : Attribute xmlns redefined in xxx\test.php on line 7
Warning: simplexml_load_string(): <html xmlns="http://www.w3.org/1999/xhtml"; xmlns="http://www.w3.org/1999/xhtml"; in xxx\test.php on line 7
Warning: simplexml_load_string(): ^ in xxx\test.php on line 7
Warning: simplexml_load_string(): Entity: line 3: parser error : Attribute xml:lang redefined in xxx\test.php on line 7
Warning: simplexml_load_string(): html" xmlns="http://www.w3.org/1999/xhtml"; xml:lang="ja" lang="ja" xml:lang="ja" in xxx\test.php on line 7
Warning: simplexml_load_string(): ^ in xxx\test.php on line 7
02253/42013/10/08(火) 21:09:46.30ID:5MYNYfSx
コードです
<?php
$html = file_get_contents('http://www.dixe.net/modules/smartsection/item.php?itemid=23');
//libxml_use_internal_errors(true); //エラー回避用
$domDocument = new DOMDocument();
$domDocument->loadHTML($html);
$xmlString = $domDocument->saveXML();
$xmlstr = simplexml_load_string($xmlString);
?>
02264/42013/10/08(火) 21:10:28.00ID:5MYNYfSx
$html = preg_replace('#/#', '', $html);
と";"を置換してもダメでした。なにかいい方法ありますか?
0227nobodyさん2013/10/08(火) 21:28:47.28ID:4t+2own2
73: <link href="http://www.dixe.net/favicon.ico"; rel="SHORTCUT ICON" />
74: <link rel="icon" href="http://www.dixe.net/favicon.gif"; type="image/gif" >
75: <link rel="stylesheet" type="text/css" media="all" href="http://www.dixe.net/common.css"; />
0228nobodyさん2013/10/08(火) 21:32:19.80ID:4t+2own2
あれ、ごめん。なんでもない
0229nobodyさん2013/10/08(火) 23:56:18.52ID:bxnPZOzZ
今日レビューで見かけて驚いたコード

$isHogeHoge() ? echo 'エラーです' : redirect('/hogehoge/success'); // 当然返り値を受け取ったりはしてない

指摘したら「(俺)さんはCとかJavaの人間だからwPHPでは普通ですよw」みたいなこと言われて動揺してそれ以上聞けなかったんだが・・
実際のとこどうなのかおしえてくれ。
0230nobodyさん2013/10/09(水) 00:02:24.32ID:???
レビューあるのにコーディング規約ないの?
規約に反するならちゃんと指摘しないと
0231nobodyさん2013/10/09(水) 00:07:18.43ID:???
入れ子禁止くらいはあったと思うがそんな厳密な規約はないっす。
つうか「三項演算子でエコー、リダイレクト禁止」みたいな規約があったらむしろ決めた人の感覚を疑うw
0232nobodyさん2013/10/09(水) 00:13:08.49ID:???
いやいやそんな規約じゃなくて単に可読性落ちるから指摘していいやん
0233nobodyさん2013/10/09(水) 00:27:00.76ID:???
指摘したら「PHPでは普通です。見やすいですよね」みたいに言われたからほんとに一般にそうなのか聞きたいんす
0234nobodyさん2013/10/09(水) 00:59:20.60ID:3/AePGfa
>>223は解決しました。多分別のところが問題でした。>>227-228さん、ありがとうございました。
それでまた別の質問なんですが

【OS名】windows7 64bit home
【PHPのバージョン】PHP/5.4.7
【連携ソフトウェア】MySQL
【質問内容】
以下のコードで文字化けしてしまいます。
どこが悪いのでしょうか。
結果はこうなります。
http://www.dotup.org/uploda/www.dotup.org4565282.jpg

<?php
$str=( '<html><body>123abcあいう</body></html>');
$dom = new DOMDocument();
$dom->loadHTML($str);
$xml = $dom->saveXML();
$xmlmain = simplexml_load_string($xml);
var_dump( $xmlmain->body);
?>
0235nobodyさん2013/10/09(水) 02:02:20.24ID:???
じじいの俺も未だ三項演算子にやはり抵抗はあるな。ifelse書く
javascript内で見かけたらクライアント側に送るデータ少なくしたいんだなとは思うけど

返値が同じ型や似たような値・処理内容が同じような命名規則の関数の羅列
の場合だと使うかな?  とか思ったけど、やはり自分基本三項演算子自体を使わないから意見出すのはやはり間違ってるなと思って黙っとく
0236nobodyさん2013/10/09(水) 04:25:31.97ID:???
普通ではないけどやってることはif-else文と同じでしょう
別に驚きはしないけど自分はやらないよ
三項演算子を使うのは基本変数のセットぐらい>>196
あれをif-elseでやると$_POST $_GETが多いほど長ったらしくなるからね
0237nobodyさん2013/10/09(水) 05:00:41.78ID:???
>>229
>$isHogeHoge()

可変関数使ってるの?
02382352013/10/09(水) 05:06:21.42ID:???
$isHogeHoge() ? echo 'エラーです' : redirect('/hogehoge/success');
$isIogeIoge() ? echo 'エラーです' : redirect('/hogehoge/success');
$isJogeJoge() ? echo 'エラーです' : redirect('/hogehoge/success');
$isKogeKoge() ? echo 'エラーです' : redirect('/hogehoge/success');
$isLogeLoge() ? echo 'エラーです' : redirect('/hogehoge/success');
・・・

こんなかんじだったらやる かもしれんnu?
02392352013/10/09(水) 05:09:24.45ID:???
いやねえなw
助長だわなすまね
0240nobodyさん2013/10/09(水) 05:11:33.01ID:???
クロージャーかもしれない
0241nobodyさん2013/10/09(水) 06:48:49.94ID:???
>>234
DOMDocument#loadHTML() はHTMLから文字エンコーディングが判別できない場合は
ASCII互換として処理するみたいだがこれが原因だな
loadHTML() する前に mb_convert_encoding($html, ''HTML-ENTITIES', '$htmlのエンコーディング'); で
非ASCII文字を数値文字参照に変換してしまうのが楽そうだ
0242nobodyさん2013/10/09(水) 12:58:52.60ID:???
三項演算子 と if 文 を比べてるやつはドシロート
三項演算子 は 文 じゃなくて 式
恥ずかしいぞ
0243nobodyさん2013/10/09(水) 13:15:36.96ID:???
>>192

<?
$personal_name = isset($_POST["personal_name"]) ? $_POST["personal_name"] : NULL;
$contents = isset($_POST["contents"]) ? $_POST["contents"] : NULL;
if ($personal_name && $contents) {
 echo "<p>投稿者:{$personal_name}</p>\n";
 echo "<p>内容:</p>\n";
 echo "<p>{$contents}</p>\n";
}
0244nobodyさん2013/10/09(水) 15:00:54.87ID:???
>>242
自己紹介乙
0245nobodyさん2013/10/09(水) 15:01:09.70ID:???
>>243

<?php
$personal_name = isset($_POST["personal_name"]) ? $_POST["personal_name"] : NULL;
$contents = isset($_POST["contents"]) ? $_POST["contents"] : NULL;
if (trim($personal_name) && trim($contents)) {
 echo
  "<p>投稿者:{$personal_name}</p>\n" .
  "<p>内容:</p>\n" .
  "<p>{$contents}</p>\n";
}
0246nobodyさん2013/10/09(水) 15:08:06.66ID:???
恥ずかしいから終わった話題をぶり返すな
0247nobodyさん2013/10/09(水) 17:47:19.90ID:???
>三項演算子 は 文 じゃなくて 式
この言葉はif文と比べてないと出てこないんだけどwwwww
0248nobodyさん2013/10/09(水) 18:26:51.67ID:i4X3kT9V
変数の値設定に三項使って長々と書くようならデフォルト設定しておいて
改めて例外を上書きした方が見やすく問題も起きにくい

俺は最終段階でわざわざ余計な変数使いたくないような時にしか使わん
まあphpなんか使うことはないがな
0249nobodyさん2013/10/09(水) 18:53:45.73ID:???
>>247
おまえ白痴だろ?
0250nobodyさん2013/10/09(水) 18:55:14.36ID:???
>>246
恥ずかしいから、まずはとりあえずパンツを履け
それから一度家の外に出て外気を吸え
0251nobodyさん2013/10/09(水) 18:59:41.43ID:???
>>248
まぁ、おまえはどんな言語でも使えないがな
0252nobodyさん2013/10/09(水) 19:00:59.32ID:???
馬鹿だからなwww
0253nobodyさん2013/10/09(水) 19:40:38.43ID:0jpqnncd
phpinofoを見ると

Configuration File (php.ini) Path が C:\Windows なのに

Loaded Configuration File が C:\pleiades\xampp\php\php.ini

になってるんですが、
これはどこに書かれてある設定が効いているのでしょうか?

なお、httpd.conf に PHPIniDir の記述はありませんし、
Windows環境変数Pathの中にも、それらしい記述はありませんでした。
0254nobodyさん2013/10/09(水) 19:42:23.94ID:???
代用足りうる使い方ができるのに三項演算子とif文を比較するなってほうが無理がある
0255nobodyさん2013/10/09(水) 20:32:06.19ID:???
>>253
http://www.php.net/manual/ja/configuration.file.php
0256nobodyさん2013/10/09(水) 20:50:52.97ID:???
>>254
まずは日本語のお勉強からはじめましょうね
0257nobodyさん2013/10/09(水) 21:01:12.13ID:???
>>238
echoは使えません。
0258nobodyさん2013/10/09(水) 21:41:38.76ID:???
馬鹿丸出しだな >>238
三項演算子が "演算子"、"式" ってことが理解できてないからこんなアホなことを平気で書く
if文で代用とか言ってる馬鹿と同じ
■ このスレッドは過去ログ倉庫に格納されています