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

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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0785nobodyさん2010/10/06(水) 21:42:48ID:???
まぁニコ生でいいな
もの好きがたまに来ると思う
0786nobodyさん2010/10/06(水) 21:50:12ID:???
この分野でお茶しながら作業しませんかはもっと別の意味があるんだけどな

0787nobodyさん2010/10/06(水) 21:51:33ID:???
ははーん、さてはトイレに連れ込むんですね?
0788山下太郎2010/10/06(水) 21:51:51ID:???
どんな意味?w
0789nobodyさん2010/10/06(水) 21:57:47ID:???
SEPG経験したらわかるようになるよw
0790nobodyさん2010/10/06(水) 22:02:16ID:???
SEPCですが何か?
社内研究はあるがカンファレンスとかいかないしな
支援にいくことはあるがそういうとこは技術職いないから黙々と作業するだけ
外部の人間との交流なんて自分で足運ばない限りない
よってSEPG経験したからといって馴れ合いのルールなんてわからんよ
0791nobodyさん2010/10/06(水) 22:03:23ID:???
PGがPCになっとる
とりあえず>>788に答えてみれや
0792山下太郎2010/10/06(水) 22:05:43ID:???
うぇうぅえぇうぇうぇうえぇうえええええええええええええwwwwwwwwwwwwwwwwwwwwwwww
0793nobodyさん2010/10/06(水) 22:19:20ID:???
こんな2chの底辺の屑どもがそんなこと理解できるわけないって
0794nobodyさん2010/10/06(水) 22:24:11ID:???
おいおい・・・答えられないからって自演かよみっともないぞ
まだ答えすらないのに何が理解できるわけないだよ
笑わすなって
0795nobodyさん2010/10/06(水) 22:40:28ID:???
他でやれよ
0796nobodyさん2010/10/06(水) 22:54:34ID:3JzDp8Ba
http://codezine.jp/article/detail/5430?utm_source=twitterfeed&utm_medium=twitter
これのだめな理由がわからないのですが。
0797nobodyさん2010/10/06(水) 22:58:03ID:???
そうですか
0798nobodyさん2010/10/06(水) 22:58:20ID:???
>>796
端末ID、かんたんログインという単語が出てきた時点でもうだめだろw
0799nobodyさん2010/10/06(水) 23:17:10ID:???
>>796
http://b.hatena.ne.jp/entry/codezine.jp/article/detail/5430
0800nobodyさん2010/10/06(水) 23:41:01ID:L1X+4oQt
>>777
dです
バイナリそのままで大丈夫でした
0801nobodyさん2010/10/06(水) 23:50:08ID:3JzDp8Ba
ひどいいわれよう
0802nobodyさん2010/10/07(木) 00:32:13ID:???
IPアドレス制限+端末IDで穴を全部塞いだ気になってる携帯web屋がほとんど・・・
正直このスレより質が低いと思うw
0803nobodyさん2010/10/07(木) 03:22:53ID:???
ぶちゃっけどうでもいい感じ。
どのサイトも穴だらけでその携帯の部分だけ躍起になってるのが
滑稽に見えて仕方が無い。
0804nobodyさん2010/10/07(木) 05:17:02ID:???
ぶちゃっけ
0805nobodyさん2010/10/07(木) 05:37:10ID:???
ぶちゅぅ
0806nobodyさん2010/10/07(木) 12:30:52ID:???
ぶちゅっけ
0807nobodyさん2010/10/07(木) 12:32:13ID:???
このスレキチガイ覆いね
0808nobodyさん2010/10/07(木) 12:48:45ID:???
今頃気づいたのかね
0809nobodyさん2010/10/07(木) 13:52:26ID:???
覆いね
0810nobodyさん2010/10/07(木) 14:27:39ID:bfwxS3EJ
質問なのですが
php5.3.3をインストールしようとしたところ下記のエラーが出てしまうのですが
解決方法はありますか?
Apache2.2はインストールしてあります

Error trying access httpd.conf file. You will need to manually
 configure the web server

OS:VISTA Home Premium
0811nobodyさん2010/10/07(木) 14:33:05ID:???
エラー内容でぐぐれば出てくるでしょうに

ttp://pocketstudio.jp/log2/2007/01/windows_apache_224_php_520.html#comment-9327
08128102010/10/07(木) 14:47:07ID:bfwxS3EJ
>>811さん
返信ありがとうございます、解決できました。
Apacheの設定ファイルがある場所の指定が間違っていたようです
簡単なミスでした、お手数おかけしました。
0813nobodyさん2010/10/07(木) 19:58:56ID:???
PHP(笑)って言われたときどうしてる?

専門C++です^^
っていうの?
0814nobodyさん2010/10/07(木) 20:02:35ID:???
スルーする
0815nobodyさん2010/10/07(木) 21:48:04ID:???
webサイト作るのにC++が必要なのかと
道具は要所で使うことに意味がある
0816nobodyさん2010/10/07(木) 22:41:42ID:???
すみません。
お蔭様でもうほぼ完成したんですが、どうしても解決しない所がありまして質問させてください。

$dbh = new PDO($dsn, $user, $password);

$dbh->query('SET NAMES utf8');

$sql = "select * from `user` where `id` = ? AND `pass` = ?";

$query = $dbh->prepare($sql);
$result = $query->execute(array($id,$pass));
$res = $result->fetchAll(PDO::FETCH_ASSOC);

ログインの部分で上のように記述すると

Fatal error: Call to a member function fetchAll() on a non-object in C:\xampp\htdocs\osusume\login_2.php on line 50

と出てしまいます。

$sqlを "select * from `user` where `id` = \"{$id}\" AND `pass` = \"{$pass}\"";


のように書くとログイン可能なんですが、これだと脆弱性が残る気がして不安です。
ちなみに$idと$passの箇所は

$id = htmlspecialchars($_POST[id],ENT_QUOTES);
$pass = htmlspecialchars($_POST[pass],ENT_QUOTES);

のように受け取っています。
何が駄目でエラーになってしまうのでしょうか?
0817nobodyさん2010/10/07(木) 22:42:28ID:cS3lZo05
IDを出し忘れていました。
0818nobodyさん2010/10/07(木) 22:47:20ID:???
>>816
何を見て作ったのか知らないがhtmlspecialcharsをエスケープ替わりにするな
htmlspecialcharsで解説しているもので勉強したならそいつを今すぐ捨てろ
0819nobodyさん2010/10/07(木) 23:00:16ID:???
>>816
htmlspecialcharsはその名のとおりHTML出力用ね。
SQL用のエスケープはMySQLならmysql_real_escape_string

`id` = ? AND `pass` = ?
だと引用された$id,$passがクオートされていないのでSQLエラーになってるんじゃないかな。
`id` = \"{$id}\" AND `pass` = \"{$pass}\"
で問題ないんじゃね?
0820nobodyさん2010/10/07(木) 23:06:40ID:???
間違った。
$id='"'.mysql_real_escape_string ($_POST[id],).'"'
とかか。
0821nobodyさん2010/10/07(木) 23:13:46ID:54RcKHkS
`id`=". mysql_real_escape_string( $id ) ."
AND `pass`=". mysql_real_escape_string( $pass ) ."
0822nobodyさん2010/10/07(木) 23:21:25ID:cS3lZo05
できました…全くお恥ずかしい限り。

ありがとうございます。
0823nobodyさん2010/10/07(木) 23:48:14ID:???
>>820
乞食と物乞いの区別が付かないのが、チョウセンヒトモドキ
0824nobodyさん2010/10/08(金) 05:47:41ID:???
なんのためにPDO使ってるんだろうな
もっとマニュアルちゃんと読めば正しいエスケープ方法も書いてるでしょうに
ましてやプリペアードステートメントまで使ってるのに
0825nobodyさん2010/10/08(金) 10:56:38ID:???
PDO使ってるのにmysql_real_escape_stringを使う人初めて見た
0826nobodyさん2010/10/08(金) 11:31:27ID:gdsV0D6r
PDO使うときってエスケープはどうやるのですか?
0827nobodyさん2010/10/08(金) 11:36:50ID:???
prepare使えば勝手にエスケープされるだろ
0828nobodyさん2010/10/08(金) 11:49:17ID:???
>>827
その教え方だと危険。プレースホルダ使えというべき。
プレースホルダ使わないでデータ埋め込みでSQL文作って
prepareする奴いるから!!(笑)
0829nobodyさん2010/10/08(金) 12:27:15ID:???
考え方というか、単に言い方だな
さすがにプレースホルダ使わずprepare使うアホがいるとは想像してなかったんだろう
0830nobodyさん2010/10/08(金) 12:36:54ID:???
まぁ問題は>>819-821だわな
0831nobodyさん2010/10/08(金) 12:40:32ID:???
したり顔で教えながらPDOでmysql_real_escape_stringって・・・
0832nobodyさん2010/10/08(金) 13:01:04ID:gdsV0D6r
prepareってなんですか?
0833nobodyさん2010/10/08(金) 13:44:14ID:???
>>816
>$query = $dbh->prepare($sql);
>$result = $query->execute(array($id,$pass));
>$res = $result->fetchAll(PDO::FETCH_ASSOC);
ここおかしくね?
$resultにfetchAllなんてあるわけない
$query->fetchAllだろ

>>832
816に書いてあるようなやり方
0834nobodyさん2010/10/08(金) 15:00:00ID:puBZJtRM
RSSリーダーを自力で作ってるんだけど
ブログ名を取得する方法教えてください
タイトルとかurlとか時間は取得できるみたいなんだけどブログ名は無理なのかな?
↓ソースの一部


foreach ($rss->item as $item) {
$dc = $item->children('http://purl.org/dc/elements/1.1/');
$link = $item->link;
$title = $item->title;
$date = $dc->date;
$desc =$item->description;
0835nobodyさん2010/10/08(金) 15:34:59ID:???
サイトの宣伝ご苦労様です
0836nobodyさん2010/10/08(金) 15:46:32ID:???
>>829
考え方っていってないのになんで考え方というかっていったの???
0837nobodyさん2010/10/08(金) 15:54:18ID:puBZJtRM
>>835
宣伝じゃないです
0838nobodyさん2010/10/08(金) 16:00:48ID:rSpcfsYf
イチゴケーキを作ってるんですが、
バナナケーキは出来ないですかね。

↓イチゴケーキのおいしさ
ほのかに香るいちごのあまずっぱさ
プチプチとイチゴの小さな種の食感も最高


-------------------------------------------------
何いってるかわかんねwww
0839nobodyさん2010/10/08(金) 16:05:04ID:puBZJtRM
分かりやすく書き直します。

phpでrssからブログタイトルを取得する方法を教えてください
0840nobodyさん2010/10/08(金) 17:01:55ID:rSpcfsYf
rssってのには必ずブログタイトルが入ってるのが仕様なのか?
0841nobodyさん2010/10/08(金) 17:11:43ID:???
>>834
その形だと$rss->channel->titleとかでしょ。
XMLの構造見てお目当てのを探せばいいだけ。
RSSのバージョンによって構造が違うので幸運を。
0842nobodyさん2010/10/08(金) 17:26:49ID:puBZJtRM
>>841
ちょっと試してみるですありがと
0843nobodyさん2010/10/09(土) 01:37:40ID:???
PDOでmysql_real_escape_string使っていけませんか。
0844nobodyさん2010/10/09(土) 01:55:06ID:???
使っていけないということはないが普通使わない
使う必要性もないしむしろ使ったらPDO使ってる意味がない
特定のドライバにこだわらずどのRDBでも使えることを想定してるのに
わざわざドライバ固有の関数使うってどうなのよって話
0845nobodyさん2010/10/09(土) 01:59:56ID:???
ではどうすればいいのですか。
0846nobodyさん2010/10/09(土) 02:02:59ID:???
>>845
>>1
ていうか前の方にさんざん書いてるだろ・・・
プリペアードステートメント使えって
0847nobodyさん2010/10/09(土) 02:11:36ID:???
>>845
ttp://www.php.net/manual/ja/pdo.quote.php
ここの説明を読みなさいよ
0848nobodyさん2010/10/09(土) 02:14:03ID:???
せっかく本家でマニュアルが整備されているのにそれを読まない人が居るんだね
0849nobodyさん2010/10/09(土) 02:24:26ID:???
$pdo = new PDO(略);
$res = $pdo->prepare("INSERT INTO hoge(foo, bar) VALUES (:foo, :bar)");
$res->bindValue(":foo", $_POST['foo']);
$res->bindValue(":bar", $_POST['bar']);
$res->execute();

↓のようなことはする必要がないの
$res->bindValue(":foo", mysql_real_escape_string($_POST['foo']);
0850nobodyさん2010/10/09(土) 02:29:53ID:???
ふーん。ところでPDOって日本語を正しく扱えないってホント?
0851nobodyさん2010/10/09(土) 02:34:57ID:???
ゆとり量産スレときいて
0852nobodyさん2010/10/09(土) 09:53:36ID:???
多次元配列でキーが同じものだけをソートする方法を教えてください、
以下の例で、「[num] => 3」 が3つあり、それを逆順にソートしたいです。
ソート関数の使い方はわかります。多次元配列の扱い方がわかりません。

Array
(
  [0] => Array
  (
    [num] => 1
    [body] => aaa
  )
[1] => Array
  (
    [num] => 2
    [body] => bbb
  )
[2] => Array
  (
    [num] => 3
    [body] => eee
 )
[3] => Array
  (
    [num] => 3
    [body] => ddd
  )
[4] => Array
  (
    [num] => 3
    [body] => ccc
  )
)
0853nobodyさん2010/10/09(土) 10:18:33ID:???
ヒント
array[0][num]=1
array[1][num]=2
array[2][num]=3
0854nobodyさん2010/10/09(土) 10:29:04ID:Cr7uTEHe
windowsです
PHP5.3.3使ってます
MysqldeでPDOを使いたいんですけど
php_pdo.dllが入ってないんですけど
どこでphp_pdl.dllをダウンロードするのですか?
0855nobodyさん2010/10/09(土) 10:40:55ID:???
PDOは最初から含まれてるはずだが
ていうかマニュアルみなさいってばぁ
http://www.php.net/manual/ja/pdo.installation.php
0856nobodyさん2010/10/09(土) 11:22:45ID:Cr7uTEHe
PHP5.3にはphp_dlo.dllがはいらなくたったけぢ
php.iniでextension=php_pdo.dllは書いたほうがいいですか?
0857nobodyさん2010/10/09(土) 11:33:52ID:???
このステップは不要って書いてるんだからいらないってことだろ
いちいち聞かんとわからんのか?
0858nobodyさん2010/10/09(土) 12:12:44ID:Cr7uTEHe
PDOって便利だね
0859nobodyさん2010/10/09(土) 16:40:12ID:???
mysql_real_escape_stringでググレ
0860nobodyさん2010/10/09(土) 22:43:54ID:???
小っちゃいって事は便利だね
0861nobodyさん2010/10/10(日) 00:05:53ID:ouOWFWUJ
Googleで特定サイトの(画面上から入力されたURL)ページランクを
調べるにはどうすれば良いでしょうか?
0862nobodyさん2010/10/10(日) 00:29:20ID:???
Googleに聞いてください
0863nobodyさん2010/10/10(日) 00:33:16ID:???
mysql_real_escape_stringでググレ
0864nobodyさん2010/10/10(日) 00:37:49ID:???
昨日からPDOの使い方がわからなくて発狂してるのがいるなw
0865nobodyさん2010/10/10(日) 00:48:04ID:???
Google板ができてたね。
0866nobodyさん2010/10/10(日) 11:58:32ID:???
>>860
ネズミのドラマーw
0867nobodyさん2010/10/10(日) 12:52:11ID:3r76ILk1
現在時刻から一ヵ月後の時刻を取得するのはどうやるのでしょうか?
0868nobodyさん2010/10/10(日) 13:02:31ID:???
1ヶ月後の基準がわからん
0869nobodyさん2010/10/10(日) 13:13:30ID:???
来月の同じ日ってことでどうや?
0870nobodyさん2010/10/10(日) 13:14:31ID:???
1/30の1ヶ月後は2/30ですねわかります
0871nobodyさん2010/10/10(日) 13:14:38ID:sl1VHVin
現在時刻の一ヶ月後の時刻って、現在時刻と一緒だろ
0872nobodyさん2010/10/10(日) 13:30:43ID:???
この世界の時刻ってのはunixタイムとかのことだろ
0873nobodyさん2010/10/10(日) 16:10:38ID:???
>>867
strtotime("next month") でどぞ。
0874nobodyさん2010/10/10(日) 16:28:21ID:???
>>871
m9
0875nobodyさん2010/10/10(日) 17:06:50ID:vFML8UIU
フォームに他サイトのアドレスを入力する

そのページの特定の文字列を正規表現で取得(+できれば画像も)

取得したデータを整形して表示

こんか感じの動作をPHPで実現できませんか?
イメージとしてはにこサウンド(http://nicosound.anyap.info/
のように、フォームからアドレスだけ入力→整形データ表示
とできるようにしたいのです。
ですが他のページからデータを抽出する方法が
(あるのかどうかすら)わかりません。
もし似たようなシステムを組んだことがある方、
どうかご教授をお願いします。
0876nobodyさん2010/10/10(日) 17:35:29ID:???
>>875
file_get_contentsで読め
0877nobodyさん2010/10/10(日) 19:44:33ID:R6wxDE8S
公共のサイトに定期的にPHPでアクセスして文字列を取得するのはダメですか?
0878nobodyさん2010/10/10(日) 19:52:30ID:???
>>877
逮捕されるよ
岡崎図書館事件でググれ
0879nobodyさん2010/10/10(日) 20:10:08ID:???
mysql_real_escape_stringでググレ
0880nobodyさん2010/10/10(日) 20:45:02ID:???
困ったらとにかくpreg_matchかpreg_replaceを使っとけば解決する
0881nobodyさん2010/10/10(日) 20:54:27ID:lA2cYk+u
TwitterAPIの仕様について知りたいんだけど、どこで聞けばいいかわからずここにします。
SearchAPIでURL検索するとき、短縮URLの書き込みも展開後のものを対象に検索してくれるんでしょうか?
ググったらbacktweet?backtype?そういうの使うって記事がいっぱいあるけど、
でもSearchAPIでurl検索かけるとbit.lyとかow.lyとか展開後のURLが検索対象になってる気がする
この辺詳しく書いてあるところないですか?
TwitterAPIの仕様書にも目を通してるんですが短縮URLに関する言及が一切なくて困ってます。
わかる方助けてください。

最適なスレがあれば誘導してもらえると嬉しかったりします。
0882nobodyさん2010/10/10(日) 21:02:08ID:???
>>881
圧縮されたURLもヒットする、内部の処理の仕方なので仕様には乗らないとおもう
0883nobodyさん2010/10/10(日) 21:09:06ID:lA2cYk+u
ありがとうございます。

全URLを一旦チェックし、リダイレクトされるものはリダイレクト後のURLを保存してある
という仕様が考えられますが、それだとUAによって違ったURLに飛ばされるようなURLだった時に厄介な気がします
従いまして、短縮URLサービスのリストを持っていて、該当するURLの場合は展開しているのではないかと思うのですが、
だとしたら仕様に乗らないのはおかしいなと思っておりました。

なにはともあれ私以外の方から、明確に「圧縮されたURLもヒットする」というお言葉をいただけたので
backtypeといった外部サービスを利用せず、公式検索APIを使って開発したいと思います。
どうもありがとうございました。
0884nobodyさん2010/10/10(日) 21:33:56ID:???
>>883
bit.lyとかAmazonのamzn.toとか、Pixivのp.tlとかはtwitterで展開されるのを確認してるけど
個人で作ったものまではやってみたことが無いので気を付けて
それでもほとんどの短縮URLは検索できるから問題ないが
0885nobodyさん2010/10/11(月) 00:58:16ID:BmMGNfcc
PHPにはC++のような関数の多重定義は実装されていません。
そこでデフォルト引数の機能を使って擬似的に関数の多重定義を実現してみました


function hoge ($a, $b = 0) {

 if ($b === 0) {
  // hoge($a) が指定されたことにする
 }

・・・
}

このような実装にすれば

hoge("ahya");
hoge("ahya", "hoge");

のように擬似的に関数の多重定義を実現できると思うのですがこのやり方はありでしょうか?
もっとスマートな方法があるようでしたら教えてください。
■ このスレッドは過去ログ倉庫に格納されています