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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0202nobodyさん2011/01/30(日) 21:58:23ID:???
いや少なくともマニュアルくらい読もうよ
http://php.net/manual/ja/function.extract.php
0203nobodyさん2011/01/30(日) 21:58:49ID:???
変数の書き換えとかもできるから使うとき気をつけろよ
一歩間違えればソースが丸見えに
0204nobodyさん2011/01/30(日) 22:01:23ID:???
>>203
パーミッション777にしなければ大丈夫じゃかったか?
マニュアルも使うな使うなばかりで具体的な要因書かれてないのが
0205nobodyさん2011/01/30(日) 22:11:42ID:???
パーミッションの話はどこから来た
0206nobodyさん2011/01/30(日) 23:43:51ID:???
extract使うのきもい
0207nobodyさん2011/01/30(日) 23:46:55ID:???
俺が忠告する
extract ($_GET)を使う時は絶対に最初に使え
何があっても最初に使え、これだけは覚えておけ

もう本当に他の何を忘れてもいい、先生!変数と引数の違いって何でしたっけ?って10回ぐらい聞きに来てもいい
だがextract ($_GET)を最初に使う。これだけは絶対に忘れるな

extract ($_GET)は最初に使う

これは覚えておけ
0208nobodyさん2011/01/30(日) 23:58:08ID:???
extract ($_GET)を使う時は絶対に最後に使え
そうすれば変数の値を書き換えられても何も問題ない
0209nobodyさん2011/01/30(日) 23:59:25ID:???
最後に使ったらソレは使う意味が無いだろうw
0210nobodyさん2011/01/31(月) 00:03:06ID:???
isset みたいに未定義で渡しても警告がでないようにするには
どうしたらいいでしょうか?

if (isset($_GET['q']) && $_GET['q'] === 'http://') {

}

↑これを関数にしたいんですが


0211nobodyさん2011/01/31(月) 00:04:01ID:PiQXKV8S
すみません。ID忘れてました
0212nobodyさん2011/01/31(月) 00:18:41ID:???
>>210

試しに関数にしてみましたか?
関数にしてみて、どんなエラーが出ましたか?
そうした情報を書いてください。
0213nobodyさん2011/01/31(月) 00:19:28ID:???
>>211

ついでに関数も書けばベストだね
02142102011/01/31(月) 00:32:38ID:PiQXKV8S
>>212-213
すいません。勘違いしてましたorz
使ったときに警告でるんですね
0215nobodyさん2011/01/31(月) 00:58:20ID:???
>>206
別にextract使うだけは全く問題ないだろ
それとも何か問題あるん?
0216nobodyさん2011/01/31(月) 01:21:57ID:???
>>215
問題を正しく認識して使えば問題ない
0217nobodyさん2011/01/31(月) 01:37:53ID:???
課題を認識して使えば問題ない
0218nobodyさん2011/01/31(月) 01:39:51ID:???
extractは$_GETや第三者から送信される不確かなデータを使うと問題発生するのであって、それ以外では特に問題ない
0219nobodyさん2011/01/31(月) 03:27:46ID:???
てことは$_POSTなら問題ないのですね
0220nobodyさん2011/01/31(月) 04:11:36ID:???
プリフィクスを付ければ問題なくね?
0221nobodyさん2011/01/31(月) 05:44:46ID:???
nginx+fastcgiでphpmyadminがまともに動いてくれません
例えば、「テーブルを空にする」をクリックしても空になりません
どうすればいいのでしょうか
0222nobodyさん2011/01/31(月) 06:39:03ID:???
>>1
0223nobodyさん2011/01/31(月) 09:31:09ID:yVpW/4JQ
>>210
issetは関数じゃないのでムリ。@で警告抑止するぐらいが関の山だな。

0224nobodyさん2011/01/31(月) 09:37:50ID:???
>>210
対象が配列あればキーを引数にしたらどうだろ

if (hoge('q') === 'http://') {

function hoge($key) {
if (!isset($_GET[$key])) return false;
return $_GET[$key];
}

な感じで
0225nobodyさん2011/01/31(月) 09:40:46ID:???
このスレに居ると自信無くなる
なんで皆こんなに早く解決方法思いつくんだ
「うっわ、コイツ頭良いなー」って思ってばっか
0226nobodyさん2011/01/31(月) 11:06:15ID:UbLk7ymB
PHPってこの書き方できませんでしたっけ

class Test {

var $value = array();

public function setVal($val) {
array_push($this->value, $val);
}

public function dumpVal() {
var_dump($value);
}
}


$obj = new Test();
$obj->setVal("Test1")->setVal("Test2")->setVal("Test3")->dumpVal();
0227nobodyさん2011/01/31(月) 11:06:55ID:???
>>223
日本語でおk
0228nobodyさん2011/01/31(月) 11:18:19ID:???
>>226
setValが最後にreturn $thisするように自分で書かないとだめじゃね?

public function setVal($val) {
array_push($this->value, $val);
return $this;
}
0229nobodyさん2011/01/31(月) 11:21:26ID:UbLk7ymB
>>228
なるほど!
それでいこう!ありがとう!
0230nobodyさん2011/01/31(月) 11:49:07ID:???
それは面白い書き方だけど素直に配列渡した方が短くないw
0231nobodyさん2011/01/31(月) 12:03:08ID:???
面白い書き方っていうか普通にメソッドチェーンって呼ばれてるだろ
0232nobodyさん2011/01/31(月) 12:10:23ID:UbLk7ymB
> メソッドチェーン
それだ!ちょうど言葉が出てこなかったから知りたかったんです
ただ、このreturn $thisはあまりきれいな書き方じゃないですよね
0233nobodyさん2011/01/31(月) 12:10:49ID:???
ほとんど使わないな<メソッドチェイン
0234nobodyさん2011/01/31(月) 12:13:40ID:???
jsだと定番だけどね。
>>232 やりたいなら普通の書きかただよ
0235nobodyさん2011/01/31(月) 14:39:53ID:???
外部のゲームサーバーが生きているかpingを飛ばすスクリプトを
cronでぐるぐる24時間定期的に動かしてログを蓄積し
ログからグラフ表示をしたいのですが
何か気をつける事などありますでしょうか
0236nobodyさん2011/01/31(月) 14:48:25ID:???
パソコンの電源コードに足を引っ掛けて停止させない事に気をつける
部屋を閉めっぱなしにすると湿気が多くなるからこまめに換気する
0237nobodyさん2011/01/31(月) 14:53:46ID:???
自演うざい
02382382011/01/31(月) 15:05:38ID:???
ロリポップので拡張子非表示にしたいのですが
.htaccess設定で
<Files hoge>
ForceType application/x-httpd-php
</Files>
と記述しても動きません
どこかまちがってますか?
0239nobodyさん2011/01/31(月) 15:06:42ID:???
また自演か
0240nobodyさん2011/01/31(月) 15:06:51ID:???
>>238
たぶんお前のやりたいのはmod_rewrite
02412382011/01/31(月) 15:07:57ID:???
>>240
さっそくレスありがとうございます
ちょっとしらべてみます
02422382011/01/31(月) 16:25:05ID:???
>>240
mod_rewriteで検索したら解決できました
どーもありがとう

0243nobodyさん2011/01/31(月) 17:25:27ID:???
またAjaxか
0244nobodyさん2011/01/31(月) 17:27:02ID:???
チンピラが帰ってきてやけに伸びてますね
0245nobodyさん2011/01/31(月) 17:52:25ID:???
Ajaxの勉強始めたんだけど、実際PHPとどうからめていけばいいだろう。
WEBアプリ作ってる人はどんな風に活用してるの?
鯖側とクライアント側とどちらにさせるかのさじ加減ってなにか基準とかある?
0246nobodyさん2011/01/31(月) 17:56:26ID:???
>>245
基本的にPHPとカラメル部分はXHRでしょ
0247nobodyさん2011/01/31(月) 17:59:53ID:???
はぁ?Ajax使うなら全部Ajaxでやるのが基本だろうが
0248nobodyさん2011/01/31(月) 18:16:51ID:zP51cx1h
ID出すの忘れてた
>>247
手厳しい・・・
DB使ったWEBアプリを想定しててもAjaxで全部やるんですか?
>>246
JSONっていう言葉もでてきてるんですが、実際のところXMLとJSONとどっちが主流なんでしょ?
0249nobodyさん2011/01/31(月) 18:22:44ID:???
JSONが楽、俺は
0250nobodyさん2011/01/31(月) 18:29:33ID:???
ニートが楽、俺は
0251nobodyさん2011/01/31(月) 18:40:57ID:???
俺はニート、が楽
0252nobodyさん2011/01/31(月) 18:42:18ID:???
はぁ?Ajax使うならDBなんか必要ねぇだろうが
0253nobodyさん2011/01/31(月) 18:44:25ID:???
アジャックス?
エージャックス?
0254nobodyさん2011/01/31(月) 18:46:01ID:???
JAXAに聞いてください。
0255nobodyさん2011/01/31(月) 18:49:27ID:???
>>248
個人でシンプルなデータを扱うのならjsonの方が楽
jsonに対応したAPIも増えているしね。
0256nobodyさん2011/01/31(月) 18:56:36ID:???
jsonもXMLもライブラリに食わすだけだから使い勝手はあまり
変わらんといえばそうなんだが、トラブルシューティングのときは
XMLだと見るのが嫌になるので選択できるならjson。相手がXML
しかないときはしょうがない。
0257nobodyさん2011/01/31(月) 19:00:56ID:???
XMLはHTMLに変換すると楽だよ
0258nobodyさん2011/01/31(月) 19:04:24ID:???
Json使うのはいいんだけどさ、
PHPでHTML生成してベタって貼りつけるやつなんなの?
通信を最小限に抑えるために使うんだから、HTML作らないでデータだけよこせよ
そしたらクライアントサイドでHTML生成するのに

0259nobodyさん2011/01/31(月) 19:06:46ID:???
>>258
文句があるなら使わなきゃいいじゃねぇか
0260nobodyさん2011/01/31(月) 19:07:51ID:???
>>259
いや、仕事で引き継いだやつのソース見ると皆その書き方なのよ
わからないなら使わなければいいのに・・・。
0261nobodyさん2011/01/31(月) 19:17:07ID:???
>>260
ではあなたもその流儀に従うのが吉でしょう
0262nobodyさん2011/01/31(月) 19:32:12ID:???
javascriptがオンじゃないと見れないサイト作ろうとしてるのか一人でwwwwwwwwwwwwwwwwwwwwwwwww
0263nobodyさん2011/01/31(月) 19:32:40ID:zP51cx1h
個人というか、社内用で自分が開発して運用するからjsonのほうがよさげですね。
>>252
そうなの? AJAXとMysqlでぐぐると、PHPが絡んでない記事なんてほとんどないんだけど。
てか、鯖側でDBのいろいろな処理させるのに、クライアントサイドですべてできるとは思えないんだけど。
鯖側でPOSTされたチェックとか、PHP使わないでどうやるんだろう。見当違いのこといってたらすみません。
0264nobodyさん2011/01/31(月) 19:34:10ID:???
>>258
JSONだと表示ロジックがjavascriptとPHPで分散しちゃうでしょ。
htmlで返せるならサーバ側はsmarty等で統一できるということ。
例えばデータが空ならここの<tr>を表示しないみたいなロジックが別個で実装されてるとかキモいでしょ。
そもそもTCP上のHTTPリクエストをする時点で500Bか1kBかという差なんて誤差程度。
0265nobodyさん2011/01/31(月) 20:04:46ID:???
>>262
Ajaxで構築すれば何でも出来るのに、javascriptがオンとか関係ないしwwww
0266nobodyさん2011/01/31(月) 20:06:27ID:???
>>264
TCPとかHTTPとか何わけのわからん用語を持ち出してんの?
Ajaxの話をしてんだよね?
0267nobodyさん2011/01/31(月) 20:14:27ID:???
ajaxアンチはお帰りください
0268nobodyさん2011/01/31(月) 20:20:43ID:???
アンチajaxはお帰りください
0269nobodyさん2011/01/31(月) 20:22:15ID:???
っつーかここphpスレだろ
0270nobodyさん2011/01/31(月) 20:27:53ID:???
いいえ、PHPスレに偽装したAjaxaスレです
0271nobodyさん2011/01/31(月) 20:45:05ID:???
265 名前:nobodyさん[sage] 投稿日:2011/01/31(月) 20:04:46 ID:???
>>262
Ajaxで構築すれば何でも出来るのに、javascriptがオンとか関係ないしwwww

おいおい、これマジで言ってんのか
0272nobodyさん2011/01/31(月) 21:03:48ID:???
その気になるまでなかなかセックスさせてくれないし。
0273nobodyさん2011/01/31(月) 21:23:56ID:???
>>271
荒らしですか?気に入らないからといって妙な書き込みはしないほうがいいですよ
0274nobodyさん2011/01/31(月) 21:34:31ID:???
お前らまとめて
http://hibari.2ch.net/test/read.cgi/php/1289117484/
ここ池
0275nobodyさん2011/01/31(月) 21:44:46ID:???
>>274
我々全員があちらに移ってしまったらここにはあなた一人しかいなくなってしまいますよ。
何より、このスレが質問時のID出しが義務ではなくなったので、あちらのスレはもう不要になりました。
よってあちらのスレはこちらに再統合される予定です。
0276nobodyさん2011/01/31(月) 21:46:24ID:???
>>275
とりあえずおまえは巣に帰れ
0277nobodyさん2011/01/31(月) 21:59:16ID:???
>>276
ですから私の巣はここです。他にはありません。
0278nobodyさん2011/01/31(月) 22:10:57ID:???
>>273
Ajaxで構築すればjavascript関係ないって言ったんでしょ?
おかしいよねって話
0279nobodyさん2011/01/31(月) 22:17:28ID:???
AjaxでAjaxればAjax関係ないって言ったんだって。
Ajaxねって話。
0280nobodyさん2011/01/31(月) 22:19:07ID:???
>>278
日本人に理解できる言葉で書いてくれwww
0281nobodyさん2011/01/31(月) 22:51:18ID:???
アジャアジャうっせーよwwww
0282nobodyさん2011/01/31(月) 22:54:27ID:???
このスレの名物人物
チンピラ
OCN
正規表現
ajax
perl忍者
0283nobodyさん2011/01/31(月) 22:55:07ID:???
そう?俺は別にへー気だけど。
0284nobodyさん2011/01/31(月) 22:56:54ID:???
チンピク
OQN
0285nobodyさん2011/01/31(月) 23:49:26ID:w1tZJcaz
本を見て書いたphpに
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in〜
とエラーが出て、書いた中から目星をつけたのですが
$sql = " select * from category where parent_id = '$parent_id' and type = '$type' order by '$order' $sortlimit $page, $rows ";
↑これが原因じゃないかというところまできましたが、複雑すぎてイマイチわかりません
これを別の方法で簡単に書くことはできますか?
0286nobodyさん2011/01/31(月) 23:52:40ID:???
>>285
$sql = " select * from category where parent_id = '$p' and type = '$t' order by '$o' $s $p, $r;";
0287nobodyさん2011/02/01(火) 00:00:13ID:???
>>285
その$sql= 行の直後に
print "sql:$sql";
とか入れて表示してみそ。
0288nobodyさん2011/02/01(火) 00:24:06ID:???
>>238 >>1
0289nobodyさん2011/02/01(火) 00:33:42ID:???
PHPしか知らんが、全く知らない「独習C#」を注文した俺に一言
0290nobodyさん2011/02/01(火) 01:57:49ID:???
>>285
まずmysql_query()の段階でfalseが返ってる
その時にmysql_error()でエラーメッセージ読めばOK
たぶん$sortlimitの所にスペース入ってないだけだと思うけど
0291nobodyさん2011/02/01(火) 03:58:12ID:???
>>289
PHPと競合するアプリケーション開発ならあまり問題にならないと思うが
クライアントアプリケーションとかだと勝手がわからなくて困ると思う
C#の入門書なんてそっちにフォーカス当たってるからPHPしか知らんと苦戦する
JavaScriptがわかってればそっち方面もわりと理解できるんだけどな
0292nobodyさん2011/02/01(火) 04:05:05ID:???
>>291
相手にすんな馬鹿
0293nobodyさん2011/02/01(火) 10:59:17ID:1lcV1gae
テキストフォームから入力された文字をMySQLでDBに登録しようとしているのですが
ウムラウト文字のようにテキストに入力後、うまく保存できない文字の場合
どのように対応すればいいでしょうか?

通常のShift-Jisで対応できる文字は以下のように変換して保存しています。
$str = str_replace("℃","?",$str);

うまく文字コードに変換して保存する方法があれば教えてください。
宜しくお願いします。
0294nobodyさん2011/02/01(火) 11:11:54ID:???
テキストフォームをUTF-8にして、
MySQLの格納文字コードをutf8general にする。

この場合は変換してなくてよい。

あとSJISの文字コード表を使ってやる場合は、
http://charset.7jp.net/sjis.html
あたりを参照して

@→アット ってする場合は
$str = str_replace("\x40\x64","アット",$str);
ってやればいけるんじゃね

0295nobodyさん2011/02/01(火) 12:37:50ID:???
変換して逃げるとか
mb_substitute_character("entity");
$text = mb_convert_encoding($text, 'SJIS-win', 'UTF-8');

それともこっちの方法?
http://memo.xight.org/2006-06-19-13
0296nobodyさん2011/02/01(火) 12:56:24ID:Shn4oi34
explodeについてしつもんです

$test ='/foo/bar/'
$array = exlode('/',$test)

とした時
$array[0]
$array[1]
$array[2]
$array[3]
$array[4]
$array[5]
には何が入るでしょーか?
0297nobodyさん2011/02/01(火) 13:00:33ID:???
試しましたか?自分でコードを書いたならブラウザ起動して試せば分かるでしょ?
0298nobodyさん2011/02/01(火) 13:08:46ID:???
$array[0] null
$array[1] foo
$array[2] bar
$array[3] null
$array[4] null
$array[5] null
0299nobodyさん2011/02/01(火) 13:40:32ID:???
そういうときに、list使おうとすると

これがダメで
$test ='/foo/bar/';
list(null, $foo, $bar) = explode('/',$test);

こうしなきゃならないのって
$test ='/foo/bar/';
list(, $foo, $bar) = explode('/',$test);

気持ち悪くない?
0300nobodyさん2011/02/01(火) 13:53:11ID:???
listじゃなくて$foo=array[1]
ってやりゃーいいんじゃねー?って思ったり
listってそういう場合ソース見にくいから、ソース1行増えても俺は綺麗な方使う
0301nobodyさん2011/02/01(火) 18:18:30ID:???
>>299
$testに格納される文字列を決め打つようなコードは通常書かない。
0302nobodyさん2011/02/01(火) 18:50:49ID:Ei9u4jnj
php.ini の英語がむずかしすぎる。
日本語翻訳とか解説のHPとかないのかな。
■ このスレッドは過去ログ倉庫に格納されています