【PHP】下らねぇ質問はID出して書き込みやがれ 98
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/09/18(土) 19:20:37ID:???過去スレ、関連スレ、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:???0789nobodyさん
2010/10/06(水) 21:57:47ID:???0790nobodyさん
2010/10/06(水) 22:02:16ID:???社内研究はあるがカンファレンスとかいかないしな
支援にいくことはあるがそういうとこは技術職いないから黙々と作業するだけ
外部の人間との交流なんて自分で足運ばない限りない
よってSEPG経験したからといって馴れ合いのルールなんてわからんよ
0792山下太郎
2010/10/06(水) 22:05:43ID:???0793nobodyさん
2010/10/06(水) 22:19:20ID:???0794nobodyさん
2010/10/06(水) 22:24:11ID:???まだ答えすらないのに何が理解できるわけないだよ
笑わすなって
0795nobodyさん
2010/10/06(水) 22:40:28ID:???0796nobodyさん
2010/10/06(水) 22:54:34ID:3JzDp8Baこれのだめな理由がわからないのですが。
0797nobodyさん
2010/10/06(水) 22:58:03ID:???0799nobodyさん
2010/10/06(水) 23:17:10ID:???http://b.hatena.ne.jp/entry/codezine.jp/article/detail/5430
0800nobodyさん
2010/10/06(水) 23:41:01ID:L1X+4oQtdです
バイナリそのままで大丈夫でした
0801nobodyさん
2010/10/06(水) 23:50:08ID:3JzDp8Ba0802nobodyさん
2010/10/07(木) 00:32:13ID:???正直このスレより質が低いと思う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:bfwxS3EJphp5.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
0812810
2010/10/07(木) 14:47:07ID:bfwxS3EJ返信ありがとうございます、解決できました。
Apacheの設定ファイルがある場所の指定が間違っていたようです
簡単なミスでした、お手数おかけしました。
0813nobodyさん
2010/10/07(木) 19:58:56ID:???専門C++です^^
っていうの?
0814nobodyさん
2010/10/07(木) 20:02:35ID:???0815nobodyさん
2010/10/07(木) 21:48:04ID:???道具は要所で使うことに意味がある
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:cS3lZo050818nobodyさん
2010/10/07(木) 22:47:20ID:???何を見て作ったのか知らないがhtmlspecialcharsをエスケープ替わりにするな
htmlspecialcharsで解説しているもので勉強したならそいつを今すぐ捨てろ
0819nobodyさん
2010/10/07(木) 23:00:16ID:???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:54RcKHkSAND `pass`=". mysql_real_escape_string( $pass ) ."
0822nobodyさん
2010/10/07(木) 23:21:25ID:cS3lZo05ありがとうございます。
0824nobodyさん
2010/10/08(金) 05:47:41ID:???もっとマニュアルちゃんと読めば正しいエスケープ方法も書いてるでしょうに
ましてやプリペアードステートメントまで使ってるのに
0825nobodyさん
2010/10/08(金) 10:56:38ID:???0826nobodyさん
2010/10/08(金) 11:31:27ID:gdsV0D6r0827nobodyさん
2010/10/08(金) 11:36:50ID:???0828nobodyさん
2010/10/08(金) 11:49:17ID:???その教え方だと危険。プレースホルダ使えというべき。
プレースホルダ使わないでデータ埋め込みでSQL文作って
prepareする奴いるから!!(笑)
0829nobodyさん
2010/10/08(金) 12:27:15ID:???さすがにプレースホルダ使わずprepare使うアホがいるとは想像してなかったんだろう
0831nobodyさん
2010/10/08(金) 12:40:32ID:???0832nobodyさん
2010/10/08(金) 13:01:04ID:gdsV0D6r0833nobodyさん
2010/10/08(金) 13:44:14ID:???>$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ブログ名を取得する方法教えてください
タイトルとか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:???0837nobodyさん
2010/10/08(金) 15:54:18ID:puBZJtRM宣伝じゃないです
0838nobodyさん
2010/10/08(金) 16:00:48ID:rSpcfsYfバナナケーキは出来ないですかね。
↓イチゴケーキのおいしさ
ほのかに香るいちごのあまずっぱさ
プチプチとイチゴの小さな種の食感も最高
-------------------------------------------------
何いってるかわかんねwww
0839nobodyさん
2010/10/08(金) 16:05:04ID:puBZJtRMphpでrssからブログタイトルを取得する方法を教えてください
0840nobodyさん
2010/10/08(金) 17:01:55ID:rSpcfsYf0841nobodyさん
2010/10/08(金) 17:11:43ID:???その形だと$rss->channel->titleとかでしょ。
XMLの構造見てお目当てのを探せばいいだけ。
RSSのバージョンによって構造が違うので幸運を。
0842nobodyさん
2010/10/08(金) 17:26:49ID:puBZJtRMちょっと試してみるですありがと
0843nobodyさん
2010/10/09(土) 01:37:40ID:???0844nobodyさん
2010/10/09(土) 01:55:06ID:???使う必要性もないしむしろ使ったらPDO使ってる意味がない
特定のドライバにこだわらずどのRDBでも使えることを想定してるのに
わざわざドライバ固有の関数使うってどうなのよって話
0845nobodyさん
2010/10/09(土) 01:59:56ID:???0847nobodyさん
2010/10/09(土) 02:11:36ID:???ttp://www.php.net/manual/ja/pdo.quote.php
ここの説明を読みなさいよ
0848nobodyさん
2010/10/09(土) 02:14:03ID:???0849nobodyさん
2010/10/09(土) 02:24:26ID:???$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:???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:Cr7uTEHePHP5.3.3使ってます
MysqldeでPDOを使いたいんですけど
php_pdo.dllが入ってないんですけど
どこでphp_pdl.dllをダウンロードするのですか?
0855nobodyさん
2010/10/09(土) 10:40:55ID:???ていうかマニュアルみなさいってばぁ
http://www.php.net/manual/ja/pdo.installation.php
0856nobodyさん
2010/10/09(土) 11:22:45ID:Cr7uTEHephp.iniでextension=php_pdo.dllは書いたほうがいいですか?
0857nobodyさん
2010/10/09(土) 11:33:52ID:???いちいち聞かんとわからんのか?
0858nobodyさん
2010/10/09(土) 12:12:44ID:Cr7uTEHe0859nobodyさん
2010/10/09(土) 16:40:12ID:???0860nobodyさん
2010/10/09(土) 22:43:54ID:???0861nobodyさん
2010/10/10(日) 00:05:53ID:ouOWFWUJ調べるにはどうすれば良いでしょうか?
0862nobodyさん
2010/10/10(日) 00:29:20ID:???0863nobodyさん
2010/10/10(日) 00:33:16ID:???0864nobodyさん
2010/10/10(日) 00:37:49ID:???0865nobodyさん
2010/10/10(日) 00:48:04ID:???0867nobodyさん
2010/10/10(日) 12:52:11ID:3r76ILk10868nobodyさん
2010/10/10(日) 13:02:31ID:???0869nobodyさん
2010/10/10(日) 13:13:30ID:???0870nobodyさん
2010/10/10(日) 13:14:31ID:???0871nobodyさん
2010/10/10(日) 13:14:38ID:sl1VHVin0872nobodyさん
2010/10/10(日) 13:30:43ID:???0875nobodyさん
2010/10/10(日) 17:06:50ID:vFML8UIU↓
そのページの特定の文字列を正規表現で取得(+できれば画像も)
↓
取得したデータを整形して表示
こんか感じの動作をPHPで実現できませんか?
イメージとしてはにこサウンド(http://nicosound.anyap.info/)
のように、フォームからアドレスだけ入力→整形データ表示
とできるようにしたいのです。
ですが他のページからデータを抽出する方法が
(あるのかどうかすら)わかりません。
もし似たようなシステムを組んだことがある方、
どうかご教授をお願いします。
0877nobodyさん
2010/10/10(日) 19:44:33ID:R6wxDE8S0879nobodyさん
2010/10/10(日) 20:10:08ID:???0880nobodyさん
2010/10/10(日) 20:45:02ID:???0881nobodyさん
2010/10/10(日) 20:54:27ID:lA2cYk+uSearchAPIでURL検索するとき、短縮URLの書き込みも展開後のものを対象に検索してくれるんでしょうか?
ググったらbacktweet?backtype?そういうの使うって記事がいっぱいあるけど、
でもSearchAPIでurl検索かけるとbit.lyとかow.lyとか展開後のURLが検索対象になってる気がする
この辺詳しく書いてあるところないですか?
TwitterAPIの仕様書にも目を通してるんですが短縮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:???bit.lyとかAmazonのamzn.toとか、Pixivのp.tlとかはtwitterで展開されるのを確認してるけど
個人で作ったものまではやってみたことが無いので気を付けて
それでもほとんどの短縮URLは検索できるから問題ないが
0885nobodyさん
2010/10/11(月) 00:58:16ID:BmMGNfccそこでデフォルト引数の機能を使って擬似的に関数の多重定義を実現してみました
↓
function hoge ($a, $b = 0) {
if ($b === 0) {
// hoge($a) が指定されたことにする
}
・・・
}
このような実装にすれば
hoge("ahya");
hoge("ahya", "hoge");
のように擬似的に関数の多重定義を実現できると思うのですがこのやり方はありでしょうか?
もっとスマートな方法があるようでしたら教えてください。
■ このスレッドは過去ログ倉庫に格納されています