【PHP】下らねぇ質問はここに書き込みやがれ 47
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/05/26(土) 21:03:53ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0402nobodyさん
2007/06/15(金) 13:49:11ID:???偉そうなこと言っているんじゃねーぞ!
0403nobodyさん
2007/06/15(金) 14:00:57ID:???function test($way, $inc , $math){
$result = $way + $inc + $math;
return $result;
}
}
class word{
function word($string, $string2){
$result = $string.$string2;
return $result;
}
}
$calc = new math;
$result = $calc->test(1,2,3);
echo "math : ".$result; // 6
$word = new word;
$words = $word->word('men','bou');
echo "words : ".$words; // ERROR: MISSING ARGUMENTS
上のMathではエラーはでないのですが
下のWordクラスでは Missing Arguments 1 for word::word()とか出てくるんですが、どうしてですか?
PHP5.10です。
0404nobodyさん
2007/06/15(金) 14:15:47ID:???0405nobodyさん
2007/06/15(金) 14:21:42ID:???つ[ wordがコンストラクタなのに引数がないからどうしてもやりたいなら ]
class word{
function word($string="", $string2=""){
$result = $string.$string2;
return $result;
}
}
0406nobodyさん
2007/06/15(金) 14:27:45ID:1n6QxpIgユーザーがフォームより文字列を送信、$_POST['text']に文字列が入りました。
以下のコードで文字列を表示させたいのですが、
test();
function test() {
echo $_POST['text'];
}
↑
このままでも文字列を表示することができました
test($_POST['text']);
function test($srt){}とかみたいな書き方をしなくても入ったんですけどユーザー定義関数内に値を
わたす記述をしなくてもはいったんですけどなんでですかね?
0407nobodyさん
2007/06/15(金) 14:28:13ID:???class word{
var $result;
function word($string="", $string2=""){
$this->result = $string.$string2;
}
function re(){
return $this->result;
}
}
$word = new word('men','bou');
echo "words : ".$word->re(); // ERROR: MISSING ARGUMENTS
0409nobodyさん
2007/06/15(金) 14:31:04ID:???つ[ ttp://search.net-newbie.com/php/reserved.variables.html ]
0410nobodyさん
2007/06/15(金) 14:33:56ID:XHx+Mhrp["row:protected"]に入っている配列を連想配列として取り出したいです。
aggregate_infoや(環境がPHP5なので使えなかった)
get_object_varsでは取り出せなかったのですが、どうすれば良いのでしょうか。
object(Hoge)#14 (5) {
["pdo:protected"]=>
object(PDO)#2 (0) {
}
["table:protected"]=>
string(4) "hoge"
["row:protected"]=>
array(4) {
["id"]=>
string(6) "100000"
["test"]=>
string(4) "aaaa"
["number"]=>
string(2) "80"
["check"]=>
string(0) ""
}
["constraints:protected"]=>
array(1) { ["id"]=>string(6) "100000" }
["children:protected"]=>
array(0) {
}
}
こうしたい↓
$val =array(["id"] => "100000", ["test"] => "aaaa", ["number"] =>"80", ["check"] => "",);
0411nobodyさん
2007/06/15(金) 14:48:28ID:???0412nobodyさん
2007/06/15(金) 14:53:09ID:???あっそうか。。PHP5はコンストラクタ関数があるから大丈夫なのかと思っていました。
PHP4ではコンストラクタはクラスと同じ名前にしてたんですね。互換性のためかな。
用例も見せてくれて有難う(´・ω・`) この場合 new word ですでに引数がなかったために
MissingArgumentエラーが出てたんですね。なるほど。しっかり理解できました!
0413nobodyさん
2007/06/15(金) 16:10:58ID:???先輩から日本語のファイル名の表示が文字化けするのを修正するように言われました。
どうせ文字コードの問題だろうと簡単に考えていたのですが、
うまくいかなくて困っています。
状況ですが、日本語ファイル名.pdfというファイルをアップロードすると、
ファイル名が 楔譽侫.ぅ詭?.pdf と表示されてしまいます。
これの文字コードを mb_detect_encoding で調べると SJIS となっていましたので、
ページ内容の出力の文字コードと同じ EUC-JP になるよう mb_convert_encoding で変換してみたのですが、
ワク?ユ・。・、・?セ.pdf となり、文字化けを解消できません。
また、あ.pdfというファイルの場合は、
日本語の部分がすべてなくなり、.pdf というファイル名になってしまいます。
根拠はないのですが、phpに渡った時点で、すでにファイル名がおかしくなっているように思っています。
この現象の原因や解決策を教えていただけないでしょうか。
phpは php-5.2.1 を --enable-mbstring で make したもの、
apache は 2.2.4 です。
0414410
2007/06/15(金) 16:12:09ID:XHx+Mhrpオブジェクトは$rowにもう入っていて
$row->fetchAll()とかしても、メソッドがありませんといわれるのです。
$row->idとかやればidの値は取れるのですが、カラム数が多かったりすると大変なので
0415413
2007/06/15(金) 16:13:11ID:kZwLm+ij0418nobodyさん
2007/06/15(金) 16:45:19ID:???なんか数スレ前にも同じような質問があったな。
get_object_varsとかマニュアルのUser Contributed Notesに乗ってたような気がする
0419nobodyさん
2007/06/15(金) 17:01:07ID:???キーボードについた精子を綺麗にふき取るような関数ってありますか?
0420410
2007/06/15(金) 17:08:35ID:XHx+Mhrpget_object_varsのマニュアルのUser Contributed Notesの中にあった
obj2arrayを使って、取り出すことができました!ありがとうございます。
このやり方ってすごいですね…。
強引というか何というか。
0421nobodyさん
2007/06/15(金) 17:09:29ID:???ディスプレイも庭に出して水でジャバジャバ洗って完全乾燥。
0422nobodyさん
2007/06/15(金) 17:17:19ID:???文字コードは両方ともEUC
先頭の3バイトが抜けるとそうなる
日本語ファイル名
C6 FC CB DC B8 EC A5 D5 A5 A1 A5 A4 A5 EB CC BE
楔譽侫.ぅ詭?
DC B8 EC A5 D5 A5 A1 A5 A4 A5 EB CC BE
なんで抜け落ちるのかは知らない
0423nobodyさん
2007/06/15(金) 17:20:24ID:???3fe0
とかの文字列ってなんなんだ?
0424nobodyさん
2007/06/15(金) 17:22:36ID:???取得の仕方間違ってるんじゃないか?
オブジェクトでしか見れない(しかもprotected)になってるなんて有得ない
http://jp2.php.net/manual/ja/ref.pdo.php
http://jp2.php.net/manual/ja/function.PDOStatement-fetch.php
もっかいPDOクラスの使い方ちゃんと見とき
0425nobodyさん
2007/06/15(金) 17:31:30ID:???0427nobodyさん
2007/06/15(金) 17:40:24ID:???0429nobodyさん
2007/06/15(金) 18:26:37ID:???0430nobodyさん
2007/06/15(金) 18:43:48ID:???一概には言えない
0431nobodyさん
2007/06/15(金) 18:44:23ID:???0432nobodyさん
2007/06/15(金) 18:56:49ID:???0433虚弱PHP
2007/06/15(金) 18:58:10ID:???サーバーOSは?
Fedoraとかなら日本語はUTF-8じゃない?
変換すべき文字コードはページの文字コードとは無関係だと思う。
0434nobodyさん
2007/06/15(金) 19:30:22ID:???まずjsでブラウザサイズを取得したらサーバーに送信すりゃいいだろクズ
0436nobodyさん
2007/06/15(金) 19:46:29ID:???onloadかなんかでサイズとってhiddenにでも投げとけばいいだけじゃん
0437nobodyさん
2007/06/15(金) 19:52:05ID:???0438nobodyさん
2007/06/15(金) 19:54:26ID:???0439nobodyさん
2007/06/15(金) 20:12:18ID:???こういう一方的に自己主張だけして、混乱に陥れようとしているところは、
将に日本共産党員の典型。赤は死ね。
お前らは、国家の屑だ!!!
0440nobodyさん
2007/06/15(金) 20:45:08ID:???0441nobodyさん
2007/06/15(金) 20:57:12ID:FDraLFra# (例)テーブル名に fuss を指定した場合に
# バイナリが、http://www.***.com/~user/fussbbs/fuss/bin/bin000.jpg の場合は
# $BinUrl = "http://www.***.com/~user/fussbbs/"; と指定します。
# テーブル・ディレクトリ(sample)以降は指定しません。
# → パスの最後は / で終わること
$BinUrl = "http://www.***.com/~user/fussbbs/";
↓ここをHPアドレスに書き換えるのですか
$BinUrl = "http://www.***.com/~user/fussbbs/";
0442nobodyさん
2007/06/15(金) 21:04:49ID:FDraLFra投稿するとbinってディレクトリに画像が格納されてるんですが
HPには 画像は映ってません
$BinUrl = "HPアドレス/~bin/fussbbs/"; こんな風にしてるのですが
アドバイス宜しくお願いします
0443nobodyさん
2007/06/15(金) 21:10:32ID:???0444nobodyさん
2007/06/15(金) 21:29:50ID:???0445nobodyさん
2007/06/15(金) 21:37:58ID:nxdNazxTパスの指定が間違っているのだろう
普通のHTMLでイメージが表示されるか試してみろよ
0446nobodyさん
2007/06/15(金) 21:39:02ID:FDraLFra画像が Xで写らないので 教えてほしいです
サイトはここからDLしました。詳しい人教えて下さい。。。
http://www.hero.ne.jp/~db/calmbbs.shtml
0447nobodyさん
2007/06/15(金) 21:43:34ID:FDraLFraレス式のこちらでした。
0449nobodyさん
2007/06/15(金) 21:50:32ID:FDraLFraパスの間違いですね>< すいません
0450nobodyさん
2007/06/15(金) 21:52:50ID:FDraLFraありがとう ございます。
まだ 解決してないですけど いじってみます。
また わからなかったら ここに 書き込みますので
その時は 皆さん宜しくお願いします。
0451nobodyさん
2007/06/15(金) 22:06:34ID:???え
ど う
い た し
ま
し
て
。
0453nobodyさん
2007/06/15(金) 22:27:29ID:FDraLFraありがとうございましたーーーーーー
(● ̄(エ) ̄●)(● ̄(エ) ̄●)(● ̄(エ) ̄●)(● ̄(エ) ̄●)
0454nobodyさん
2007/06/15(金) 22:27:37ID:???ねーけど
0455nobodyさん
2007/06/15(金) 22:46:24ID:???>>422
どうすればいいのかは分からないけど、basename()で同じことが起きたことがある。
/のコードで…とも思ったが、そう言う訳でもない。
理由は分からない。
あとは詳しい人お願い。
0457nobodyさん
2007/06/15(金) 23:07:22ID:???phpだけでメール送信できたりする?
0458nobodyさん
2007/06/15(金) 23:37:50ID:ZskjeWslどこかに載ってますか?
0459nobodyさん
2007/06/16(土) 00:05:39ID:???解決法じゃないけどこれ?
http://bugs.php.net/bug.php?id=37738
0460nobodyさん
2007/06/16(土) 00:05:55ID:???たくさんあるぞ
http://phpspot.net/php/man/php/ref.mbstring.html#mbstring.supported-encodings
0461nobodyさん
2007/06/16(土) 00:10:24ID:MziDa52yUTF-8ってないんですか?
0462nobodyさん
2007/06/16(土) 00:21:46ID:???そんな糞サイト参考にしちゃダメ
http://jp.php.net/manual/ja/ref.mbstring.php#mbstring.supported-encodings
0463nobodyさん
2007/06/16(土) 00:23:00ID:MziDa52yありがとうございました。
これから見るべきマニュアルまでわかりました。どうもです。
0464nobodyさん
2007/06/16(土) 04:40:06ID:???まずその先輩を修正
>>457
これでも読んどけ
ttp://www.oreilly.co.jp/books/4873110289/
0465nobodyさん
2007/06/16(土) 12:02:17ID:???それら以外の 記号('"!+*☆○等) 全てを削除する方法を教えてください。
0468nobodyさん
2007/06/16(土) 20:37:41ID:???0469nobodyさん
2007/06/16(土) 22:41:19ID:HvhIs2CL0472nobodyさん
2007/06/17(日) 01:15:20ID:???一文字ずつ判定すればいいと思うよ。
define("DEFAULT_CHARSET","お前のキャラセット");
function mb_trim($str)
{
$result="";
for($i=0;$i<mb_strlen($str,DEFAULT_CHARSET);$i+=1){
$mbchar=mb_substr($str,$i,1,DEFAULT_CHARSET);
if(!in_array($mb_char,array("お前の消したい文字の配列")){
$result.=$mbchar;
}
}
return $result;
}
0473465
2007/06/17(日) 01:48:17ID:y9C1bGQM$str = 'あ!井\"ウ#え$尾%カ&き\'区(ケ)こ=~\~|{`}*+_?\/.,><';
$array = array('!', '\"', '#', '$', '%', '&', '\\', '\'', '(', ')', '=', '~', '\~', '|', '{', '`', '}'
, '*', '\,', '+', '_', '?', '/', '.', ',', '>', '<');
foreach($array as $str_replace){
$str = str_replace($str_replace,"", $str);
}
echo $str;
0474nobodyさん
2007/06/17(日) 02:55:40ID:???0478nobodyさん
2007/06/17(日) 04:03:02ID:???$str = 'あ!井\"ウ#え$尾%カ&き\'区(ケ)こ=~\~|{`}*+_?\/.,><';
echo preg_replace('/[^一-龠ぁ-んァ-ヴー]+/u', '', $str);
文字コードはUTF-8で。
0479nobodyさん
2007/06/17(日) 04:04:32ID:???echo preg_replace('/[^一-龠ぁ-んァ-ヴーa-zA-Z0-9a-zA-Z0-9]+/u', '', $str);
こうだね。
0480nobodyさん
2007/06/17(日) 04:11:50ID:wSUjnky4メールフォームなんですけど送信する文字列にhtmlspecialcharsをかませるべきでしょうか?
HTMLメールでなければ必要ありませんよね?
0481nobodyさん
2007/06/17(日) 04:13:20ID:???0482nobodyさん
2007/06/17(日) 06:59:43ID:???おれはいつもやってるぜ
0483nobodyさん
2007/06/17(日) 11:09:52ID:???0484nobodyさん
2007/06/17(日) 11:36:58ID:???0485nobodyさん
2007/06/17(日) 11:43:30ID:???じゃないとひろみちゅに怒られるぞ
0486ひろみつ
2007/06/17(日) 12:30:13ID:HuxhPGRr全部だ。
0489nobodyさん
2007/06/17(日) 12:45:54ID:???こういう一方的に自己主張だけして、混乱に陥れようとしているところは、
将に共産党員の典型。赤は死ね。
お前らは、国家の屑だ!!!
次の選挙で、どこの党に票を投じるべきか、もう分かるよね。
0490nobodyさん
2007/06/17(日) 14:13:33ID:???だからやるべきじゃねえのか?あ??
0491nobodyさん
2007/06/17(日) 14:31:36ID:???不特定なユーザから入力されたデータをHTMLメール上に乗せるなら
htmlspecialcharsするべき。scriptタグは動かないけど表示が崩れるおそれがあるので。
0492nobodyさん
2007/06/17(日) 15:48:44ID:/YxgTj0kとりあえずhtmlspecialcharsを使うくらいですが、なにかこれだけはしておけってのあります?
ちなみに記事はデータベースに保存します
0493nobodyさん
2007/06/17(日) 16:10:40ID:???↑
これについての対策
0494nobodyさん
2007/06/17(日) 17:35:37ID:???HTMLのソース中に、一部PHPの変数がミスで漏れているサイトがあるのですが、
セキュリティ的に何か問題ありますか?
漏れているのはform actionで指定したアドレスを変数にいれたものと、
ドメイン名を変数に入れたものと、
そのドメイン名の変数後に$smarty.server.PHP_SELFという記述があります。
0495nobodyさん
2007/06/17(日) 18:25:43ID:???0496nobodyさん
2007/06/17(日) 19:53:30ID:???PHPは詳しくないのでどの変が問題か具体的に教えていただきたいのですが、
とりあえずそこをなおしてもらえないとログインできないので、
ログインできないとだけ報告したいと思います。
0498nobodyさん
2007/06/17(日) 20:13:42ID:???0499nobodyさん
2007/06/17(日) 20:19:50ID:???ID出すんだよ、死ね
答える以前にお前は質問する権利がないんだよ
0501nobodyさん
2007/06/17(日) 22:31:04ID:???使ったことねーよ
■ このスレッドは過去ログ倉庫に格納されています