【PHP】下らねぇ質問はID出して書き込みやがれ 110
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/08/30(火) 17:23:31.78ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 109
http://hibari.2ch.net/test/read.cgi/php/1311803617/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0303nobodyさん
2011/09/08(木) 04:22:18.46ID:???0306nobodyさん
2011/09/08(木) 06:56:19.84ID:???同居というか、いつでも戻せる形にしつつ移行しようと思っているのです
今までバージョンごとにディレクトリ分けたりしてなかったので
環境づくりがなかなか大変・・・
0307nobodyさん
2011/09/08(木) 07:40:30.60ID:???0309nobodyさん
2011/09/08(木) 10:22:31.61ID:???包茎にコンプレックスでもなければ最初の悪口に包茎なんて言わないよな、普通
0311nobodyさん
2011/09/08(木) 10:44:50.92ID:???0312nobodyさん
2011/09/08(木) 10:52:41.10ID:???0313nobodyさん
2011/09/08(木) 16:40:59.50ID:lN41AcWH実態参照でない&を&に書き換える関数みたいなのはありますか?
0314nobodyさん
2011/09/08(木) 16:43:02.48ID:???http://www.php.net/manual/ja/function.htmlspecialchars-decode.php
0316nobodyさん
2011/09/08(木) 19:29:01.83ID:KM9XgX/E5千くらいの画像うpろーだーってphpでプログラマーに作って
もらうとどれくらいの金額になるのですか?納期はどうれくらいで
できますか?
0317nobodyさん
2011/09/08(木) 19:32:48.84ID:???色々デバッグやら調整込みで10日もあればいけるだろう
金額は10万円
調整とか必要なく作るだけでいいってなら2・3日で2・3万円ってところか
0318nobodyさん
2011/09/08(木) 19:45:45.73ID:???そんなこたぁないぜ?
flickerのようなのが10万でできると思うかい?
まぁ、表示にどんなに時間かかろうがOKとかいうなら、画像数は関係ないだろうな
0319nobodyさん
2011/09/08(木) 19:49:35.05ID:???そりゃJavaScriptやFlash使ったバリバリのUIものなら10万じゃ無理だ
0320nobodyさん
2011/09/08(木) 20:06:56.23ID:KM9XgX/Eそうです、その辺にある単純なアップロードの話です。
10万円って高いのか安いのかわかりませんが、10万ですか。
皆様ありがとうございました。
0321nobodyさん
2011/09/08(木) 20:09:27.02ID:???0322nobodyさん
2011/09/08(木) 20:09:33.38ID:???雑になら答えられるけど、「対応するデータ保持」の詳細などによって割と変わるよ
大体こういう感じっていうのを提示するのが楽
0324nobodyさん
2011/09/08(木) 20:15:07.11ID:KM9XgX/Eデータ保持は、
0001〜5000の画像が保存できアップロードした人と管理人が
削除しない限り消えない。5001番目の画像がアップロードされると
0001番が消え、5002番目の画像がアップロードされると0002番目の
画像が消えるという仕様を想定してます。
0325nobodyさん
2011/09/08(木) 20:23:01.83ID:???プロトタイプ見せながら作ることになって
時間はかかるは修正要求はされまくるわで
どんなに簡単なアプリでも開発日数は増えるんだよな
0326nobodyさん
2011/09/08(木) 20:31:56.81ID:???ログも5000件のみ残して順次古いのは削除するのかとか。
jpg gif pngの判定精度はどうするのかとか。
ヘッダだけ見て判断していいか、偽装や壊れてるのを検出するかとか。
まぁ予算示してその範囲内でやってもらうってのが一番いいと思うけど。
0327nobodyさん
2011/09/08(木) 20:45:50.46ID:???それを作れる人がいるというのも驚き。
0328nobodyさん
2011/09/08(木) 20:53:08.78ID:???(;`・ω・) 。・゚・⌒) 予算内で作るよ!!
/ o━ヽニニフ))
しー-J
アッ! 。・゚・
∧,,∧ て 。・゚・。・゚・
(; ´゚ω゚)て //
/ o━ヽニニフ
しー-J 彡
∧,,∧ ショボーン
( ´・ω・)
c(,_U_U ・゚・。・ ゚・。・゚・ 。・゚・
━ヽニニフ
よしバレてない
クルッ ∧,,∧
ミ(・ω・´ )つ サッサ
c( U・ ゚U。彡・ 。・゚・
━ヽニニフ
∧,,∧ 。・。゚・。 ゚・。゚・ できたよ〜
( ´・ω・)つ\・゚・ 。・゚・・/
予算に無理にあわせたRapid開発の現状を表現してみますた
0330nobodyさん
2011/09/08(木) 21:04:00.03ID:???0331nobodyさん
2011/09/08(木) 21:06:54.28ID:???0332nobodyさん
2011/09/08(木) 21:17:19.26ID:???ログにもエラーらしきものはない
という謎現象に悩まされたがショートタグが無効になってたからだった
まじファック
ショートタグ使えなくするメリットなんてほとんどねーだろ
0333nobodyさん
2011/09/08(木) 21:22:29.66ID:???PHP作ってるやつまじあほ
0334nobodyさん
2011/09/08(木) 21:23:29.05ID:179MIfwxNotice: Undefined index: id in /opt/lampp/htdocs/samples/chapter2/2-6/intval.php on line 34
って出るんですけど、"id"って定義されてないですか?
9行目のは定義じゃないんですか?
1 <html>
2 <head>
3 <title>SQLコマンドに数値のみを反映する</title>
4 </head>
5 <body>
6 <?php
7 // intval()関数による変換
8 $temp_sql = "SELECT * FROM t1 WHERE id = %s";
9 $id = isset($_POST["id"]) ? intval($_POST["id"]) : "";
10 $result_sql_intval = sprintf($temp_sql, $id);
11
12 // sprintf()関数による変換
13 $temp_sql = "SELECT * FROM t1 WHERE id = %d";
14 $id = isset($_POST["id"]) ? $_POST["id"] : "";
15 $result_sql_sprintf = sprintf($temp_sql, $id);
16 ?>
続く
0335nobodyさん
2011/09/08(木) 21:23:44.33ID:179MIfwx18 <table>
19 <tr>
20 <td>ID:<input type="text" name="id"
21 value="<?php echo $_POST["id"] ?>">
22 <input type="submit" value="作成" name="sub1">
23 </td>
24 </tr>
25 <tr>
26 </tr>
27 <tr>
28 </td>
29 </tr>
30 </table>
31 </form>
32 </body>
33 <?php
34 echo "<p>入力値:" . $_POST["id"] . "</p>";
35 echo "<p>作成されたSQL(sprintf):" . $result_sql_sprintf . "</p>";
36 echo "<p>作成されたSQL(intval):" . $result_sql_intval . "</p>";
37 ?>
0336nobodyさん
2011/09/08(木) 21:28:01.21ID:???つまり$_POST["id"]が定義されてないってことだろ
つうかそのエラーが出ないように9行目のような処理してんだろ?
34行目は$idを出力しなさい
0337334-335
2011/09/08(木) 21:29:39.98ID:179MIfwx<br /><b>Notice</b>: Undefined index: id in <b>/opt/lampp/htdocs/samples/chapter2/2-6/intval.php</b> on line <b>21</b><br />
というのが入っています。
枠の外なら分かりますけど、枠内ですよ?
0338334-335
2011/09/08(木) 21:36:31.23ID:179MIfwxありがとうございます。
そのとおりにすると、枠外のエラーは消えました。
ただ、枠内のエラーが消えていません。
今はこんな感じです:
ID: <br /><b>Notice</b>: Undefined index: id in <b>/opt/lampp/htdocs/samples/chapter2/2-6/intval.php</b> on line <b>21</b><br />
入力値:
作成されたSQL(sprintf):SELECT * FROM t1 WHERE id = 0
作成されたSQL(intval):SELECT * FROM t1 WHERE id =
あ!じゃあ、枠内のも・・・
21行目のも$idにしたら消えました!
正常に動作します!
・・・あのー、これって累計10万部超えた11刷目の本のサンプルコードなんですけど?
これってバグですよね???
0339nobodyさん
2011/09/08(木) 21:36:45.51ID:???0340nobodyさん
2011/09/08(木) 21:40:54.90ID:???Noticeは一番軽いエラーで
一般的な環境だと出力が制御されて表示されない
Noticeでもなくすべきっていう思想の人ならでないように9行目のような処理を入れる
ていうか9行目の処理をわざわざいれてるのに$_POST["id"]を出力するのは意味不明
あとhtmlspecialcharsをしてないのも意味不明
0341334-335
2011/09/08(木) 21:41:25.34ID:179MIfwxそのとおりでした。
2006年に初版が発行されてもう5年も経っているので
少し内容が古いかと思ったのですが、アマゾンでは好評だったので買いました。
ただ、今までのところでも deprecatedな使い方やStrict Standardsなんていうのが沢山出ています。
スーパーサンプルってこんなもんですか?
バグ潰しながら進んでいかないといけないんですか???
0342nobodyさん
2011/09/08(木) 21:44:32.24ID:???0343334-335
2011/09/08(木) 21:46:47.65ID:179MIfwxバグではないんですね・・・自分にとっては警告も気になりますね。
一つ間違ったらエラーになるかもって気がしますから。
ヒヤリハットが大事故に繋がるみたいなものです。
>>342
これは酷すぎます。
5年も経ってて第二版も出しててこれですか?
累計で10万部売れてるんですから、そのうちの1%でもバグ報告してたら、こんなことにはならないでしょう?
まだ第二章ですよ?
刷数が若いとバグも多いだろうと思ってわざわざ新品を買ったのに・・・。
さすがにこれはクレームつけたくなりました・・・。
0344nobodyさん
2011/09/08(木) 21:50:16.48ID:???この場合だと、定義されていない変数使ってるからいいんかい?って警告くらいのもんだよ。
最新のマヌアルを読みこなせるような人ならそんな本要らないし、そんな事で文句も言わん。
・・・が、読みこなせるような奴が居ないから好評なんだろね
0345334-335
2011/09/08(木) 21:54:52.34ID:179MIfwx> ・・・が、読みこなせるような奴が居ないから好評なんだろね
見事に納得しましたw
それがファイナルアンサーでしょうねw
これが最初の本なんですよ。
こんな調子なのでまた質問することになると思います。
気を取り直して勉強に戻ります。
ありがとうございました!
0346nobodyさん
2011/09/08(木) 21:55:51.17ID:???本を書く方も、
本を読む方も、
両方ともコミュ障だから、
バグがあっても報告しない、
報告を受けても対応せずに無視する、
こういう連中なので慣れるしかない。
0347nobodyさん
2011/09/08(木) 22:12:50.02ID:???> 累計で10万部売れてるんですから、そのうちの1%でもバグ報告してたら、こんなことにはならないでしょう?
まったくもってそのとおり。
> 刷数が若いとバグも多いだろうと思ってわざわざ新品を買ったのに・・・。
そうそう。
> さすがにこれはクレームつけたくなりました・・・。
え、報告しないんだw
0349nobodyさん
2011/09/08(木) 23:21:49.77ID:???0350nobodyさん
2011/09/08(木) 23:46:17.59ID:???最初に書いとくのは文字コードだろうがって思う。
文字化けするだろうがカス。そして誤植が多いし、動かないだろが
ってプログラミングがいっぱいある。マジで校正が甘すぎる。
大学でphpもcgiも習わないから独学するオレのような大学生が
すんげー困る。自分のブログで〜の本のphpプログラミング動かねーから
その対策とか誤植情報とか載せてる。
0351nobodyさん
2011/09/08(木) 23:52:43.18ID:???要するにそのページ(あるいは章、節)の主題と直接関係がない箇所だから
サンプルコードでNoticeが出ようが関係ない、ってことなんだろうな。
初心者にとっては不親切なわけだけど、著者側からすれば揚げ足取るな、って感じなんだろうな。
0352nobodyさん
2011/09/08(木) 23:56:55.63ID:GnAoDzU0headfirstphp&mysqlで、勉強はじめました
メール送信に関する設定をしています
php.iniを、開けません
書類 php.ini を開くために必要なデフォルトアプリケーションが指定されていません。と、出ます。
どうしたらよいでしょうか?
環境
mac
進行状況
XAMPPをインストールして、
apachと、mysqlを、起動させるところまで
よろしくお願いします
0353nobodyさん
2011/09/08(木) 23:59:24.63ID:???4の頃なら何にも出なかったから文句言うやつもいなかったわけでw
0354nobodyさん
2011/09/09(金) 00:00:57.08ID:???それはXAMPPというよりmacが出してるエラーじゃないの?
php.ini(テキストファイル)を開く標準アプリケーションが設定されてないんでしょ
0357nobodyさん
2011/09/09(金) 00:05:48.91ID:???右おして情報を見る このアプリケーションで開くで ソレでどーだ。
0358352
2011/09/09(金) 00:18:39.86ID:ANnoOIHPできました!
ありがとうございます!
他のアドバイスくれた人も、
ありがとう!
0360nobodyさん
2011/09/09(金) 01:27:25.64ID:ANnoOIHP助かった
0361nobodyさん
2011/09/09(金) 01:37:36.76ID:ANnoOIHPファイルを、phpのインストールしたwebサーバーに、アップロードしろという
XAMPPを、ダウンロードした
これに、どうやったら、アップロードできますか?
0362nobodyさん
2011/09/09(金) 01:49:59.11ID:???あらかじめuploadsのフォルダを作っとく。
upload.htmlの記述
<form action="upload_image.php" method="POST" enctype="multipart/form-data">
<input type="file" name="filename" size="50">
<br>
<input type="submit" value="アップロード">
</form>
upload_image.phpの記述
<?php
//ファイルの取り出し
$file_name=$_FILES['filename']['name'];
//一時ファイル名の取り出し
$temp_name=$_FILES['filename']['tmp_name'];
// 保存先のディレクトリ
$dir = 'uploads/';
// 保存先のファイル名
$upload_name = $dir.$file_name;
// JPEG形式、GIF形式のファイルをアップロードする
// アップロード(移動)
$result = move_uploaded_file($temp_name, $upload_name);//これがないと失敗
echo ($result)?'アップロード成功':'アップロード失敗';
?>
<img src="<?php echo $upload_name; ?>">
こんな感じ。考えるな感じるんだ。
0363nobodyさん
2011/09/09(金) 01:52:26.44ID:ANnoOIHP実験してみます
0364nobodyさん
2011/09/09(金) 02:03:10.91ID:???分かってるの思うが、>>362の記述は<html></html>の
<body>から</body>の間に記述だぜ。
0366nobodyさん
2011/09/09(金) 10:52:19.74ID:???夜やるから、夜結果報告する。
0367nobodyさん
2011/09/09(金) 11:14:03.05ID:???htdocにupload.htmlを入れて、xamppのApache起動させといて
http://localhost/upload.htmlにアクセスできるだろ?
0368nobodyさん
2011/09/09(金) 14:25:20.33ID:???なんとなく、うっすらと、だけど。
ローカルマシンでphpスクリプトを作成し、リモートのWebサーバに
作成したスクリプトをアップロードせよって話の気がする。
つまり、htdocs配下にコピーすればおk、というものの気がする。
0371nobodyさん
2011/09/09(金) 15:25:38.05ID:qgGY9iV0'condition' => array(
'Foo.date >' => date('Y-m-d', strtotime("-3 month"))
)
と書いたんですが3ヶ月以上前でも全部表示されてしまいます
なにが問題なのかお教えいただけたらさいわいです
0372nobodyさん
2011/09/09(金) 18:05:22.27ID:???0373nobodyさん
2011/09/09(金) 18:08:54.18ID:???あと、CakePHPのスレがあっからそっちで質問の方がいいんじゃね?
0374nobodyさん
2011/09/09(金) 18:09:58.76ID:???0375nobodyさん
2011/09/09(金) 18:25:14.59ID:???フレームワークを何使うかは人それぞれ好みが分かれる。
0376nobodyさん
2011/09/09(金) 18:38:14.53ID:???0377nobodyさん
2011/09/09(金) 18:40:46.21ID:???0378nobodyさん
2011/09/09(金) 18:51:01.10ID:???0380nobodyさん
2011/09/09(金) 19:03:32.43ID:???0381nobodyさん
2011/09/09(金) 19:08:02.97ID:???0382nobodyさん
2011/09/09(金) 19:10:55.63ID:???ロジックとビューを分けた後、どこにheader()を書けばいいのか
どなたか教えてたもれ〜
0383nobodyさん
2011/09/09(金) 19:18:39.04ID:???最初に echo か print がでてくる前に書けばいいんでない?
0384nobodyさん
2011/09/09(金) 19:21:03.34ID:???補完機能も動的デバッグもなくて大変なんだぜ?
まぁしょうがなかったんだわ
メモリ512MBの糞PCで開発させられてたからIDEなんて入れられなくてな
0385nobodyさん
2011/09/09(金) 19:23:41.81ID:???まぁ大変さを強調したかっただけだからスルーしてくれ
0387nobodyさん
2011/09/09(金) 19:44:27.53ID:???0388nobodyさん
2011/09/09(金) 20:19:18.76ID:???文脈を考慮しなくていい(ただのキーワードマッチ)補完ならVimでできるし、さくらと大してメモリ消費量も変わらないんでないのかな
0389nobodyさん
2011/09/09(金) 21:02:39.93ID:g+bZZ5lKなどとある時に、array内のarrayの要素数まで含めたトータルの要素数をcountする関数ってありますか
0390nobodyさん
2011/09/09(金) 21:17:21.02ID:???>オプションのmode 引数が COUNT_RECURSIVE (または 1) にセットされた場合、
>count() は再帰的に配列をカウントします。
>これは多次元配列の全ての要素をカウントするといった場合に特に有効です。
> count() は無限の再帰を検出しません。
0391nobodyさん
2011/09/09(金) 21:22:30.23ID:g+bZZ5lKCOUNT_RECURSIVE を使うと正しい結果が出ないので、使えないのです
例えば>>389の配列だと5と出て欲しいのですが、配列自体も含めてしまうので6となってしまう
0392nobodyさん
2011/09/09(金) 21:58:34.73ID:???0393361
2011/09/09(金) 22:48:31.16ID:ANnoOIHPやりました!
htdocに、upload_image.phpと、htmlを、いれました
それを、ブラウザで、開けました
ありがとうございます!
前より理解できました
分かったこと
・htdocに、置くと、アップロードしたことになること
・ブラウザでhtmlファイルの、ボタンを押すと、phpファイルが、動くこと
これから、本を読み進めていきます
03941/3
2011/09/09(金) 22:50:13.91ID:???function count_array($array)
{
$i = 0;
$j = 0;
$keys = array_keys($array);
foreach ($keys as $key)
{
if (is_array($array[$key]))
{
$j += count_array($array[$key]);
}
else
03952/3
2011/09/09(金) 22:51:30.09ID:???$j++;
}
$i++;
}
return $j;
}
$array = array(
'hoge' => 'aaaa',
'bbbb',
'cccc' => array(
'cccc',
03963/3
2011/09/09(金) 22:52:46.87ID:???array(
'eeee',
'piyo' =>6,
'gggg'
),
),
'hhhh'
);
$count = count_array($array);
echo $count . "\n";
?>
0397nobodyさん
2011/09/09(金) 22:54:47.11ID:???0398361
2011/09/09(金) 23:24:41.44ID:ANnoOIHPボタンなどで、表示されます。
そのボタンを押して、phpファイルを動かそうとすると、
文字だけの、ソースコードの画面になってしまいます。
どうしたら、phpファイルを、出力できるでしょうか?
0400nobodyさん
2011/09/09(金) 23:41:36.94ID:???多分、間違えてるな。
htdocにupload.htmlを入れて、xamppのApache起動させといて
http://localhost/upload.htmlにアクセスしろ
Apacheは簡単に言うとhttp://localhost/のurlを使えるようにする。
http://localhost/でないとwebプログラムのphp、cgiが動かない。
君はブラウザのurlの欄にC:\xampp\htdocs\ybhujnindex.html
って表示されてるんじゃない?
0401nobodyさん
2011/09/09(金) 23:43:07.73ID:???C:\xampp\htdocs\ybhujnindex.html
でなくC:\xampp\htdocs\upload.htmlってブラウザのurl欄に
表示されてるんじゃない?
0402nobodyさん
2011/09/09(金) 23:54:31.88ID:z7az+EcJ1 <html>
2 <head>
3 <title>選択リストをデータベースから生成する</title>
4 </head>
5 <body>
6 <?php
7 // 接続設定(サーバ/データベース/ユーザ/パスワード)
8 $sv = "localhost";
9 $dbname = "testdb";
10 $user = "root";
11 //$pass = "********";
12 $pass = "";
13
14 // 文字コード
15 //$enc_disp = "EUC-JP";
16 //$enc_db = "EUC-JP";
17 $enc_disp = "UTF-8";
18 $enc_db = "UTF-8";
19
20 // データの文字コードを変換する関数
21 function cnv_enc($string, $to, $from) {
22 // 文字コードを変換する
23 $det_enc = mb_detect_encoding($string, $from . ", " . $to);
24 // if ($det_enc and $det_enc != $to) {
25 if ($det_enc != $to) {
26 return mb_convert_encoding($string, $to, $det_enc);
27 }
28 else {
29 return $string;
30 }
31 }
0403nobodyさん
2011/09/09(金) 23:56:27.89ID:z7az+EcJ34 $conn = mysql_connect($sv, $user, $pass) or die("接続エラー");
35 mysql_select_db($dbname) or die("接続エラー");
36
37 // データを取り出す
38 $sql = "SELECT id, nam FROM prod ORDER BY id";
39 $res = mysql_query($sql, $conn) or die("データ抽出エラー");
40
41 // 取り出したデータを表示する
42 echo "<select name=\"menu1\">";
43 while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
44 echo "<option value=\"".$row["id"]."\">".
45 // cnv_enc($row["nam"], $enc_disp, $enc_db)."</option>";
46 cnv_enc($row["nam"], "UTF-8", "UTF-8")."</option>";
47 }
48 echo "</select>";
49
50 // 接続を解除する
51 mysql_close($conn);
52
53 ?>
54 </body>
55 </html>
24行目のcnv_encのandは間違いですよね?
コメントアウトして自分なりに直してみましたが、それでも結果は変わりません。
アドバイスをお願いします。
■ このスレッドは過去ログ倉庫に格納されています