【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等)・フレームワークは各該当スレへ
0285nobodyさん
2010/09/22(水) 20:18:56ID:???別にSQL間違っちゃいねーぞ?
あれだ最後にカンマが無駄に多い
もしくはそこをNULLにするならちゃんと書け
0286nobodyさん
2010/09/22(水) 20:22:27ID:???0287nobodyさん
2010/09/22(水) 20:25:55ID:???ファイルに記録するだけなら「不特定の人物により入力される不特定長文字列」をそのまま記録しとけ。
その後、htmlに出力するなら2行目の処理と共に出力すればいいし、sqlに入れるならsql用のエスケープ処理をすればいい。
0289nobodyさん
2010/09/22(水) 20:33:54ID:???【質問内容】
サーバからYahooに自動でログインするにはどうしたらいいでしょうか
hiddenを全てURLに入れてPOST送信してもできませんでした
0290nobodyさん
2010/09/22(水) 20:37:17ID:???>SQL:INSERT INTO DB名 VALUES( '各変数の値',)
DB名なのか? テーブル名じゃなく。
0293nobodyさん
2010/09/22(水) 21:16:55ID:7dYmP39Iそのまま記録した場合は取り出す時はどのようにしたらよろしいでしょうか?
0294nobodyさん
2010/09/22(水) 22:27:47ID:pnBUUkY6あんたそのままphp+mysqlの入力、出力、更新、削除をここで聞くつもり?
本かって読めよ。
http://www.phppro.jp/これ見るとか。
<? while ( $item = mysql_fetch_array( $result2 ) ) { ?>
0295nobodyさん
2010/09/22(水) 22:29:47ID:???バカは直らないなwwwwwwwwwwwww
0296nobodyさん
2010/09/22(水) 22:34:25ID:pnBUUkY6おれ>>294の答えだしたつもりだけど、間違っている?
0297nobodyさん
2010/09/22(水) 22:36:12ID:pnBUUkY6でしょう?
出力間違っている?
0298nobodyさん
2010/09/23(木) 00:54:17ID:???0299nobodyさん
2010/09/23(木) 10:14:29ID:arHUaaQP$link = "http://www.hoge.com/pic/hoge.jpg"
と、内部リンク
$link = "../pic/hoge.jpge"
$link = "/public_html/pic/hoge.jpg"
とを見分ける関数はありますか?
0300nobodyさん
2010/09/23(木) 10:29:22ID:???0301nobodyさん
2010/09/23(木) 14:38:18ID:y1pwafIuAタグで本の詳細ページなどにリンクするとき、ハイパーリンクに書名を書きたいと思っています。
<a href="/bookdetail/title/ごんぎつね">本を見る</a>
このときタイトルの「ごんぎつね」の部分はurlencode()必須なんでしょうか?
ブラウザや文字コードによって違うのかどうなのか調べてもよくわからなくて困っています。
(smarty的には /title/{$bookTitle|urlencode} って感じかな? 蛇足ですが…)
urlencode必要だとしたらなぜ必要なのか、教えてもらえると嬉しいです。
php5使っています、よろしくお願いします。
0302nobodyさん
2010/09/23(木) 14:48:36ID:???URIの構文
http://tools.ietf.org/html/rfc1945#section-3.2.1
実際はブラウザが勝手にエスケープするからほとんどの場合は大丈夫なんだけどね
0303nobodyさん
2010/09/23(木) 17:20:54ID:Xr2qd2I61.ユーザーがIDとPASSを登録(仮登録)
↓
2.会員のメアドにメールが届く
↓
3.メールに記入されているアドレスにアクセス
↓
4.登録終了(本登録)
と、ここまでのシステムは一応、作れました。
しかし、2のメールに載せる本登録用のURLに、ユーザーのメアドかIDをエンコードしてパラメータとして付けて
本登録ページでデコードして$_GETで受け取るようにしているのですが、ここが良くわかりません。
base64_encodeでやるとパラメーターの前後に==という文字列が入ってしまって見栄えが最悪です。
プロの方はこの辺りをどう処理されていらっしゃるのでしょうか?
0304nobodyさん
2010/09/23(木) 17:28:25ID:???2. ==が入ると見栄えが悪いと思うおかしな感性を捨てる。
0305nobodyさん
2010/09/23(木) 17:29:37ID:???0306nobodyさん
2010/09/23(木) 17:35:45ID:???0307nobodyさん
2010/09/23(木) 17:36:13ID:???0308nobodyさん
2010/09/23(木) 17:36:56ID:???1.ID(メールアドレス)を登録(仮)
↓
2.登録したメールアドレス宛に本登録URLを送る
↓
3.パスワードを設定してもらう(本)
こうする
0309nobodyさん
2010/09/23(木) 17:39:09ID:???照合があって固有IDと一致した場合本登録用データベースにデータを移行する
データは有効期限を設定して時間以内に照合がなかった場合はタスクで削除される
0310nobodyさん
2010/09/23(木) 17:45:59ID:???1.メアド・ID・PASSを登録して貰ってDBに仮登録(Flagというカラムに0で登録)
↓
2.本登録でFlagを1にする。
すみません、正確にはこうでした。
ということは、別にbase64でも良いんですね。
下手にシステム作ってプロの方に「プゲラwwwwww素人乙wwwwwww」
って思われたくなかったので…。
他の方の意見も参考にさせて頂きます。
ありがとうございました。
0311nobodyさん
2010/09/23(木) 17:51:22ID:???0312nobodyさん
2010/09/23(木) 17:52:52ID:???0314nobodyさん
2010/09/23(木) 19:10:01ID:???phpとSQLのデータベースを使ったのしか知らないのですが、他にどんな構成がありますか?
0316nobodyさん
2010/09/23(木) 19:40:47ID:???他の構成を知りたがる理由がわからない。
まずはPHP+MySQLで掲示板を作ってから次を考えても良いのでは?
一度でも何かを作ると他の構成でも容易にこなせる技能を身に付けられるよ。
0317nobodyさん
2010/09/23(木) 19:45:08ID:t81TY9DG【質問内容】
サーバからYahooに自動でログインするにはどうしたらいいでしょうか
hiddenを全てURLに入れてPOST送信してもできませんでした
0318nobodyさん
2010/09/23(木) 19:48:28ID:???データ保存場所にファイルとか
ネットワーク上の何かが来ても良い様に作れ
ただし切り替えは保存するクラスのみを変える事
これで出来ればある程度なんでも出来るようになるかもしれない
0320nobodyさん
2010/09/23(木) 19:50:53ID:???http://developer.yahoo.co.jp/other/oauth/
プログラムからアクセスしたいのならOAuthをお使いください
0323314
2010/09/24(金) 01:10:32ID:IsRiwJnf本当に目からウロコなアドバイスありがとうございます。
これからphpとMySQLを学んでとりあえず作成してみることにします
0324nobodyさん
2010/09/24(金) 01:52:11ID:4goExQXi何を切り替えるんだ?
0325nobodyさん
2010/09/24(金) 02:19:14ID:???0327nobodyさん
2010/09/24(金) 06:34:11ID:iCmL00OPバックエンドでPHPが実行されてログ集計が行えるものを作りたいと思っています。
execやsysytem関数で呼び出す方法じゃなくて
上記のような事が出来る関数があったと思うのですが、忘れてしまいました。
心当たりがある方は教えていただけないでしょうか?pearとかではないです。
0329nobodyさん
2010/09/24(金) 07:11:07ID:???0331nobodyさん
2010/09/24(金) 07:25:12ID:???0332331
2010/09/24(金) 07:30:27ID:???0334327
2010/09/24(金) 08:32:08ID:???以前このスレで教えてもらったのですが、忘れてしまって・・・。
とりあえず、これからAjaxで処理する方法を試してみます。
0335nobodyさん
2010/09/24(金) 08:52:51ID:???全部出力した後に処理しても?
0336nobodyさん
2010/09/24(金) 09:18:32ID:???PHPが終わってくれんとHTTPとしての締めが行われないんじゃない?
0337nobodyさん
2010/09/24(金) 09:29:13ID:???0339327
2010/09/24(金) 10:11:41ID:???その間、Ajax実行元のページも読み込み中のままになってしまい、
バックエンドで動かすのは無理でした・・。
>>338
それが見あたらなくて・・。コテハンでもないので、自分の投稿も覚えてないです。
0341nobodyさん
2010/09/24(金) 11:15:05ID:???0342327
2010/09/24(金) 11:29:29ID:???それだと、パスがサーバ毎に変わると思うんです。
それにあまりコマンドを実行するのも不安ですし。
とりあえず、もう少し調べます。
0343nobodyさん
2010/09/24(金) 11:34:16ID:???というか頻繁に表示されるページに<img src="cron.php" width=1> みたいに埋め込んで
やればいいんじゃないか
0344nobodyさん
2010/09/24(金) 11:35:52ID:???0345327
2010/09/24(金) 11:40:00ID:???それも試しましたが、処理に時間がかかる場合は
ずっと読み込み中になります。(cron.phpにsleppを入れてテストしました)
wordpressのcronってそんなのがあるんですね。ちょっと調べてみます。
0347nobodyさん
2010/09/24(金) 12:45:49ID:NDRyKYW2これって、継承先で、オリジナルのクラスに既にあるクラスのメソッドやプロパティを
丸ごと利用できつつ、新しいメソッドを加えたりプロパティの値を変更して使える機能だと
理解してるんですが間違いないでしょうか?
そうだとすると、継承先で「メソッドを加えたり値を変更したり」しないのであれば
継承する意味がない(継承先クラスの中身{}の記述がカラになる)から
最初からオリジナルのクラスを利用すれば良いってことですよね?
0348nobodyさん
2010/09/24(金) 12:56:30ID:???向こうはこの時間でもアクティブユーザー多いから
0350nobodyさん
2010/09/24(金) 13:13:43ID:???その考え方でだいたい合ってるよ。
でも中身に変更のない場合でも継承して定義することもあるよ。
わかりやすくするためとかの目的でね。
例えばJavaにあってPHPにはないFileNotFoundExceptionっていう例外があるんだけど、
名前の通りファイルが見つからなかった時投げる例外と分かるから、
class FileNotFoundException extends Exception {
}
と、これだけ書かれたクラスをPHPで定義してたりそういうこともするよ。
0353nobodyさん
2010/09/24(金) 13:32:14ID:???http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/FileNotFoundException.html
本家も継承するだけで何もしてないよ
0354nobodyさん
2010/09/24(金) 13:52:50ID:???別にそれがダメって言ってる訳じゃないよ
class FileNotFoundException extends Exception {
}
これはちゃんと
ファイルが無いエラーだよ
っていう意味があっての継承で
ただ解りやすくするためというのは若干違う
ただエラーだよと返す事もできるが
それじゃcatchした時に詳細がわからんからな
継承は継承元の一種で振る舞い等が違うから継承するのであって
上書きできるから継承するっていうのは継承としてはどうなの?という事
実際コード書く上では上書きするために継承するとかの方が楽だけどね
0355nobodyさん
2010/09/24(金) 16:29:12ID:???俺的には凄い違和感あるんだけど、必要なんだろうね。
0356nobodyさん
2010/09/24(金) 18:44:38ID:5mEmp/FRという変数があり、if文で
if($a == ""){
}
という判定をかけると、なぜかこの処理の中に入ってしまって
いるようです。
これは正常な動作なのでしょうか?
また、正常系の場合、通常この処理はどのように行うべきか
ご教示いただけますと幸いです。
よろしくお願いいたします。
0357nobodyさん
2010/09/24(金) 18:45:56ID:???0358nobodyさん
2010/09/24(金) 18:54:41ID:???0359nobodyさん
2010/09/24(金) 18:57:56ID:5mEmp/FR即レス感謝です。
やはり "" と 0 は等価だったんですね。
こないだまでPerlをやっていたので、ここで結構つまずきました。。
ありがとうございました。
0360nobodyさん
2010/09/24(金) 19:01:24ID:???一度は型のきつい言語に触れてくれ…
0361nobodyさん
2010/09/24(金) 19:01:29ID:5mEmp/FR$a === ""
と書くことで、「$aは定義されているけど空文字」という
意味になるのでしょうか。
すみません。
0362nobodyさん
2010/09/24(金) 19:04:06ID:???Perlも使ってる俺の肩身が狭くなるっ!
0363nobodyさん
2010/09/24(金) 19:05:50ID:5mEmp/FR不快な思いにさせてしまいごめんなさい。
これ以上書きませんので許してください。
失礼しました。
0364nobodyさん
2010/09/24(金) 19:08:09ID:BFSvi/T0詳しく見てないけど
こんなのやってくれてる人いるよ
もう一度言う 詳しくは見てない
0365nobodyさん
2010/09/24(金) 20:00:09ID:???マニュアルにあるし
0366nobodyさん
2010/09/24(金) 22:45:19ID:39V4jcsO0367nobodyさん
2010/09/24(金) 22:50:29ID:???ていうかスレ違い
0370nobodyさん
2010/09/25(土) 02:34:21ID:???ブラウザの描画がブロックされるのは
XMLHttpRequest#open() を同期で呼んでしまってるとか組み方に問題がある
分からなかったらJavaScript板で聞いてくれ
>>366
echo でもいいし、HTMLと同じように <?php ?> の外へ書いてもいい
あと Content-Type ヘッダにphp.iniの default_mimetype(デフォルトだと"text/html") が使われるんで
必要なら header('Content-Type: application/xml'); などセットしてやる
0372nobodyさん
2010/09/25(土) 03:19:57ID:???取得っていうからてっきり藏側の話かと思ったわ
クライアントに送出するxmlやらjsonやらってことね
0373nobodyさん
2010/09/25(土) 07:55:42ID:5eiUdC6Bのような複数スペースが空いてるのを
「aaa bbb」というように1つにするにはどうすればいいのでしょうか?
str_replaceで置換すると思ったのですが、
同じ文字を複数→1つに出来ないと思い、質問しました。
0374nobodyさん
2010/09/25(土) 08:26:08ID:/+0QJSqIwhile ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)){
とやると、DBが並んでるデータ順にでてくるんですが、
$res = $mdb2 -> query('SELECT * FROM `foo` order by key');
while ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)){
とやると(keyは主でINT型です)
Fatal error: Call to undefined method MDB2_Error::fetchRow() in (whileのある行)
というエラーがでます
どういうことで、どうしたら直りますでしょうか
0375374
2010/09/25(土) 08:30:29ID:/+0QJSqIorderのところをvarchar型(アルファベットがはいってます)で照合順序utf8_unicode_ciにしているものに変えるとちゃんと五十音順に表示されました
INT型だとなにか特殊な指定などがいるんでしょうか?
0376nobodyさん
2010/09/25(土) 09:01:44ID:???if (MDB2::isError($res)) {
var_dump($res->getMessage());
}
とでもして中身みれば?
0377nobodyさん
2010/09/25(土) 09:13:34ID:???回答ありがとうございます
string(24) "MDB2 Error: syntax error"
というエラーが出てます
並べ替えするのに照合できないなにかがあるんでしょうか
keyには数字しかはいってません(auto_incrementで自動で連番になってるだけです)
種別はINTです
0378374
2010/09/25(土) 09:23:29ID:???keyっていうフィールド名は使わないほうがよいんでしょうか
0379nobodyさん
2010/09/25(土) 09:25:50ID:???DB側としては``で括ってないからSQLの構文エラー返してるんだよ
0382nobodyさん
2010/09/25(土) 09:32:54ID:???まあなんだ、テーブル名のfooをちゃんとバッククオートで囲んでるのに、
keyの方は剥きだしってのを直したら、keyって名前のままでもいけるかもね。
でも、
>keyっていうフィールド名は使わないほうがよいんでしょうか
その方が習慣としては良いと思う。
0383nobodyさん
2010/09/25(土) 09:38:34ID:???予約語でもバッククオートで括れば予約語ではないフィールド名として扱えるってことですね
危なそうな単語は使わないように習慣づけます
ありがとうございました
■ このスレッドは過去ログ倉庫に格納されています