【PHP】下らねぇ質問はID出して書き込みやがれ 78
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/12/23(火) 19:08:55ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0608nobodyさん
2009/01/01(木) 15:28:32ID:???0609nobodyさん
2009/01/01(木) 19:11:35ID:g1UFnF+nわざと例外出してみたいんだが、
なにかサンプルコード買いてよ
0610nobodyさん
2009/01/01(木) 19:12:07ID:g1UFnF+nエラーが出るコードではダメなの?
0611nobodyさん
2009/01/01(木) 19:13:07ID:g1UFnF+nググってもサンプルコードがあんまり出てこない。
でも、もしかして、PDO + MySQLのコードと、ほとんど同じなの?
接続のところの、一行だけ変更すれば、あとは全部同じ?
0612nobodyさん
2009/01/01(木) 19:25:59ID:???0613nobodyさん
2009/01/01(木) 19:28:43ID:???0614nobodyさん
2009/01/01(木) 19:30:00ID:???ここはお前のらくがき帳だ、もっとやれ。
0615nobodyさん
2009/01/01(木) 19:31:45ID:???0616nobodyさん
2009/01/01(木) 20:00:22ID:g1UFnF+ntry {
$dbh = new PDO("sqlite2:aaa/bbb");
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
このコードで、aaaフォルダに書き込み変更禁止
属性をつけて、上記のプログラムを実行した。
そしたら、bbbというデーターベースは存在しないので、
新規作成にいくが、フォルダが書き込み禁止なので、作成できない。
なのでエラーになるはずで、そしたら例外なんとかのメッセージが
出るとおもったのだが、出ない。なんでだ?
0617nobodyさん
2009/01/01(木) 20:18:51ID:???0618nobodyさん
2009/01/01(木) 20:25:08ID:???0619nobodyさん
2009/01/01(木) 20:27:53ID:???暫らくスレ見てなかったから気がつかなかった( ;^ω^)
0620nobodyさん
2009/01/01(木) 20:40:41ID:g1UFnF+nfunction foo() {
throw new Exception("例外発生!");
}
try {
foo();
} catch (Exception $e) {
$e->getMessage();
exit;
}
このコード実行しても
なんもメッセージ出ないんだけど、
これでいいの?
0621nobodyさん
2009/01/01(木) 21:09:55ID:???0622nobodyさん
2009/01/01(木) 21:17:11ID:???0623nobodyさん
2009/01/01(木) 21:27:23ID:O09m/dw1うまくいきません
require_once('MySmarty.class.php');
//Smartyクラスのインスタンス作成
$smarty = new MySmarty();
中略
function logoutConf(){
if($loginFlg == 0){
$smarty->display('logout.tpl');
exit();
}
}
上記を別ファイル(loginChk.php)として、
require_once('loginChk.php');
logoutConf();
としても動かないんです
$smarty->display('logout.tpl');をコメントアウトしてecho "テスト";としたら出力します
何が原因でしょうか?
インスタンスのfunction内での扱いを間違ってるでしょうか?
あと、あけましておめでとうございます
0624nobodyさん
2009/01/01(木) 21:30:42ID:???0625nobodyさん
2009/01/01(木) 21:41:23ID:O09m/dw1そっか、スコープの問題だ!
また忘れてた、ありがとうございました!
0626nobodyさん
2009/01/02(金) 18:50:02ID:PIvYRgwW現在携帯向けサイトを作ってて
hoge.com/profile?PHPSESSID=ce04068aecfc222ed167f335d7d496de でアクセスすると
それまでに登録した名前($_SESSION['uName'])が表示されるようにしてあります。
で、ログアウトページで
session_unset();
session_destroy();
var_dump($_SESSION);
をしてるのですが、その場では array(0){} となるものの、上記のURLをブラウザ直張りして
アクセスすると、さっきの名前が表示されてしまいます(PCで検証してるので、、)
なにも表示されないようにしたい(パラメータのPHPSESSIDの値を無効にしたい)んですが
どうしたらいいんですか?
0627nobodyさん
2009/01/02(金) 19:16:40ID:???$_SESSION = array("destroy" => 1);
とか。実質的に破棄されたようにできる。
サーバー上に保存されるファイルを直接消したければ、gcのタイミングを早めるしかないかな、
どうだったか覚えてない
0628nobodyさん
2009/01/03(土) 01:13:17ID:???デフォルトのセッション保存関数ではその場でファイルを削除するから復元される事はない
表示されるのはキャッシュを読んでるか実装がおかしいかだ
0629nobodyさん
2009/01/03(土) 07:33:13ID:???ログアウトページで、ちゃんとstartしてから破棄してるか?
0630nobodyさん
2009/01/03(土) 08:33:18ID:???0631nobodyさん
2009/01/03(土) 08:54:27ID:QyZ7nGCj解説ページを見ると、PDO+SQLiteの場合、
SQLite3の解説記事ばっかり。
SQLite2で使いたい場合は、説明のページがあんまりない。
だからSQLite3にしようかと思ったが、自分がつかっている
レンタルサーバーにはPDOのSQLite3のドライバが入っていない。
だから仕方なくSQLite2を使うしかない。
0632nobodyさん
2009/01/03(土) 08:55:07ID:???0633nobodyさん
2009/01/03(土) 09:05:40ID:QyZ7nGCjでもそれだと解説記事が少ないんだよ
0634nobodyさん
2009/01/03(土) 09:19:14ID:???0635nobodyさん
2009/01/03(土) 09:20:14ID:???0636nobodyさん
2009/01/03(土) 09:22:11ID:???0637nobodyさん
2009/01/03(土) 09:33:04ID:QyZ7nGCjそうそれそれ。
SQLite3用のサンプルコードをコピペして、
ワクテカして実行したらエラーで動かないとかひどすぎ。
0638nobodyさん
2009/01/03(土) 09:34:46ID:QyZ7nGCjそんなんできるのか?
http://d.hatena.ne.jp/array/20081119/1227097898
ここを見ると、
「ただ、SQLite2を使うとPDOで使った場
合でもエラー時の例外を投げてくれな
い事が分かったので(3は例外を投げる)」
って書いてあるから、ずいぶんと挙動が違うように感じる。
エラーを投げないってことは、try catchとか
使えないってことだろ?
0639nobodyさん
2009/01/03(土) 09:36:53ID:QyZ7nGCj出なかったのは、SQLite2だからなのか?
0642nobodyさん
2009/01/03(土) 09:46:06ID:???0643nobodyさん
2009/01/03(土) 10:50:33ID:QyZ7nGCj「PDOのSQLITEはver.3系、ビルトイン関数の方は2系。」
↑これってどういう意味で言ってるンだ?
PDOは2系では使えないという意味か?
0644nobodyさん
2009/01/03(土) 11:02:36ID:???0645nobodyさん
2009/01/03(土) 18:48:59ID:???0646nobodyさん
2009/01/03(土) 18:50:11ID:???0647nobodyさん
2009/01/03(土) 21:58:48ID:hw8rEzMz確認画面にリダイレクトしています。
mb_send_mail($toAddress,$title,$_POST['msg'],〜);
header(Location: http://www.hoge.com/);
で、リダイレクト先のページをリロードすると「フォームを再送信します」というメッセージがでて
続行すると再度メールが送られてしまうんですが、二重送信を管理するセッションなどを持たせて
再送を防ぐしかないんでしょうか?
if($_SESSION['doubleSend']==0){
上の処理
$_SESSION['doubleSend']=1;
}
みたいな… もっとうまいやり方ないですか?
0648nobodyさん
2009/01/03(土) 22:01:15ID:QyZ7nGCjSQLitemanagerを使ってますがこれはバグだらけでクソすぎる
既存のデーターベースを読み込んで使うこともできない
0649nobodyさん
2009/01/03(土) 22:01:47ID:QyZ7nGCj0650nobodyさん
2009/01/03(土) 22:20:27ID:???0651nobodyさん
2009/01/03(土) 22:22:54ID:???開店一時間前から並んで、俺は余裕の一番乗りをゲット。いわゆる、ファースト・オブ・ファースト。
開店して着席、一息ついて改めてファーストロットメンバーを確認してふと気づいた。
普段はこの店、学生が多いのだが今日はサラリーマン、OLと客層が豊か。
しかも素人が多いのか、コールの仕方もめちゃくちゃで、他の麺バーとの協調性のかけらも見えない。
これはまずい・・・ファーストロットの乱れは、閉店まで波及しオペレーションに重大な支障を来たす。
ふと店主と目が合う。額に汗を浮かべながらのその表情は明らかに
「たのむ・・・あんたがロットマスターになってなんとかしてくれ」と訴えかけていた。。。
ここまで期待されたら、断る理由は無い。やってやろうじゃないの。
大豚W全マシが俺の前に置かれる。難攻不落の要塞さながらのその野菜の山に、
俺はさっそく箸を刺しこみ、胃袋に詰め込み始める。
しかし、今日はいつもの単純な、自分との戦いではない。俺は自分の要塞を攻略しつつ、店内を注意深く監視する。
さっそく発見。盛りの豪快さをネタに、しゃべりまくる二人連れの学生。
――ロット乱しの元凶その1、『不要な私語』。ギルティー。
俺は勢いよくテーブルをバシッ!と叩く。その音に驚き、店内に再び静寂と規律が戻った。
そしてその隣!長い髪を気にしながら、上品にすぼめた口で一本ずつ麺をすすりこむOL!
――ロット乱しの元凶その2、『女』。ギルティー。
俺は箸で女を指し「すばやく食え!」と麺をかきこむジェスチャーを送る。
OLは髪に添えていた手を放し、一心不乱に麺をかきこみはじめた。そう、それでいい。
ロットマスター(=俺w)の的確な指揮により生まれた規律と調和。
俺はさながら、オーケストラを指揮するコンダクターだ。この全能感、多幸感―――。
結果、全員がほぼ同時にどんぶりをカウンターの上に置くことで、
ファーストロットという名のコンサートは見事に成功し幕を閉じた。
店を出たところで、先ほどのOLと目が合う。軽く俺がウィンクをすると、彼女は恥ずかしそうに逃げていった。
0652nobodyさん
2009/01/03(土) 22:49:06ID:???⇒ dsn を sqlite2:my_sqlitedb にすればsqlite2.x系が読み込める。
PDOのSQLITEはver.3系、ビルトイン関数の方は2系。
一行上くらい読んでな。
PDOは2、3どっちでも使えるけど3で使うのが推奨。
3が使える環境でもsqlite_openで作ると2系のDBしか作れない。
MySQLも使うならプリペアドステートメント使っとけば、大体同じに書ける筈。
普通の生クエリで書いちゃうと、SQLiteはカラムや数値をクォートしちゃダメだから
MySQLとの入れ替えは厳しい。
俺の自分がググリ易いように公開してるSEOスパム用メモ張をあてにしない方が良いよ。
0653nobodyさん
2009/01/03(土) 23:01:09ID:???header(Location: http://www.hoge.com/);
これって、""で囲まないで良いの?
0654nobodyさん
2009/01/03(土) 23:03:24ID:???このスレってなんのためにあるの?
ググレ、ググレって覚えたての言葉をうれしそうに連呼する猿を見ると吐き気がする。
手元にある書籍で思いっきりひっぱたいてやりたい気分。氏ねw
日本のPDOが終わってるのはコミュニケーション能力のないキモヲタしかつかわないから。
そういう豚は「ググレググレググレ」ばっか。だからユーザーが育たない。
0655nobodyさん
2009/01/03(土) 23:06:57ID:???3が推奨なのはあちこちのページに書いてあるのでわかりますが、
自分が使っているレンタルサーバーでは
PDOのドライバーが2用のしか入っていないので
使えないんですよ。だから仕方なく2を使っているという現状です。
だから、2用の解説記事を今から10本書いてください。
しかも初心者が読んでわかりやすいようにね。
いつまでも書けますか?
0656nobodyさん
2009/01/03(土) 23:07:38ID:???○いつまでに書けますか?
0658nobodyさん
2009/01/03(土) 23:12:20ID:???* 忠告しておく。層化を追求すると死人が出る ・ ・ ・ ・。
1. 斎賀孝司 ( 朝日記者 / 病死?)
2. 森田設計士( 耐震偽装関連 / 自殺?)
3. 大西社長 ( LD投資組合社長 / 行方不明 )
4. 古川社長 (平成設計の元社長 / 自殺?)
5. 森田信秀 ( 姉歯に構造計算を発注 / 自殺?)
6. 草苅逸男 ( 岡山 ・ 新勝央中核工業団地 / 一級建築士 / 焼死?)
7. 野口英昭取締役( ライブドア政界窓口 / HS証券 ・ 安晋会理事 / 沖縄カプセルホテルで怪死 )
8. 東江組員 ( 沖縄旭流会幹事 / 惨死 )
9. 小渕恵三 ( 脳梗塞??)
10.竹下登秘書の青木伊平( 自殺??)
11.市議会で創価を追及してた元東村山市議朝木議員→飛び降り自殺
12.映画で創価学会を取り上げようとした伊丹監督→飛び降り自殺
13.国会で創価に噛みついて、議員辞職後も創価と裁判してた永田元議員→飛び降り自殺
0659nobodyさん
2009/01/03(土) 23:12:54ID:???0660nobodyさん
2009/01/04(日) 00:47:56ID:+Z0x0JrP0661nobodyさん
2009/01/04(日) 02:45:22ID:90ycN+/tproperty_exists($obj, "varname")
みたいなのが PHP4 でできるなら教えてください。
0662nobodyさん
2009/01/04(日) 02:49:36ID:???$var = "varname";
echo $obj->$var;
というだけなんですが、error_reporing(E_ALL) をすると
$obj->varname が存在しないときにエラーがでるので、
それを防ぎたいというだけです。
0663nobodyさん
2009/01/04(日) 03:10:02ID:???http://jp.php.net/manual/ja/book.classobj.php
0664nobodyさん
2009/01/04(日) 03:32:33ID:???nullとか空文字列とか空の配列で初期化しとくとそもそも判定の手間が省ける事も多い。検討の余地あり。
0665nobodyさん
2009/01/04(日) 07:49:06ID:lpSLvYGuそこで、fsockopenはうまく繋げたけど、fputsの途中でLANケーブルを
抜いた場合などに、タイムアウトを設定して時間切れになったら任意の処理を
実行するといった動作は可能でしょうか?
可能なら実現方法を教えて頂ければと思います。
個人で調べた範囲のものでは、
stream_set_timeoutが惜しいと思ったのですが、fopen/freadにしか使えないようです。
OS不明/PHP5です。お願いいたします。
0666nobodyさん
2009/01/04(日) 07:51:04ID:???0667nobodyさん
2009/01/04(日) 07:59:51ID:???ttp://jp.php.net/manual/ja/function.fsockopen.php
マニュアルに書いてあるよ
0668665
2009/01/04(日) 15:32:22ID:???>>666
fputsで処理がストップするから値は何も返って来ないんだ
>>667
fsockopenじゃなくて、fputsのタイムアウトをとりたいのです。
fsockopenで接続されたあと、ループをまわしながらfputsで少しづつ情報を
送っているのですが、その途中で接続が切断された場合、fputsで処理が止まり
どうしようもなくなってしまうので・・
何か分かりましたらお願いします。
0669nobodyさん
2009/01/04(日) 16:27:28ID:S9BZj0MWで、"><font color="#ff0000"> と入力して送信したら、確認画面では \"> と表示され
ソースを見ると該当箇所は \"><font=\"#ff0000\"> となってました
なんで\をつけられてるんでしょうか?
かなりレベルの低い質問だと思いますが、御願いします
htmlspecialchars() とかしてないのにと混乱してます
smartyのスレで質問したのですが、それ以前の問題に思えてきたのでこちらで
質問させてもらいました、よろしく御願いします
0670nobodyさん
2009/01/04(日) 16:37:02ID:???0671nobodyさん
2009/01/04(日) 16:37:24ID:???ttp://jp2.php.net/manual/ja/info.configuration.php#ini.magic-quotes-gpc
0672nobodyさん
2009/01/04(日) 17:11:00ID:???どうもありがとうございます、ようやく解決しました
利用非推奨だしONだと遅くなるらしいし、何の意味があるんでしょうかねこれって
とにかくありがとうございました
0673nobodyさん
2009/01/04(日) 17:53:12ID:???MySQLに値を格納するときに
SQLインジェクションされるのを防止
するためにNASAが開発した新機能だ
0674nobodyさん
2009/01/04(日) 17:57:19ID:csR3yzKgMYSQLのデータをPHPで表示させる場合SQLインジェクション対策をする必要はあるのでしょうか?
0675nobodyさん
2009/01/04(日) 18:01:53ID:???0676nobodyさん
2009/01/04(日) 18:14:18ID:8Obh1++8それは
MySQL→PHP
というデーターの流れだよね。
その場合は、htmlspeなんとかで、タグのサニタイズをするべき。
理由はXSSやCSRF.
もし、
PHP→MySQL
というデーターの流れであれば、それは
データーベースにデーターをつっこむわけだから、
適切にエスケープしないと、SQLインジェクションされる。
この時は、mysql_real_escape_stringなんちゃらを使う。
またはPDO+プリペアードステートメントを使えば自動でやってくれる。
0677nobodyさん
2009/01/04(日) 18:15:42ID:???0678nobodyさん
2009/01/04(日) 18:47:22ID:8Obh1++8このページの記述が理解できん
openとcloseが、まったく同じではないのか??
// example opening a connection to SQLITE 2 (available in PHP 5.1)
$dbh= new PDO('sqlite2:/databases/mydb.sq2');
//**************************************************
// example closing a connection to SQLITE 2
$dbh= new PDO('sqlite2:/databases/mydb.sq2');
0679nobodyさん
2009/01/04(日) 18:48:46ID:8Obh1++8SQLite3に以降したほうがいいのか?
しかしxamppではいまだにSQLite2だし、
PHPにデフォルトでついてくるSQLiteも2のままだ。
SQLite3+PDOで使えるレンタルサーバーを探したほうがいいのか?
0680nobodyさん
2009/01/04(日) 19:00:08ID:8Obh1++8PDO
PDO support enabled
PDO drivers sqlite2, sqlite
こうなっているんだが、
「sqlite」
っていうのは、もしかしてsqlite3のことなのか?
0681nobodyさん
2009/01/04(日) 19:01:27ID:8Obh1++8PDO Driver for SQLite 3.x enabled
PECL Module version (bundled) 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6.2.3 2007/12/31 07:20:10 sebastian Exp $
SQLite Library 3.3.7
って書いてある。3って理解でいいよな?
0682nobodyさん
2009/01/04(日) 19:09:57ID:???HTMLタグをエスケープするならそういえばいいし、SQLエスケープならそう言えばいい。
俺の周りで「サニタイズ」を好き好んで使う奴って無能ばっか。バリデーションとサニタイズの区別もつかないようなアホとか。
まあ、>676の指摘は全面的に正しいから別にいいんだけどな。
0683nobodyさん
2009/01/04(日) 19:11:19ID:8Obh1++8漏れの説明ってすっげーわかりやすくて正確だろ?
お前達みたいなゴミグラマとはセンスが違うんだよ!
0684nobodyさん
2009/01/04(日) 19:13:26ID:hMI53W82こういう事がしたいんですが、出来ません。
プロパティでないと中括弧と変数を使った記法は出来ないのかと思いますが
どう書けば出来ますか?
0686nobodyさん
2009/01/04(日) 19:14:10ID:???0688nobodyさん
2009/01/04(日) 19:15:34ID:???おまえ、どれだけ悲惨な環境で育ったんだ?
今現在、少しは生活が良くなったのか?
だとしたら良かったな。 抑圧された悲惨な生活から何とか抜け出せたなら、次は知性とか教養を身につけないとな。
血の滲むような努力をしてきた君なら、きっと教養は身につけられるだろうから頑張れよ。
もしかしたら、その曲がりきった卑しい根性も、少しは矯正できるかもしれないぞ。
0689nobodyさん
2009/01/04(日) 19:17:03ID:hMI53W82事故解決しました勘違いでした。
0692nobodyさん
2009/01/04(日) 19:22:19ID:???[email protected]
0693nobodyさん
2009/01/04(日) 19:23:04ID:???底辺で生きてる奴はちょっと自分が優位だと思うと豹変するんだよねぇ。
些細なミスをした店員を執拗に罵倒してる客とかたまに見るけど、
普段怒られてばっかで、怒ることに慣れてないから必要以上に相手を罵っちゃうんだろうな。
加減が分からないって可哀想だよね。
0695nobodyさん
2009/01/04(日) 19:49:23ID:+Z0x0JrP0696674
2009/01/04(日) 20:47:58ID:csR3yzKg分かり易い解説ありがとうございました。
すっきりしました
お礼が遅くなり申し訳なかったです。
0698nobodyさん
2009/01/04(日) 22:47:43ID:???0699nobodyさん
2009/01/05(月) 00:56:51ID:g6qRsOWrフレームワークについてくるもので、
単独で使うものではない?(PDOのように)
0700nobodyさん
2009/01/05(月) 01:18:34ID:???単独で公開されてるORマッパだってあるし、フレームワーク付属のO/Rマッパだってそのまま単独で使える事が多い。
0701nobodyさん
2009/01/05(月) 03:26:50ID:g6qRsOWrドライバ、インストールするのはどうやるの?
0702nobodyさん
2009/01/05(月) 03:47:24ID:g6qRsOWr0703nobodyさん
2009/01/05(月) 07:04:48ID:???みんなにわかりやすくしたら反感買わないと思うよ?
答えが出たらそれで納得したのかどうかぐらいはレスした方がいいだろうし
前の質問に回答が出る前に別の質問立てたら、スパムだと思われるよ。
反感を買うために書いてるんならスルーしてくれていいけど
0704nobodyさん
2009/01/05(月) 08:44:11ID:???0705nobodyさん
2009/01/05(月) 14:19:36ID:SSLU+Cc/レンタルサーバーでセキュリティーの問題からallow_url_fopenがOFFになっており
getimagesizeで外部の画像の大きさ等の情報を取得できず困っています
curlを使いgetimagesizeみたいに画像情報を配列で返してくれる関数というのはあるのでしょうか?
それともcurlで1度画像をローカルに取得し、それをgetimagesizeするしか方法はないのでしょうか?
0706nobodyさん
2009/01/05(月) 14:57:59ID:???allow_url_fopen だって、内部的には一度画像をローカルに取得して、
サイズをとってるだけだよ。
0707nobodyさん
2009/01/05(月) 15:10:43ID:SSLU+Cc/ありがとうございます
curlで1度ローカルに画像を保存しても極端に重くはならないということですね
0708nobodyさん
2009/01/05(月) 17:28:48ID:???何かそのような関数はありますでしょうか?
継承したものも全て出力したいです
■ このスレッドは過去ログ倉庫に格納されています