【PHP】下らねぇ質問はID出して書き込みやがれ 104
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/02/14(月) 16:45:59ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0353nobodyさん
2011/02/22(火) 23:34:56.89ID:???0355nobodyさん
2011/02/22(火) 23:54:20.38ID:???1.var_dumpの後に<br />が無いので続く出力がくっついて醜いです。
2.bin2hexの出力が全て繋がってしまいます。16バイトとかで区切らないと醜いです。
3.やり方しだいですがprintfには書式に%Xがあります。コードが醜いです。
4.エンコードを変換する前後の文字列をvar_dumpしていますが、文字化けして醜いです。
5.brと/の間にはスペースを入れましょう。醜いです。
総合得点100点中5点
コーディングには作成者の性格が現れるといいます。もうすこしがんばりましょう。
0356nobodyさん
2011/02/22(火) 23:55:22.28ID:???0358nobodyさん
2011/02/23(水) 02:32:48.02ID:???メール受信がネックになるようだったら受信するかどうかを乱数で決めればよく。
十分なPVがあることが前提だけどね
0359nobodyさん
2011/02/23(水) 02:39:20.51ID:aCifZZvQテキストやフォントサイズはGETから(<img src=gd.php?text=テスト&size=20のように>)操作できるのですが
画像上に表示したテキストをwidthやheightを指定して移動させたいと思いGETで渡しても反映されません。
どのようにすれば出来ますか?
0360nobodyさん
2011/02/23(水) 02:51:42.28ID:???0361nobodyさん
2011/02/23(水) 02:53:29.92ID:???何をしたいのかよくわからんけど、「どのようにすれば出来ますか」じゃなくて
自分が書いてうまくいかなかったソースを提示して疑問点を明確にするように
0362nobodyさん
2011/02/23(水) 02:55:04.91ID:aCifZZvQそれをやっていますが反映されません。
理由がわからないので質問させて頂きました。
0363nobodyさん
2011/02/23(水) 02:57:15.59ID:aCifZZvQ<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize].">"; ?>
<br><br>
<form action="" method="get">
<input type="hidden" name="q" value="<?php echo $_REQUEST[q]; ?>">
<input type="text" name="text" value="<?php echo $_REQUEST[text]; ?>"><br>
【文字サイズ】<br>
<SELECT NAME="fontsize">
<OPTION VALUE="40">普通
<OPTION VALUE="25">小さめ
<OPTION VALUE="60">大きめ
</SELECT><br>
【文字の移動】<br>
縦に<input type="text" name="h" value="<?php echo $_REQUEST[height]; ?>" size="10">移動する<br>
横に<input type="text" name="w" value="<?php echo $_REQUEST[width]; ?>" size="10">移動する<br><br>
<input type="submit" value="加工する">
0364nobodyさん
2011/02/23(水) 02:59:29.81ID:aCifZZvQ$width = 100-$_REQUEST[width]等、色々いじってみましたがフォントの位置のパラメータは渡せませんでした。
<?php
$font_size = $_REQUEST[fontsize];
$red = 100;
$green = 100;
$blue = 200;
$text = mb_convert_encoding($_REQUEST[text], 'utf-8', 'auto');
$path = "./img/".$_REQUEST[q].".jpg";
$width = $_REQUEST[width];
$height = $_REQUEST[height];
$font = "./APJapanesefontF.ttf";
$image = @imagecreatefromjpeg($path);
$col = ImageColorAllocate($image, $red, $green, $blue);
ImageTTFText($image, $font_size, 0, $width, $height , $col, $font, $text);
// jpeg出力
header("Content-type: image/jpeg");
Imagejpeg($image);
imagedestroy($image);
?>
0365nobodyさん
2011/02/23(水) 03:01:23.89ID:aCifZZvQ0366nobodyさん
2011/02/23(水) 03:02:04.54ID:aCifZZvQ×name="w"
0367nobodyさん
2011/02/23(水) 03:06:07.61ID:???$_REQUEST[q] って何?
0368nobodyさん
2011/02/23(水) 03:11:29.95ID:???0369nobodyさん
2011/02/23(水) 03:12:00.55ID:aCifZZvQ良い案が思い付かなかったのでこんな感じにしました。
0370nobodyさん
2011/02/23(水) 03:12:23.10ID:???0371nobodyさん
2011/02/23(水) 03:14:14.14ID:???0372nobodyさん
2011/02/23(水) 03:17:50.61ID:aCifZZvQ$_REQUEST[width]にも値が入っていて
gd.phpの側でも受け取れているはずなのに反映されないからおかしいなぁと思いましてですね。
GD固有の癖でもあるのかと思って質問させて頂いたのですが。
0373nobodyさん
2011/02/23(水) 03:21:46.06ID:aCifZZvQ×<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize].">"; ?>
○<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize]."&width=".$_REQUEST[width]."&height=".$_REQUEST[height].">" ; ?>
こうでした。
お手数掛けて申し訳ありません。
0374nobodyさん
2011/02/23(水) 03:22:11.52ID:???0376nobodyさん
2011/02/23(水) 03:37:26.40ID:???そうでないなら$_REQUEST[width]には入ってないと思うんだけど。。。
0379nobodyさん
2011/02/23(水) 04:02:11.12ID:???その意味でエスケープということもある
HTML Entity のことを英語でも HTML Escape Character や HTML Escape Symbol などとも呼ぶ
0381nobodyさん
2011/02/23(水) 04:52:15.95ID:???その直後の>>373で出来たって言ってるんだからつっこむ暇無いだろうが
つーか終わったネタにいつまでグジグジ言ってんの?
0382nobodyさん
2011/02/23(水) 05:24:49.99ID:???0384nobodyさん
2011/02/23(水) 13:45:18.97ID:6OM3cecQwordpress使おうと思って、色々と必要なものをインストールした。
が、mysql.soとpdo_mysql.soがロードされない。
OSはCentOS5.5。 PHPは5.2.17。
/etc/php.d/mysql.iniにはextension=mysql.soは書かれている。
phpinfo()で確認しても、ちゃんとmysql.iniは読み込まている。
extension_dir(だっけ?)もちゃんと正しく表示されていて、
そのディレクトリの存在も確認したし、その下にmysql.soもあった。
apacheのログを見ても特にエラーはなし。
の、状態でphpinfo()で表示される諸々の情報で、
pdo_mysqlやmysqlが出て来ないのはなぜでしょう?
スレチだったら、Linux板行ってきます。
0385nobodyさん
2011/02/23(水) 13:53:38.29ID:???0386nobodyさん
2011/02/23(水) 13:55:14.84ID:???0387nobodyさん
2011/02/23(水) 14:01:23.50ID:6OM3cecQおけ。ありがとう。
でも、phpinfoで読まれてるっと表示があるのに
読まれないってこともあるんですかね。
仕事終わって帰ったら試してみます。
ぐぬぬ。
0388nobodyさん
2011/02/23(水) 14:06:08.45ID:bwOUGcGJ個別でインストールしたの?
それともyumで?
0389nobodyさん
2011/02/23(水) 14:09:41.62ID:6OM3cecQちなみに依存関係とかってありますかね?
同じ設定方法で、mbstringとか、pdo_sqlite とかは読めてるんですよね。
0390nobodyさん
2011/02/23(水) 14:27:14.79ID:???0391nobodyさん
2011/02/23(水) 15:00:25.47ID:Ql2fJWu6こちらでも投稿させていただきました。
【OS名】CentOS
【PHPのバージョン】5.1.6
【連携ソフトウェア】MySQL ZendFramework
【質問内容】
MySQLにレコードを登録するプログラムを組んでいます。
ブラウザからアクセスしてプログラムを実行すると
ちゃんとDBに登録されるプログラムを
コマンドラインで実行するとエラーが出てしまいます。
エラーには
SQLSTATE[HY000]: General error: 2053
と表示されます。
ほかにはスタックに
Zend_Db_Statement_Pdo->fetchAll()
でエラーが発生しているかのように出ておりました。
エラーを解消するにはどの様にすればよろしいでしょうか。
よろしくお願い致します。
0393nobodyさん
2011/02/23(水) 15:17:28.66ID:6OM3cecQんー。それは済ませてあります。
現に、mysql.soは存在してるので...。
帰ったらもう一度試してみますです。
0394nobodyさん
2011/02/23(水) 16:20:19.40ID:???PHP公式マニュアルでも「エスケープ」が使われてる
http://www.php.net/manual/ja/faq.html.php#faq.html.encoding
例2「ブラウザはエスケープされたシンボルを解釈する」
http://www.php.net/manual/en/faq.html.php#faq.html.encoding
Example #2「browser will interpret the HTML escaped symbols」
0395385
2011/02/23(水) 16:38:29.70ID:???> phpinfo()で確認しても、ちゃんとmysql.iniは読み込まている。
ごめん。みおとしてた。
phpinfoはWeb経由で?それともCLIで?
extension行がコメントアウトされてるってことは、、、ないか。
0396nobodyさん
2011/02/23(水) 16:50:57.68ID:3aR5DZo1md5でハッシュにして保存、ログインの時もidとハッシュにしたパスワードでDBをcountして1であればokにしています。
0397nobodyさん
2011/02/23(水) 16:52:16.20ID:6OM3cecQ両方とも試してみましたですよ。
mysql絡みだけ表示されませんでした。
今コソーリ社内の環境と、昨晩の記憶を思い返して比較したけど、mcript なんて入ってたかな?と。
それがmysql.soをロード出来ない理由かは?ですが。
社内にPHPerやlinux使いがいなくて聞けない(涙)
0398nobodyさん
2011/02/23(水) 17:05:29.73ID:???0399nobodyさん
2011/02/23(水) 17:07:03.39ID:???だいたいそんな感じだけど、それだけだと怖いので、
$salt = "tekitou";
$row['password'] = sha1($salt.$password);
な感じでDBに格納してるかな。$saltはこっちが決めた適当な文字列。
登録のときもログインのときも、SQLインジェクション対策忘れずにね。
0400nobodyさん
2011/02/23(水) 17:18:27.25ID:???0402nobodyさん
2011/02/23(水) 17:57:37.72ID:3aR5DZo1ありがとうございます。
書き忘れましたが、keyを付けてハッシュにしています。
keyはユーザーごとにランダムに生成した物で、idとkeyのレコードがあるテーブルを作って、
idからkeyをgetしてそれで判定するって感じでしょうか?
0403391
2011/02/23(水) 18:03:44.99ID:Ql2fJWu6PDOからエラーコード:HY093
というのが返ってきているのがわかりました。
色々とサイトを見ると無効なパラメータ番号という意味だと書いてありました。
ブラウザから動かすとちゃんと動くのに
バッチからだとHY093と出る理由がまだ分かっていないのと
HY093に対する対策も未だわかっておりません。
どなたかわかる方がいらっしゃいましたら
アドバイスをお願いいたします。
0404nobodyさん
2011/02/23(水) 18:13:01.75ID:???いいんじゃない
もっともハッシュには完全な一意性は無いので別のパスワードが偶然一致する可能性も皆無ではないけど
0406nobodyさん
2011/02/23(水) 18:26:11.88ID:???ブラウザ経由とCLIで異なるバージョンのPHPやMySQLが実行されてる可能性は?
HY093が無効なパラメータならプリペアードステートメント周辺が何か間違ってるんじゃないの?
0407403
2011/02/23(水) 18:45:09.73ID:???ありがとうございます。
すみません。自己解決しました。
ブラウザ経由の場合は
phpMyAdmin使ってのクエリー実行だったんですが
CLIの場合はバインドを使ってまして、
プレースホルダの設定をしている配列を渡さなければならないところで
nullを渡しているのが原因のようでした。
ここで報告するのも恥ずかしいくらいのポカミスです。
ほんとお騒がせいたしました。
0408nobodyさん
2011/02/23(水) 19:15:05.76ID:???0409nobodyさん
2011/02/23(水) 19:22:29.33ID:???0410nobodyさん
2011/02/23(水) 20:29:56.99ID:???http://www.w3schools.com/tags/ref_entities.asp
http://www.iana.org/assignments/character-sets
http://www.faqs.org/rfcs/rfc1345.html
ISO-8859-1の規格にはHTMLエンティティ化のことをエスケープ化であると言っている表現などない
0411nobodyさん
2011/02/23(水) 20:32:51.28ID:???そりゃそうだろう
PHP等のプログラム内で文字をHTMLエンティティに変換することをエスケープと呼ぶ場合があるわけだから
ISO規格に規定される概念ではない
0412nobodyさん
2011/02/23(水) 20:35:00.94ID:???http://www.google.co.jp/search?q=htmlspecialchars%E3%80%80%E3%82%A8%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%97
誤用だろうがなんだろうがこれだけ定着してんだから細かいことにこだわんなよw
0413nobodyさん
2011/02/23(水) 21:01:49.59ID:???元の意味も忘れ去られてくれるまで、会話が
不便なんだよな。
下手すると、リアルで罵り合いになるw
0414nobodyさん
2011/02/23(水) 21:11:29.58ID:???0415nobodyさん
2011/02/23(水) 21:14:34.29ID:???それは始めに誰かがHTMLエンティティ化とは何かを正しく理解しないまま
イメージだけで勝手にそう呼び始め、更にそれを見た初心者が鵜呑みにして
呼ぶようになったから広まっただけで、誤りは誤り。
広く使われているからそれでいいという思考停止的考えは良くない。
0416nobodyさん
2011/02/23(水) 21:18:56.42ID:???誤用厨に正論は無力。
HPがHPをHPと略すのはやめろ。むしろ、HPはWPと略すべきっていう
意見広告まで出してたけど、HPはHPの略として定着してしまい、HP
がHPのことであったことなど忘れ去られている。
0417nobodyさん
2011/02/23(水) 21:34:43.04ID:???じゃぁあんたは「エスケープ」という言葉をどう厳密に定義して使ってるの?
そもそも「HTMLエンティティ化」って単語はどうなのよ
>>410の文書に「HTML Entity」って熟語が1回でも登場してるか?
それこそ造語じゃないのか?
0418384
2011/02/23(水) 23:54:43.33ID:???「動 い て る じ ゃ ね ー か !!」
確かに、昨晩はapacheの再起動はやりまくったが・・・
マシンの再起動はしていませんがなorz=3。
レスくれたみんなありがとう。お騒がせいたしますたm(__)m
0419nobodyさん
2011/02/24(木) 00:05:16.57ID:???+-- file [777] ←ここのファイルの拡張子を全部変えたい
たとえばjpg→pngに全部変更するのにどうやって変更するんですか?
0421nobodyさん
2011/02/24(木) 01:45:38.92ID:???0423nobodyさん
2011/02/24(木) 02:05:07.17ID:???既存のファイルはシェルでやるといいよ。
0424nobodyさん
2011/02/24(木) 03:05:51.94ID:???【PHPのバージョン】5.2.9
【連携ソフトウェア】Ajaxplorer 3.2.1
Ajaxplorer 3.2.1のコードを解析しているのですけど分からなくなったので質問があります
ファイルの一覧を表示している画面で、ファイル名にシフトJISコード表の点46行目(死・斧など)の文字が含まれていると、ファイルがディレクトリとして判定されてしまいます
コードを解析してみると/plugins/access.fs/class.fsAccessDriver.phpの544行の is_file($path."/".$nodeName) で誤判定が出ているようです
ここを !is_dir($path."/".$nodeName) に変更すると誤判定はなくなりますが、その後の処理で上手く行きません
これが何故発生するのか原因が分かる人いますか?
AjaXplorer 2.6までは大丈夫なので設定は問題ないと思います
0425nobodyさん
2011/02/24(木) 03:23:09.25ID:???0426424
2011/02/24(木) 04:07:25.49ID:s60KqhRTとりあえずIDの出し方テスト
0427nobodyさん
2011/02/24(木) 04:08:27.81ID:???0428nobodyさん
2011/02/24(木) 05:34:34.30ID:AKmJ91ZX変数じゃ駄目なんですか?
ハッタリで定数を使っていると中級者っぽいですか?
0429nobodyさん
2011/02/24(木) 05:37:30.00ID:???変わる値を入れるのが変数
0432nobodyさん
2011/02/24(木) 10:02:48.13ID:???<?php
$myId = $_POST['my_id'];
$password = $_POST['password'];
$save = $_POST['save'];
//Cookieに保存
if($save == 'on'){
setcookie('my_id', $myId, time() + 60 * 60 * 24 * 14);//2週間クッキーを保存する
$message = 'ログイン情報を記録しました';
}else{
setcookie('my_id');
$message = '記録しませんでした';
}
?>
教科書には「setcookieはheaderファンクションのように先頭にプログラムを記述しましょう」と書いてあるのですが、いまひとつ理解できません…
エスパースレではないのは承知なんですが…よろしくお願いします…
0433。 ◆oDupeixhZv52
2011/02/24(木) 10:13:00.44ID:???0434nobodyさん
2011/02/24(木) 10:27:57.24ID:LwPaJ6B6c:\php\go-pear.bat
を実行するとエラーになるのですが・・・
ここ(http://iwbc.info/archives/820)を参考にしてみたのですが、
例えばHtml_Menuをインストールしようとすると、何か今までのPHP5.2と違って変なErrorやWarningが出ます
解決方法は無いのでしょうか?
上記のサイトのようにするしか無いのでしょうか?
0435>>432
2011/02/24(木) 10:32:39.89ID:???レスありがとうございます。下記がエラーです。
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sample17.php:1) in C:\xampp\htdocs\sample17.php on line 8
と出ていました。line 8というのは、>>432の時間の設定をしてあるほうのsetcookieです。
0439>>432
2011/02/24(木) 11:18:38.22ID:???お騒がせしてすみませんでした!
0440nobodyさん
2011/02/24(木) 15:42:44.76ID:d+AsvlaBどういった手法がとられているのかお伺いしたくこちらに書き込ませて
いただきました。
私が現在実装しているものは、下記となります。
■ログインフォームからの入力値と照合させ、通った場合、下記の
ようにsession_idをセッションに保存
$_SESSION['authentication'] = sha1(session_id());
■ログイン後はDBとの通信はせず、上記で保存されたセッション
情報を照合させることにより、認証させる。
if($_SESSION['authentication'] == sha1(session_id())){
認証成功処理
}
else{
認証エラー処理
}
なにか足りない点や、セキュリティ等の考え方から根本的に誤りが
ある場合は、ご指摘いただけますと幸いです。
よろしくお願いいたします。
0441nobodyさん
2011/02/24(木) 16:09:59.16ID:???セッション変数はセッションIDと一対一なので不要
# ログイン処理
if (認証が成功した?) { $_SESSION['authenticated'] = true; }
# 認証が必要なページ
if (empty($_SESSION['authenticated'])) { 認証されていないアクセス }
0442nobodyさん
2011/02/24(木) 16:30:07.96ID:???>セッション変数はセッションIDと一対一なので不要
言われて気づきました。
たしかにおっしゃるとおりですね。
ありがとうございます。
if (empty($_SESSION['authenticated']))
これだけで認証を通すことは特に問題ないでしょうか。
セッション自体をのっとられることがない限り、ということだと思いますが、
いままでPerlでやっていたときは、ページアクセスごとにわざわざパラメータ
にもたせているID、暗号化パスワードをDBと照合させていたので。。
初歩的で申し訳ないです。
0443nobodyさん
2011/02/24(木) 17:49:57.36ID:???セッション変数はサーバーサイドで保存されている
という事はそれが改ざんされないよう設定を気をつける
例えば共有サーバーを使ってて
session.save_path が共有されているとかね
http://www.php.net/manual/ja/function.session-set-save-handler.php
の例を見たらPHPのセッションがどう実装されているのか分かると思う
セッションハイジャックやセッション固定攻撃はまた別問題なので割愛
0444nobodyさん
2011/02/24(木) 20:07:59.39ID:xAv2QTQ5何作ってもMVCにしたくなって、手間がかかって仕方ないんです・・・
特にclassとか使わないのに。
0445nobodyさん
2011/02/24(木) 20:31:21.17ID:???とりあえず言えることは、君に必要なのは自己制御能力ではないか
0446nobodyさん
2011/02/24(木) 20:31:35.32ID:???意識しないでもMVCになるだろ
0447nobodyさん
2011/02/24(木) 20:53:19.77ID:xAv2QTQ5Cakeを使わないようにしようと思っても、
いつの間にかそう言う書き方になるんです・・。
小規模なサイトやお問い合わせフォーム程度のものでも
わざわざMVCにする必要ないとは思うので、
どういう構成が適切なのかと思い、質問しました。
0450nobodyさん
2011/02/24(木) 21:47:05.14ID:???専用サーバを使用してますが、session_save_pathは自前で作った
ディレクトリに設定してます。ありがとうございます。
とりあえずログインしたあとのセッションに認証通過のフラグを
いれ、それのみの管理で認証管理ができるということがわかりま
したので、大変助かりました。
ありがとうございました。
0451nobodyさん
2011/02/25(金) 01:27:04.03ID:???何に悩んでんだ一体
0452nobodyさん
2011/02/25(金) 01:45:00.66ID:???程度のものにフレームワーク使うってどうなの?
駄目じゃないけど大げさな気がする
・・・ってことでしょ
■ このスレッドは過去ログ倉庫に格納されています