【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
別スレにするならテンプレコピペするな 混同するだろタコ
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
テンプレは900過ぎたあたりで考えればいいと思うよ
1週間以内にdat落ちするから心配しなくていい
>>7 イタタタタタタタタタタタタタタタタタタタタタタ
age
14 :
nobodyさん :2008/09/18(木) 14:46:26 ID:44N/guRO
こちらはID強制しない本スレです再開
3日経つけどまだ1件も質問無いねw
平和でいいじゃないw
最近phpが飽きました どうしましょ
PHPのモジュールでも書いたら?
PHPの存在意義って何ですか?
動的にHTMLデータを生成することによって、動的なウェブページを実現すること
動的って何ですか?
ググレカス
ダイナミック
こちらはID強制しない本スレです再開
質問です。 mb_convert_kanaで変換できない記号類は 皆さんstr_replace等で変換しているのでしょうか?
strtrとか 特殊な件にpreg_replaceをつかったりしてる
>>25 ID強制しないスレなんて
>>24 でも同じだろ
わざわざ新スレたてた早漏馬鹿乙
はいおつかれ 信者はスルー はい次の質問どうぞ
え? mb_convert_kanaはカナの全角半角を変換するんだから、記号が変換できたらおかしいのでは?
変換できるのはカナだけじゃないぞ
英字だけとか数字だけの変換に使っても「おかしい」ってことはないよ
>>27 ありがとうございます。
strtrについて調べたのですが、str_replaceとの違いは
検索文字と置換文字の長さだけなのでしょうか?
strtrは検索文字と置換文字の長さを同じにしなければいけないようですが、
ここでなぜstrtrを推される理由を教えてください。
strtrなんて普通使わない 気にしないほうがいい
>>33 >strtrは検索文字と置換文字の長さを同じにしなければいけないようですが、
マニュアルをよく読め、同じにしなくても変換できるだろ
string strtr ( string $str, array $replace_pairs )
>>34 知ったか乙
変換速度はstrtrが一番効率がいい
strtrなんて使わない ゴミだよあんな関数は 使えないね 全部正規表現がいい
全部正規表現とかワロタ
俺がPHP5.1でstrtrとstr_replaceの速度比較をしたら、予想に反してstr_trplaceが1.5倍速かった。 Perlのtr//を移植する時くらいしか使わないと思う。
strtr関数の所要時間:0.559 str_replace関数の所要時間:1.391 preg_replace関数の所要時間:1.978 ereg_replace関数の所要時間:5.336
ミリ秒で競って満足か? 性能に頼って好き勝手に使いやすいの使って組むのが 今のゆとりプログラマーだろ ゆとりプログラマーらしく好きにしろといいたい
>>36 すみません。もう一度読み返しました。
結果は同じのようですが、実行速度は環境にもよると思うので
自分でとってみたいと思います。
ありがとうございました。
それにしても、PHPSPOTのマニュアルコピーうぜー
ぐぐるに通報したらあぼんされるのか?
>>43 マニュアルがPHP4.3のだったり、
鯖が四六時中落ちていたり、
アフィが出たり、
ほんとウザいよね、マニュアルのコピペ。
PHP 5.2.6 strtr(3引数) 0.04 s strtr(2引数) 0.62 s str_replace 0.10 s ereg_replace 5.25 s preg_replace 0.29 s eregは糞
試してみると私の環境だとstrtrの方が早かったですね。
場合によってはeregは使い道あると思うよ。
こっちの方が(
>>1 )回答のレベル高いかも。
1人だと大変だろうけど。
さすがに一人ではこの流れにならんでしょう。 回答レベルの話は、たぶん先行き次第。
この答えがレベル高いってどんだけゆとりなんだよww
どの変数にデータを送ってるのか たまに頭混乱しませんか? どうしてるんでしょうか?
低脳は死ね
>>54 低脳が原因なんでしょうか?
リアルでも知らない人が質問したら”低脳は死ね”って言うんですか?
低脳が原因じゃなかったら何が原因だと思うの?
他の人の回答お待ちしますね
60 :
53 :2008/09/19(金) 03:07:14 ID:???
もういいです。二度と来ませんさようなら。
∩ 〈〈〈 ヽ 〈⊃ } (\___/) | | ( ̄l▼  ̄)! ! / ● ● | / / l ___\lミ/ /▲ ( 。--。 ) /■___ (( ̄)) こいら最高にBSEモォーーーーーーーーー (___)  ̄/
まっここは2chだし あまり回答に期待しない方がいいぜ ここにいるのは 俺すげーできる と思ってるカスだからな
低脳とかまだ言ってる奴居るの? ワロタw
>>1 はなかなか出来る。
くだスレの信者に聞くよりここで聞く方がいいかも。
IDIDってうざいし。
深夜なのに物凄い連続カキコですね
向こうのくだスレが落ち着いたと言うのに
次スレ立つときが見ものだよな
PHPのコマンドライン引数の一覧って、マニュアルのどの項だっけ?
すみません、基本的なことで申し訳ないですが教えてください。
本に簡単なRSSリーダーのソースということで以下がのってたので、「index.php」という名前にしてレンタルサーバにアップしたのですが、
そのサイトへとぶと、Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.
という表示しか出ません。
そのウェブサイトにとぶことで、目的のページをフィードするためには、後何が足りてないのでしょうか?
宜しくお願いいたします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <html xmlns="
http://www.w3.org/1999/xhtml ">
<head> <meta http-equiv="content-type" content="text/html;charset=shift_jis" /> <meta name="generator" content="Adobe GoLive" />
<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache">
<title>asdfasdf</title> </head> <BODY>
<?php
function cvt($text){ return mb_convert_encoding($text, "SJIS", "UTF-8"); }
if($fileContents = file_get_contents( '
http://lump.blog.shinobi.jp/RSS/091/ ')) {
$xml = new SimpleXMLElement($fileContents); echo '<0L>'; $Loop = 0;
while ($Loop < count($xml->item)) { echo '<LI>' .
'<A href="' . $xml->item[$Loop]->Link . '">' .
cvt($xml->item[$Loop]->title) .
'</A>' . '</LI>';
++$Loop;
}
echo '</0L>';
}
?>
</BODY>
</HTML>
PHP以前の問題
73 :
71 :2008/09/19(金) 14:55:33 ID:???
ですよね、、そもそも何かが分かっていない気がするのですが…。 index.phpだけではサイトに表示はできないんでしょうね
httpラッパが使えないとかそんなことなんじゃ (CGIモードならInternal errorになりそうだし)
まさか#!/usr/bin/phpを入れたら動いたりしないよね
それじゃ拡張子がcgiにならんか?レン鯖ならそうすると思うし 拡張子phpでInternal error出てるんだし一応PHPモジュールなりForceCGIなりしてるよな
空のPHPでも内部サーバエラーなら、鯖が狂っているんだろうね .htaccessが使えるならAddTypeで強制的にmodphpで動くよう指定してみるとか
78 :
71 :2008/09/19(金) 18:31:50 ID:???
いろいろ試してみます。 ありがとうございました。
>>71 SimpleXML 拡張モジュールは PHP 5 が必要になります。
mbstring は拡張モジュールです。つまり、デフォルトでは 有効にならないということです。
phpのバージョンとか4で5の関数・クラス使ってようが phpのエラーがでるだけでinternal errorなんて出ないて
undefined functionになるだけ
PHP5(のどっかのバージョン)からはエラーが標準出力されない件(よってCGIのように403エラー)
という訳でブラウザでエラー出すのにxdebugとか使うハメに
403?500じゃなくて?
orz すまん・・・forbiddenなんてどうでもいいな
87 :
nobodyさん :2008/09/20(土) 21:04:23 ID:EkLzV9bU
PHP5.2.6で、 upload_max_filesizeよりもMAX_FILE_SIZEの値を大きくして、 実際にはupload_max_filesizeに引っかかった場合でも、 エラーの値が、UPLOAD_ERR_FORM_SIZEになります。 これはバグですか?
ググレカス
90 :
nobodyさん :2008/09/20(土) 21:42:11 ID:EkLzV9bU
スレタイが述べていることは ID出しても出さなくてもOKということでしょう 違いますか?
そうです。
986 名前:nobodyさん[sage] 投稿日:2008/09/20(土) 20:05:03 ID:??? PHP5.2.6で、 upload_max_filesizeよりもMAX_FILE_SIZEの値を大きくして、 実際にはupload_max_filesizeに引っかかった場合でも、 エラーの値が、UPLOAD_ERR_FORM_SIZEになります。 これはバグですか? そんならなぜID出せといわれてるスレでわざわざID出さなかったのですか? だいたいマルチだしお前みたいな釣り人は一人で解決してろ
頑張ってこのスレを使わせたいんだよ、きっと
前スレで質問したら混乱の中でスレが落ちたので こちらで質問させてもらいました。 IDを出すことを強制するスレより、こちらの方がいいと思ったので。
>IDを出すことを強制するスレより、こちらの方がいいと思ったので。 こりゃ明らかに釣りだな 質問者のふりをするために適当な質問をしたってとこか
意味が分かりません 誰が何のためにそのような釣りをするのですか?
スレ主が自分のスレを盛り上げるために自演をする と、とりあえず書いてみる どうでもいいけど、ここにそういう書き込みするならググったほうが速いぞ どうせ役に立たないスレなんだから
こっちのスレにも偽者は出ますアピールか? やっぱ板自体を強制IDにしないと解決しないなこりゃ こっちは偽者でさらに荒れるだろうよ
どっちにしたって荒れるからどうでもいいよ php使いはレベル低い
なにやらループさせすぎて 鯖がパンクしたみたいです。 どうしましょ
鯖管にさっさと復旧しろとでも言えばいい
103 :
nobodyさん :2008/09/21(日) 07:19:11 ID:rKcSwzKG
XMLファイルをアップロードして、それを順次処理したいのですが XMLの各要素のバリデーションって 一般的にどうしますか? そういうライブラリみたいのがあれば教えて下さい
DOMDocumentクラス
ありがとうございました XMLスキーマというのがあるんですね あやうく自分で処理を書くところでした
外部に公開してない、 社内限定サービスを、 携帯電話でアクセスして ページを見たりすることは不可能?
>>106 板違い。通技板でも行ってこい。
っていうか必要なら会社のネットワーク管理者に言えよ。
社内限定っていうのが、社内LANでしかアクセスできないものなら当然無理
<?php $contents = @file_get_contents('777.txt'); echo $contents; $text = htmlspecialchars( $_POST["textbox"] ); if ( get_magic_quotes_gpc() ) { $text = stripslashes( $text ); } $filepath = "777.txt"; $string = "$text"; $fp = fopen($filepath, "w"); @fwrite( $fp, $string, strlen($string) ); fclose($fp); readfile($filepath); ?> <form action="<?= $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="text" name="textbox" value=""> <input type="submit" value="書き込む">
110 :
109 :2008/09/25(木) 21:12:02 ID:om/g2aHU
・欲しい携帯電話[ P906 ] [ 入力欄 ]【書き込む】 入力欄に欲しい機種を記入して書き込むを押せば、P906が入力された機種に変わり 初めに表示されていた機種(P906)は保存しないるようなものを作りたいのですが ページを開いた時、777.txtに保存されている内容が表示され書き込むと 以前に保存された内容と書き込んだ内容が同時に表示されてしまいます どうすれば書き込んだ内容だけを表示できますか?
冒頭で $contents = @file_get_contents('777.txt'); echo $contents; してるんだから当たり前じゃん
112 :
109 :2008/09/25(木) 21:49:58 ID:om/g2aHU
>>111 どうすれば最後に書き込みされた内容を表示する事ができるのですか?
せめて順番を変える(書き込んでから表示)くらい思いついてくれ
<?php $text = htmlspecialchars( $_POST["textbox"] ); if ( get_magic_quotes_gpc() ) { $text = stripslashes( $text ); } $filepath = "777.txt"; $string = "$text\n"; $fp = fopen($filepath, "w"); @fwrite( $fp, $string, strlen($string) ); readfile($filepath); fclose($fp); ?> <form action="<?= $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="text" name="textbox" value=""> <input type="submit" value="書き込む">
115 :
109 :2008/09/26(金) 16:40:46 ID:ri8qzJjD
>>113 114のような事でいいのですか?
もう一度質問ですが
新たにページを開くと保存された内容が表示されず空白のままです
ページを開いた時に、最後に書き込まれた内容を表示するにはどうすればいいのですか?
少しは自分の頭も使ってくれ
>>115 かなりの初心者のようだな
>>114 のソースだと、ボタンを押さなくても必ずファイルへ書き込んどる(textboxが空だからファイルも空)
せめてisset($_POST['textbox'])でもいいからボタンを押したことを判別して書き込みを行ってくれ
それと書き込みと読み込みを別けてくれ
<?php
$filepath = "777.txt";
if(isset($_POST['textbox'])){
$text = htmlspecialchars( $_POST["textbox"] );
if ( get_magic_quotes_gpc() ) {
$text = stripslashes( $text );
}
$string = "$text\n";
$fp = fopen($filepath, "w");
@fwrite( $fp, $string, strlen($string) );
fclose($fp);
}
readfile($filepath);
?>
そもそもやりたいことが意味不明
119 :
109 :2008/09/26(金) 21:58:36 ID:ri8qzJjD
>>117 ありがとう、できました
PHPを始めて一週間ぐらいの初心者です(;^_^
120 :
109 :2008/09/26(金) 22:04:11 ID:ri8qzJjD
>>117 ありがとう、できました
PHPを始めて一週間ぐらいの初心者です(;^_^
大事なことでなくても2回言ってしまうのはpc11のご機嫌が あまりよろしくないかららしい
>>119 初心者なのは別にいいんだけど、そんなところで他人に頼ってちゃ1年たっても素人のままだよ?
if($aa){ $bb==1; else{ $bb==2; } $bbの前は見やすいようにタブスペースで空けているのですが、 これが増えてくると実行速度に影響があるものなのでしょうか?
0.00000001秒くらい
125 :
age :2008/10/02(木) 07:44:19 ID:???
1タブで0.00000001秒なのでしょうか?
試してみれば?
タブ1個を気にするなら、Pythonでもやるべき
Pythonは3.0でガラッと変わるらしいので 二の足を踏んでいます。 0.00000001は嘘っぽいのでマジレス希望
じゃあマジレス 気 に す る な !
(「゚A゚)「 シャー 」 L
信じもしない、試しもしない、ってどんだけ糞質問者だよw 何秒なら信じるんだwww
PHPのバージョンやコンパイラやOSやキャッシュやCPU等で変わるのに、どれだけかかるかなど分かる訳がない だから自分が試したのを信じておきゃいーんだよ
>>128 マジレスするとPGはやめたほうがいい
自分でできるのにやらないのは論外としても、自分で質問したくせに善意で答えてくれている回答者を
ないがしろにするようでは、この先君は誰からも助けられないし信用もされない。
マジレスすると、アセンブリ言語で組めばいいよ そうすれば実行速度は最速になるよ
なぜタブの話からアセンブラの話になるんだ
>>132 の言うとおりで、0.00000001秒という回答を善意ととっていいものかどうか疑問
0.00000001秒を真に受ける方がどうかしてる タブ1つで目に見えるほどの違いは出ない、って言いたいんだろ
138 :
nobodyさん :2008/10/03(金) 11:28:29 ID:SBEKvvRO
質問です。 if(mb_ereg("^[カ-コ]",$k['kana'])) $title_arr[$e]['line']='か行'; この状態だと、濁点の入った文字が検索できません。 ガギグなども一致させるにはどうしたらいいですか?
if(mb_ereg("^[カ-コガ-ゴ]",$k['kana'])) $title_arr[$e]['line']='か行';
がぎぐげごをか行とは言わないんじゃね
>>139 ありがとうございます。試してみます。
>>140 そうですね。でもが行であまり探さないかなと思いまとめてみました。
142 :
nobodyさん :2008/10/04(土) 12:11:31 ID:55cVbMG1
PHPでWebカメラの映像を公開したいのですが どうやったらいいですか?
PHPだけでは無理
別にできるじゃん?普通にファイルに落としてくれるなら
それだと今度はphpが要らんなw
146 :
142 :2008/10/04(土) 19:22:48 ID:MX1zq2pL
レスありがとうございます。 PHP以外に何があればできますか?
sageろぼけ
php以外に・・・ってその時点でスレチ
149 :
nobodyさん :2008/10/05(日) 02:01:36 ID:1oGdpaAI
クラスの関数を外部から使う時に その関数を変数のように扱う というような方法はありますか? $hoge->NoAdd(5); // ここで合計値を5増やす みたいなものを $hoge->NoAdd + 5; // ここで合計値を5増やす privateをpublicに変える以外の手段で このようなことをする方法はありますか?
はぃ?なぜ括弧付けたらだめなんだ?
アクセサでぐぐれ Javaあたりのサイトを参考にしろ 間違ってもphpspotのは参考にするなよ
ああ、set/getのメソッド書くのが面倒なだけかw
質問です。 セキュリティー設定や、ユーザー登録設定を変更しようとすると、 Fatal error: Not able to open ./../cache/data_global.php in /usr/local/www/htdocs/unabbs/public_html/una/includes/acm/acm_file.php on line 106 が出てしまい設定が変更出来ません。 何が原因なのでしょうか・・・? よろしくお願いします。
何のセキュリティー設定だ? 置き場所とパーミッション確認
>>154 すみません、それはAdminCPの何処で確認出来るのでしょうか・・・。
FTP使ってないの?
157 :
nobodyさん :2008/10/10(金) 21:07:41 ID:+u7JVASC
mb_convert_encodingがundefined functionになってしまうレンサバを使ってるのですが、 mb_convert_encoding以外になんとか文字コードを変換する方法ってないでしょうか?
159 :
nobodyさん :2008/10/15(水) 21:46:27 ID:bTHYoPaC
質問です。 例: ああああ。 いいいいいいいいい。 ううう。 上記の複数行の文字列を一行にしたいのですが、 いい方法はないです? フォームのtextareaでコピペしてPOSTした場合にデータベースには 改行した状態で挿入されてしまいます。
改行した状態で挿入されて何か不都合が?
phpの話じゃなくてtextarea自体に改行を反映させるかどうかのオプションがあったようななかったような
ブラウザの対応にもよるからサーバサイドで処理した方がいいな 単に\rと\nを除去するだけだし
>>160 他のアプリケーションでデータを表示する際に、下手に改行が入ります。
>>161 warpのプロパティを指定しましたが効果はありませんせした。
>>162 ご指摘の通りデータを参照する際にtrimする方法で試してみます。
>>163 trimじゃ一行にはならないからstr_replaceでやったら?
>>164 str_replaceはもちろん使った事はありますが、
今回の場合どのように使うのかご教授お願いします。
>>165 使ったことあるなら分かるはずだが
$text // textareaの内容
$text = str_replace("\r", '', $text);
$text = str_replace("\n", '', $text);
\rと\nを空白に置き換えれば複数行が一行になる
文字が詰まるのがイヤなら、スペースとかに置き換えればいい
>>166 なるほどありがとうござます。
試してみます。データベースに入っているものには、
改行コードが付いているんですね。
いや消しちゃったら表示する際に元に戻せないじゃん いらないんならいいけどそしたらフォーム関係ない
DBに入れるときに別のものに置き換え、表示するときに戻せばいいじゃないですか。
なぜ置き換える必要があるのですか。
改行コード←→<BR>
PEARって企業で普通に使われているんですか?
企業による
状況による 少なくとも企業でも使える完成度
完成度にもよるが企業内にある 完全独自FWとかライブラリより使えると思うぞ
質問したいのですが、どなたか居られますでしょうか?
潜んでるぜ
それなりにレス出てるからそっちで続けて
180 :
nobodyさん :2008/11/02(日) 18:42:00 ID:0XM0D6GF
すんごい初心者の質問ですいませんが eclipseにプラグインできるsmartyのtplファイルを記述する エディタはありますか あるとすればオススメはどれでしょうか? smartyEditorというののjarファイルをeclipseのpluguinsフォルダに入れて コマンドプロンプトからeclipse.exe -cleanを実行したのですがコードの色が変わりません
>>180 Eclipseのバージョンとか書かないとわからん
phpeclipseは確かできたと思うが
どこまで出来たかは忘れた
,-‐-、 ,.-‐-、 \_, ,_/ カサカサ... /〓癶( ;:゚;〓;゚;)癶 ー=癶(癶( 癶;;:;;ノ癶 カサカサ...
PHP4環境では問題無く使えてた画像掲示板が PHP5環境にすると画像表示しなくなり、投稿もできなくなりました。 レッツPHPの画像掲示板なんですけど。
それはお困りですね
おそらく原因はPHP4環境だったものがPHP5環境になったからではないでしょうか? 解決してよかったですね
ひでぇw まぁどちらにせよレッツPHPさんに対応してよと言うか 自分で改造するか ウノウラボにphp4から5へスクリプトを移行させるツールがあったと思うが レッツPHPの場合スクリプトが3ベースで4に対応させたって場合もあるから微妙
今PHPはじめました。 まずはデバッグプリントできるようにしようと思い、 <?php echo(error_log("test")); ?> こんなソースを書いてみました。 php.iniは、 log_errors = On error_log = "C:\Program Files\PHP\error.log" こうなってるのですが、どこにも吐かれてないみたいです。 echoの返り値は1なので、正常にログ吐けてるはずなのですが・・・。 あと何が足りないのでしょうか? 鯖はIISでCGIじゃなくてISAPIです。
>>187 よくわからないけどエラーを発生させないと記録されないんじゃ?
189 :
187 :2008/11/17(月) 01:00:17 ID:???
>>188 それが、どうもerror_log()はエラーの有無関係なく
ログ出力する関数らしいんです。
syslogだとイベントビューワに吐かれるらしいのですが、
できればテキストに落としたいんですよね。
こんなところで躓くとはorz
はまった $arr = array(1,2,3,4); foreach ($arr as &$value) { if ($value == '3') { unset($value); } } としても値3を持つ配列の要素が削除されることはないんだなorz noticeもwarningも出ないから、深いループの中をさまよいながら朝を迎えた 俺のニータイムを返せ〜
初心者的な質問ですいません メソッド内で定義した変数を別メソッドに呼び出すにはどうしたらいいのでしょうか?
>>187 表示したいならvar_dump
ログにはきたいならerror_log(var_export(内容,true),3,出力先);
>>192 function hoge() {
global $hoge;
$hoge += 1;
return $hoge;
}
$hoge = 1;
var_dump($hoge,hoge(),$hoge);
こんな感じでglobal使えば出来るがお勧めしない
class等の概念を覚える良い機会だと勝手に思うので調べてみては
globalって・・・
>>195 メソッド内で定義した変数を別の方法で取得する方法ってあんの?
いろんなメソッドで参照するようなやつはメンバ変数にするのが普通です
>>197 それはクラスにした場合だろ?
まぁクラスにした場合でも
メソッド内で定義した変数をどうやって取得するんだよ
>>192 は『メソッド』といってるわけだが・・・
関数とメソッドは厳密に言うと別物ですよ
class Hoge {
private $a = null;
public function setA($a) {
$this->a = $a;
}
public function getA() {
return $this->a;
}
}
$obj = new Hoge();
echo $obj->getA();
$obj->set("hoge");
echo $obj->getA();
>>199 それはメンバ変数に対するgetterを定義してるだけだろ?
class A {
function test() {
$hoge = 'a';
}
}
このクラスA::test()内の$hogeを取得してみろよ
簡単に言うと質問に対する答えが違うんだよ
本来のメソッドの定義というのはクラスに対するメンバ関数等のことを言うが
初歩的な質問でと言ってる時点でメンバ関数とは考え難いわけだが?
>>200 別に答えが違ってないでしょう・・・
質問者は
>メソッド内で定義した変数を別メソッドに呼び出すにはどうしたらいいのでしょうか?
と聞いてるわけで
意訳するとメソッドAの変数hogeをメソッドBで呼び出したいということですよ
つまり同一クラスの場合メソッドAの変数hogeをメンバ変数に持ってきて
Bも同じメンバ変数を参照すればいいだけですし
別クラスのメソッドの場合でもgetterを用意しとけばそこから取得できるという話です
>>201 その意訳はあなたの持ってる常識の上での訳だよな?
質問者が何を意図してるかはあの質問では
正確な質問内容は俺にも解らないしあなたにも解らないと思うんだが?
解らないのなら答えが違うなんてよく大口叩けるなぁw
>>203 今出てる情報は
メソッド内で定義した変数を別メソッドに呼び出す
という事だけだぞ
この事と言ってる事は違うんだから答えは違うと思うが?
悪いけどもうめんどくさいんでレスしません 答えも違うということでいいので忘れて下さい
globalかメンバ変数使えで合ってるじゃない それかReflector
preg_match_all("/<dt>(.*)/", $a, $b); 『"/<dt>(.*)/"』この部分の説明をどなたかお願いします。
<dt>から改行まで全てマッチさせる aaa<dt>abc の場合はabc <dt>aaa sss の場合はaaa <dt> の場合は空
209 :
207 :2008/11/17(月) 17:02:32 ID:???
>>208 有り難うございます。ということは、『/』これが改行に相当するのですか?
あんた、ID出す方の63?
211 :
207 :2008/11/17(月) 17:36:48 ID:???
とうとう隠して質問するようになったか
213 :
187 :2008/11/18(火) 01:28:17 ID:???
error_logが書けないといっていた者です。 無事出力できるようになったので、ご報告します。 環境はXP Professional + IIS(ISAPI)です。 結局は、ディレクトリに書き込み権限がないだけでした。 デフォルトだと、ユーザ毎に権限付与するセキュリティタブが ディレクトリのプロパティに表示されないので、 ツール→フォルダオプション→表示で、 「簡易ファイルの共有を使用する」というチェックをはずします。 その後、ログを出力したいディレクトリで、インターネットユーザの 書き込み権限を加えてやります。(IUSR_で始まるユーザ) あとは、PHP.iniに、 log_errors = On error_log= "C:\\path\\to\\logfile" こんな感じでログを出したいディレクトリを指定します。 すると、 error_log("test log"); と書くだけで、指定のログファイルに日時つきでログが書き込めます。 長くなりましたが、色々教えてくださった皆さん、どうもありがとうございました。 またお世話になるかもしれませんが、どうぞよろしくお願いします。
たくさんつまってる配列があって $abc[AAA][0]〜$abc[AAA][1000] $abc[BBB][0]〜$abc[BBB][1000] $abc[CCC][0]〜$abc[CCC][1000] $abc[BBB][18]を複数箇所で使いたい場合 $XXX=$abc[BBB][18]; のように一度定義した方がいいのでしょうか? それとも$abc[BBB][18]をそのまま何度も 使う方がいいのでしょうか?
保守性可読性以外は同じ
とても助かりました
217 :
nobodyさん :2008/11/20(木) 15:26:21 ID:qEbDDWFR
始めまして。PHPとMySQLでサイト作ってます。 今登録画面を作ってまして、登録画面ではフォームのプルダウンメニューで「親カテゴリ」と「子カテゴリ」を選ぶようになってます。 それで、うちのシステムでは親カテゴリと子カテゴリをMySQLでデータベースから引っ張ってきてるんです。 親カテゴリごとのIDがあり、子カテゴリは親のIDを保持する事で自分の親を判別するようになっています。 *問題はここからなんです。 登録画面で、プルダウンメニューで親カテゴリを選ぶと自動的に子カテゴリの中身が親カテゴリに属する子カテゴリのみに切り替わるようにしたいんです。 onChange="○○"ではjavascriptのメソッドしか呼び出す事が出来ないので、PHPでMySQLにアクセスして子カテゴリ群を引っ張ってくるという処理が出来ないんです。 なのでどうすればいいのかさっぱり…… 挙動としては、よく登録画面で都道府県を選ぶと自動的に次のプルダウンで市区を都道府県に合わせたものに絞ってくれるじゃないですか? あれをMySQLと連動した形で実現できないか、どなたが助言お願いします(たぶんスレ違いじゃないはず)。
>>217 松竹梅とある
Ajax>DHTML>画面のリロード
糞スレageるな
>>218 スタイルシートでの表示/非表示でも良くね?
DHTMLがそれなのか
JavaScriptでSQLという強引な技もあったと思うぞ
Windows XPにアパッチとPHP4の環境です。 ブラウザからアクセスして、PHPで処理中にブラウザを閉じたら、処理は止まるのですか? それともアパッチからレスポンス返す直前までは処理は進むのでしょうか。
無限ループさせてブラウザを閉じてみればいいさ 処理は止まる
>>217 Ajaxによる非同期通信
もしくは動的にJavaScriptを生成する
>>214 リファレンスを上手く使うと、可読性が上がる事があるので覚えておくといいよ
$ref_array =& $array['hoge']['fuge'];
227 :
217 :2008/11/21(金) 23:35:05 ID:Z3cf5Bdj
>>218-222 皆さんありがとうございます。松竹梅の松としてAjaxが一番適してるかな、と思いました。
っていうか今までAjaxという便利な(開発はちょっとだるいけど)技術があったなんて……
調べたら今ではAjaxぐらい当たり前らしいのに、それを知らなかったなんて恥ずかしい。
JavaScript+SQLも調べてみたら結構使えそうな場面がありそうです!
このスレのおかげでシステム開発新しい境地が開けた気がします(なんて言ったら大げさかw)
ありがとうございました!
228 :
225 :2008/11/22(土) 00:12:26 ID:???
せっかくのところ悪いのだが、そのDBから引っ張り出したいものが頻繁にUPDATEされないデータなのであれば、
>>225 に書いたみたいに動的にJavaScriptを生成した方がいいよ。
DBのデータからJSの配列を動的に作って、それを元に動的にFORMタグ内のSELECTメニュー作るようなイメージかな?
なんか良いサンプルコードでもあればいいが。
229 :
nobodyさん :2008/11/24(月) 03:29:48 ID:qgmjaVwu
PHPでダウンロード販売サイトを作ろうと思っていますが、 調べても分かりませんでした。 情報があればお願いします。
何の情報がほしいんだよ PHPはどこまで理解してんの? あと別にsageなくてもいいけど 糞スレageるな
Notice: Undefined variable: PHP_SELF in Notice: Undefined variable: aclink in というエラーが出たのですがどういう意味でしょうか? 他のサーバでは出なかったのですが・・・
英語の意味がわからないならせめて機械翻訳に突っ込めば?
未知の変数・・・・ でも、他のサーバではうまく動いたんだけどなあ
ねんとなく動いちゃうからPHPは恐ろしい 答えがほしいなら問題箇所のソースを出しなさいよ
ほい <p class="uline"> | <a href="$home">Home</a> | <a href="$PHP_SELF?gal=0">File List</a> | <a href="$PHP_SELF?mode=upload">Upload</a> | <a href="$PHP_SELF?gal=1">Gallely</a> | <a href="$PHP_SELF?mode=ret">search</a> | <a href="$PHP_SELF?mode=rank">ranking</a> | <a href="$PHP_SELF?mode=env">Setting</a> | <a href="$PHP_SELF?mode=admin">Admin</a> | </p> MODELINK; ?>
$_SERVER['PHP_SELF]じゃなくて$PHP_SELFで使いたいなら register_globalsをオンにしないと
アドバイスthxです。 ってかこれって鯖によって変わるの?
これはひどい
むしろ、いきなり$PHP_SELFこんなやり方があったことを知らなかった register_globalsとかいうのをオンにすると自動的に入るとは・・・
いや、ONにはするなむしろoffにしろ セキュリティ上あまりよろしくない
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?gal=0">File List</a> にしたけど、違うエラーが出るな・・・・変なところありますか?
何のエラーが出たのか書いてくれ 自分なら <a href="<?php echo $_SERVER['PHP_SELF']."?gal=0"; ?>">File List</a> にするけどたぶん同じエラーが出るだろう
長いですけど Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
>>235 から察するに
echo <<<MODELINK;
が
echo <<< MODELINK;
とかになってやしないか?
とにかく
>>241 の箇所には問題はない
245 :
244 :2008/11/25(火) 13:45:11 ID:???
ヒアドキュメント開始にセミコロンはいらないか
>>244 ありがとうございます
PHP_SELFの行をゴッソリ抜くと、エラーが出なくなるので、そこ以外に原因が考えられないんです
関係ないいいけど$_SERVER['PHP_SELF']を適当な変数に代入して使うな俺なら
>>243 のエラーはかわらないだろうけど。もう全部の文張ってくれ。
<?php
〜略〜
<a href="<?php echo $_SERVER['PHP_SELF']."?gal=0"; ?>">File List</a>
〜略〜
?>
こんなことにはなってないよね?
こんな感じです <?php 〜略〜 MAINUP; $modelink = <<<MODELINK <p class="uline"> | <a href="$home">Home</a> | <a href="<?php echo $_SERVER['PHP_SELF']; ?>?gal=0">File List</a> | <--- 126 <a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=upload">Upload</a> | <a href="<?php echo $_SERVER['PHP_SELF']; ?>?gal=1">Gallely</a> | <a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=ret">search</a> | <a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=rank">ranking</a> | <a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=env">Setting</a> | <a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=admin">Admin</a> | </p> MODELINK; 〜略〜 ?> エラー Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in 〜〜〜〜htdocs/config.php on line 126
よくわかんないけどこれで動かない? <?php 〜略〜 $PHP_SELF = $_SERVER['PHP_SELF']; MAINUP; $modelink = <<<MODELINK <p class="uline"> | <a href="$home">Home</a> | <a href="$PHP_SELF?gal=0">File List</a> | <--- 126 <a href="$PHP_SELF?mode=upload">Upload</a> | <a href="$PHP_SELF?gal=1">Gallely</a> | <a href="$PHP_SELF?mode=ret">search</a> | <a href="$PHP_SELF?mode=rank">ranking</a> | <a href="$PHP_SELF?mode=env">Setting</a> | <a href="$PHP_SELF?mode=admin">Admin</a> | </p> MODELINK; 〜略〜 ?>
突っ込みどころ満載だな・・・ phpの変数内のヒアドキュメントで<?php echo〜なんて書いたら文字列として扱われる ヒアドキュメント内の変数で配列変数[]を使う場合{}で囲わないといけない <a href="{$_SERVER['PHP_SELF']}?gal=0">といった感じに変更してみてくれ
252 :
251 :2008/11/25(火) 14:34:09 ID:???
配列がっていうわけではなくて配列のキーが文字列だったらってことだな よく確認してなかったスマン ようするに$a[0]なんかは直接かけるが $a["0"]は{$a["0"]}にしないとだめ ヒアドキュメント内や文字列の中で変数を使う場合は{}で囲むこと推奨
>>250 駄目でした
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
〜〜〜〜htdocs/config.php on line 123
$PHP_SELF = $_SERVER['PHP_SELF']; <----123
MAINUP;
$modelink = <<<MODELINK
<p class="uline"> | <a href="$home">Home</a> |
<a href="$PHP_SELF?gal=0">File List</a> | <--- 126
<a href="$PHP_SELF?mode=upload">Upload</a> |
<a href="$PHP_SELF?gal=1">Gallely</a> |
<a href="$PHP_SELF?mode=ret">search</a> |
<a href="$PHP_SELF?mode=rank">ranking</a> |
<a href="$PHP_SELF?mode=env">Setting</a> |
<a href="$PHP_SELF?mode=admin">Admin</a> |
</p>
MODELINK;
MODELINK; の頭に半角スペース入れてない?
$PHP_SELF = $_SERVER['PHP_SELF']; を別のphpのなかで定義したら無事出来ました。ありがとうございました
>>255 $_SERVER['PHP_SELF']は使わないほうがいいよ。
使うならこっち。$_SERVER['SCRIPT_NAME']
>>255 >>256 も書いてるが、$_SERVER['SCRIPT_NAME'] を使うようにね。
他の人も書いてるが、ヒアドキュメント内で使う際は
必ず「{$_SERVER['SCRIPT_NAME']}」という感じで「{」と「}」で挟む癖をつけておくといい。
258 :
nobodyさん :2008/11/26(水) 02:41:12 ID:mfh7U9Yh
こんにちは。質問させてください。
URLの飛び先のソースを取得して、そのソースからstrip_tagsでタグ以外の部分を
抜き出したいのですが、何故かうまくいきません。
というのもタグ部分が残ったままで出力されてしまうのです。
自分のかいたプログラムは以下のようになっています。
<?php
$url = "
http:// 〜〜〜〜";
$lines = file($url);
foreach ($lines as $line_num => $line) {
$text = htmlspecialchars($line);
$str = strip_tags($text);
$htmlstring = $htmlstring.$str;
}
echo $htmlstring;
?>
ためしに、手打ちで
$text='<a>ああ</a>いい<b>うう</b>';
とかやってみたのですが、その場合は
「ああいいうう」
とちゃんと出力されました。
何がいけないのでしょうか...。
<?php
$url = file_get_contents("
http://localhost/ ");
$htmlstring = strip_tags($url);
print $htmlstring;
?>
なぜわざわざ3行に
<?php
$url = "
http:// 〜〜〜〜";
$lines = file($url);
foreach ($lines as $line_num => $line) {
$str = strip_tags($line);
$htmlstring = $htmlstring.$str;
}
echo $htmlstring;
?>
<?php class aaa { private $var = array(1,2,3,4); public function __construct(array &$yyy=null) { $this->var =& $yyy; var_dump($this->var); //array(4) { [0]=> int(5) [1]=> int(6) [2]=> int(7) [3]=> int(8) } } public function bbb() { var_dump($this->var); //object(aaa)#1 (1) { ["var:private"]=> &object(aaa)#1 (1) { ["var:private"]=> *RECURSION* } } } } $xxx = array(5,6,7,8,); $ref =& $xxx; $ref = new aaa($xxx); $ref->bbb(); ?> これがなんでこうなるのか、詳しく コンストラクタの内部では$this->varはちゃんと代入されてるのに、 他のメソッド内ではなんでダメ?
態度をわきまえろ
264 :
nobodyさん :2008/11/26(水) 07:25:28 ID:vmBPQImx
phpでステップ数出す方法ってありますか? OSはFreeBSDです。 できれば、コメントとか空白部分を除いたステップ数を計算したいです。
ぐぐれば色々あるみたいだけど?
>>262 >これがなんでこうなるのか、詳しく
代入だから
>コンストラクタの内部では$this->varはちゃんと代入されてるのに、
コンストラクタだから
>他のメソッド内ではなんでダメ?
いろんな意味で考えが足りてないから
267 :
266 :2008/11/26(水) 10:00:02 ID:???
× 代入だから ○ 参照だから
>>264 いっそのことPHPで作ってしまえ
ていうかID出すならあっちいけよ
こんな過疎スレじゃいい答えも返ってこないだろ
270 :
nobodyさん :2008/11/26(水) 17:43:44 ID:kMz2hlU8
質問お願いします。 一応ID出しておきます。 メニュー部分だけインクルードさせたいと思います とりあえずxhtmlをshtmlに変更し、メニューを入れたい場所に インクルードタグ(?)を書き込み鯖アップ これは問題なく表示できました それでshtmlに変換させずに xhtmlのままで、インクルードさせられる方法って ありますか? ぐぐりましたが答えが見つけられず質問させてもらいます。
php関係あんの?
AddTypeでぐぐりなさい
273 :
nobodyさん :2008/11/27(木) 13:11:24 ID:Yx1cG2xg
270です
>>271-
>>272 ありがとうございます
ぐぐってる最中です
AddTypeでさらにぐぐります
PHPでフォームから空文字列をキーにして配列形式でポストする方法ある? value=aaa[""]やaaa['']だと""""や"''"になっちゃうよ?
なんで空文字なんかをキーにする必要があるんだ
>>274 value ?
チェックボックスなんかの時、name="aaa[]"で値を配列で受ける事なら出来るけど。
>>276 間違った
nameの方
>>275 チェックボックスの場合は何も選択されてないと何も送信されなくて、
aaaが未定義になるから、それを回避するためにhiddenでダミーの
aaa[]を仕込んでおきたい訳だが、そのキーを空文字にしたい訳
単に美学の問題だけど
受けて側のコードを変更したくないし、
キーに適当な文字をいれるのも嫌なの
質問です。phpに関してはわりと初心者です。
画像に文字を入れるジェネレーターを作っているのですが、
http://gedo-style.net/gedoh/ ↑のような自動改行を実現するためにはどうしたらよいのでしょうか。
背景はimagecreatefromjpegで作っといて、もう1つimagecreateして文字レイヤーを作って、
文字レイヤーの方に文字書いて背景に貼り付けたらうまくいくかなぁ、と思ったのですが、
文字がはみ出した分は表示されません…。
ご教示よろしくお願いいたします。
1列に入る文字列数を予め決めとけばいいんでないの?
そうか!文字数決めて分割すりゃいいのか!寝ぼけてた! ありがとうございます!
でもプロポーショナルかどうかで違ってくるんじゃ?
283 :
279 :2008/11/29(土) 00:23:00 ID:???
等幅でいきます。あとは半角を全角に直せばいけるはずですよね。
boolean(真偽値)を簡単に文字列(True or False)に変換する関数はありませんでしょうか? C#でいう、Bool.ToString Rubyでいう、Bool.to_s Delphiでいう、BoolToStr(Bool, True); のようなものです。 「boolean 文字列 変換」などでぐぐるしたのですが、なかなか見つけられません。
標準関数では無いんじゃない?
あ、returnオプション付きのvar_exportでできたわ
PHPの場合キャストで強引にやるんじゃないだろうか
288 :
nobodyさん :2008/11/29(土) 23:26:35 ID:PWMytfkQ
フォームの受渡しで文字化けが起こります 漢字と半角英数は大丈夫なんですけど、カタカナとひらがなが文字化けします 文字コードはUTF-8を設定しています 何か解決方法ありますか?教えてください!
magic_quotes_gpcは?
>>288 何の文字が何に化けるかとかmb関係の設定とかある
解決の糸口が見つかりやすいよ
>>289 magic_quotes_gpcは\を追加するだけだから
\が増えますとかなら分かるけど
化けるとは違うと思うけど・・・・
291 :
nobodyさん :2008/11/30(日) 10:01:38 ID:6FQxXvvY
>>289 magic_quotes_gpcって何ですか?
よく分からないのですが…
漢字と半角英数は大丈夫で、カタカナとひらがなが駄目な原因が分からないです><
カタカナとひらがなと言っても あ〜ん、ア〜ンまで色々あるだろ 全部化けるの? あと化けると言ってるコード晒せる範囲で良いから晒して
293 :
nobodyさん :2008/11/30(日) 18:06:28 ID:6FQxXvvY
例えばなんですが、「アアア」は「?? ?? ??」と化けます あと「・」も「??」という感じに 一部載せます search1.php <form name="form2" action="search2.php" method="post"> <input type="text" name="keyword" size="25"> <input type="submit" name="search" value="検索"><br /> <input type="radio" checked name="searchSelect" value="AND">AND <input type="radio" name="searchSelect" value="OR">OR </form> ↓ search2.php $searchSelect = $_POST['searchSelect']; $keyword = $_POST['keyword']; $keyword = ereg_replace("[ ]+", " ", $keyword); $keyword = trim($keyword); ここの間でフォームの受け渡しをしています。
それは文字コードの指定があってないだけでは? mb_detect_encodingで文字コードを検出して、 mb_convert_encodingで合わせるとかしてくれ
正規表現使う前で確認しろ
関係ないが、<br />にスラッシュ入れるなら、<input>も<input />だろう?checkedの省略表記もダメ。
post出来てるんだからいいじゃない しかもそれはHTMLだし
sybase_free_result()関数の使い方、意味が良くわかりません。 HTMLと一体型のページなどの最後に毎回書いておいた方が良いのでしょうか?
「スクリプト実行時に大量の メモリを使用する懸念」があるの?
300 :
sage :2008/12/02(火) 18:28:06 ID:eW3hDBxc
携帯向けサイトをphpで作っているのですが,任意の背景画像に、別の画像を背景画像のxy座標を指定して重ねて表示する方法はあるでしょうか?
>>299 消費メモリーの見方をわかっていない初心者です。
けど、使っているかもしれないなという懸念があります。
>>300 最近の携帯ですとCSSやテーブルで出来ると思います。
302 :
nobodyさん :2008/12/02(火) 21:03:37 ID:ZnEnsvHS
誰かお願いします。 内容 フォームからPOSTのメソッドを利用して「ユーザーID」と「パスワード」送信する。 受信したファイルでは「ユーザーID」と「パスワード」の妥協性を判断して出力する。 条件 データ送信用ファイル:input.html データ受信用ファイル:check.php input.htmlには2種類のテキストボックスを配置させる(txtId と txtPass) check.phpでは以下の4種類のメッセージを出力させること ・ユーザーIDとパスワードの組み合わせが正しい場合 「認証成功!」 ・ユーザーIDが存在しない場合 「ユーザーIDが存在しません」 ・ユーザーIDは存在するがパスワードが誤っている場合 「パスワードが違います」 ・ユーザーID、またはパスワードのいずれかが空白の場合 「ユ−ザーIDまたはパスワードが未入力です」 check.phpにおけるユーザーIDとパスワードの組み合わせ(3ユーザー分) ユーザーID:guest admin test パスワード:goma adm test スクリプト以下の配列に格納し、プログラムによって判断を行う。 ユーザーID:$arrUser $arrUser = array(・・・・); パスワード:$arrPass &arrPass = array(・・・・); 課題で出たのですが、受信側の処理がわからないです。 誰かお願いします。
$_POST['txtId']と$_POST['txtPAss'] for文やforeach文で繰り返す(もしくはin_arrayなど) if文で条件比較
宿題は自分でやりなさい っていうか学校でPHPってwww
305 :
nobodyさん :2008/12/02(火) 21:26:13 ID:ZnEnsvHS
どうしても、分からないんですよ
判るところまで書いてみよう
307 :
nobodyさん :2008/12/02(火) 21:33:50 ID:ZnEnsvHS
送信用ファイルの方は、formを使えばできるので、分かるのですが、 受信用ファイルの方で、ユーザーIDとパスワードの配列の使い方がどうすればいいのか分からないんです
組み合わせたり書き方を工夫すれば工数を減らせるが1つずつやると $arrUser = array("guest", "admin", "test"); $arrPass = array("goma", "adm", "test"); //ユーザーIDとパスワードの組み合わせが正しい場合 for ($i = 0; $i < count($arrUser); $i++) { if ($_POST['txtId'] == $arrUser[$i] && $_POST['txtPass'] == $arrPass[$i]) { echo "認証成功"; break; } } //ユーザーIDが存在しない場合 if (in_array($_POST['txtId'], $arrUser)) { echo "ユーザーIDが存在しません"; } //ユーザーIDは存在するがパスワードが誤っている場合 for ($i = 0; $i < count($arrUser); $i++) { if ($_POST['txtId'] == $arrUser[$i] && $_POST['txtPass'] != $arrPass[$i]) { echo "パスワードが違います"; break; } } //ユーザーID、またはパスワードのいずれかが空白の場合 if (empty($_POST['txtId']) || empty($_POST['txtPass'])) { echo "ユ−ザーIDまたはパスワードが未入力です"; } 今ここで書いて実際には動かしてないから動くかは知らない
マルチだったか 答えて損したな
310 :
nobodyさん :2008/12/02(火) 22:18:08 ID:ZnEnsvHS
確かに、マルチですけど、どうしても教えてほしかったんです
どこまで自己中なんだよw
これがゆとりってやつか 本当の意味での本物は見たことなかったから感動した
いまさらだが
>>308 のin_arrayのとこは!in_arrayだな
まぁマルチみたいだしどうでもいいけど
マルチ マルチってマルチーズをバカにするな!
315 :
284 :2008/12/03(水) 16:23:16 ID:???
>>286 var_exportの2番目の引数を TRUE でいけますた。
例:
<?php
$bool_var = TRUE;
echo 'bool_var(TRUE): ' . var_export($bool_var, TRUE);
echo '<br />';
$bool_var = FALSE;
echo 'bool_var(FALSE): ' . var_export($bool_var, TRUE);
?>
出力:
bool_var(TRUE): true
bool_var(FALSE): false
>>285-287 ちょっとしたことだったのですが、できて助かりました。ありがとうございましたー。
簡単な掲示板を作ってます。 名前のところが空白だった場合 名無し と表示させたいのですが 考えても中々解決できませんでした。 $name=$_POST["name"]; if ($_POST["name"]==""); { ここから先が OTZ
$name="ななし";
>>317 おおおおおおおおおお
行けました ありがとうですT_T
うそ〜ん
多分それだと、名前のところに0って書かれても、名無しになるよ
ようするに===にすればいいわけだな
strlenにすれば?
>>321 ご指摘ありがとうございます。
0と入力すると 名無しと表示されました。
>>323 strlenですか、調べてきます。
!emptyだろ、strlen使うぐらいなら
多分それだと、名前のところに0って書かれても、名無しになるよ
strlenって関数 勉強になりました。 変数に値があるかどうかチェックするんですね。 これからも使えそうです。 皆さんありがとうございました
おっと・・・ これで良いんですよね? if ($_POST["name"]==""); { の所を if (!strlen($name)) { $name ="名無し";
それくらい自分で判断しろよ
だから if ($_POST["name"]==="")でいいっちゅうに PHPは型が曖昧だからこういうことがおきるわけで strlenは文字数数える関数だし使い方として不自然
0文字だったら名無しにしたいんだろ? なんで不自然なの?
おれだったらその前にトリミングかますけどな
そんなこと言い出したらどんどん文句つけるところが出てきちゃうぞw
型に起因するものだからstrlenで強引にやるのが不自然と >0文字だったら名無しにしたいんだろ? ようするにこれが強引
要約しなくていいから詳しく説明してくれ 強引?文字列で渡ってくる値を文字列判定用の関数で判定してどこが強引?
>>335 上のほう見ればわかるが
$a = "";
$b = 0;
この時PHPでは$a == $bが成立してしまう
型を意識した場合この現象はおかしいから===で型のチェックまで行うべきということ
型のチェックで回避できるのにそれをせずに別の方法を模索した結果
strlenで文字数数えて0だったらという裏技的なものが強引と言いたい
型を意識しないPHPユーザーらしいといえばらしいし
確かに方法も色々あるしできればそれでもいいと言う考えもあるが美しくない
ようするに演算子で解決できるのにわざわざ関数を使う必要はないということ
確かにPHPは型が曖昧な気持ち悪い言語だが
冷静に考えてみれば===で型チェックする必要も
strlenで長さ測る必要もない
なぜなら受け取った値が数値でもそれは文字列だからだ
""と0は同じだが""と"0"は同じでない
ようするに
>>321 のツッコミが間違っていたわけだ
>>336 肝心なところで理由述べてないから説明になってないよ。
型チェックが良くて関数使うのが「裏技」で「強引」な理由は?
「演算子」が良くて「関数」が悪い理由は?
「美しくない」のは単なる主観では?もし合理的な理由があるならそれは何?
例えるなら「サッカーより野球のほうが優れている。なぜならバットを使うのが裏技だからだ。」
「醤油ラーメンよりとんこつラーメンのほうが優れている。なぜなら色が裏技だからだ。」
と言ってるようなもん。
つか関数使うと裏技と感じちゃうってもしかして初心者?
>>337 http://jp.php.net/manual/ja/types.comparisons.php 残念ながらあなたが間違いです
>>338 十分説明になってると思うがね
では逆に質問させてもらうが
演算子でできるのになぜややこしい関数を使う必要があるの?
>つか関数使うと裏技と感じちゃうってもしかして初心者?
関数を使うことが裏技だなんていっていない
型に起因することだから型のチェックで済ませばいいだけで
それ以外のことでやるのが強引と言っただけ
>>338 せめて実際にやってみてから言えよ・・・
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="hoge">
<input type="submit">
</form>
<?php
if (isset($_POST['hoge']) && $_POST['hoge'] == "") {
echo "名無しi";
}
?>
>>340 のスクリプトに何も値入れないで送信したのと
0と入れたのを送信して見てくれ
前者は名無しと表示されるが後者は何も表示されないはずだ
>>338 boolean表が一緒だから同じだと思ったの?
$a = "";
$b = "0";
if (!$a && !$b) {
echo "同じ";
}
これなら同じだろうよ
だけど今比較してるのは文字列の内容だろ?
if ($a == $b) {
echo "同じ";
}
煽るんならそれなりの実力をつけてからにしろな?
>>339 質問を質問で返すとテスト0点になるのを知らないのか?マヌケ
反論できなくなって精一杯の捨て台詞がこれかw みっともないから引っ込んどけw
自分でマニュアルで答えだしておいて自信たっぷりに
> 残念ながらあなたが間違いです
こういうこと言っちゃうのはどうかと・・・
特に"残念"とか一言余計
匿名で減るものでもないんだし非を認めて謝ればいい
あと匿名といえど言葉は選んだほうがいい
本題だけど
>>338 が出してるマニュアルの==による比較表を見てわかる通り
0==""はtrue、"0"==""はfalse
厳密な比較だと表の通り
0===""はfalse、"0"===""はfalse
""と比較してfalseになればいいのでint型の0の時は厳密な比較でいいけど
フォームから受け取った値はString型の"0"なので緩やかな比較でも問題ない
つまり型に起因するというのも今回のケースでは関係ない
>>324 はフォームからでなくテスト用に変数に0と入れたのだろうか・・・
そこが気になる
最初のレスでズバリな答えが出てるのに
何か勘違いした人がツッコミを入れるとややこしくなる
ID出すほうのスレの280あたりの話もそうだった
>>344-345 だから型に起因する問題って何?
(再掲)文字列で渡ってくる値を文字列判定用の関数で判定してどこが強引?
無理に===""や==""で比較することに固執してるから悪いんだろ。
何をもって強引としてるのか要約しなくていいからはっきり説明して下さいな。
メール受信でヘッダーからReceived: fromの送信元ipを取得したいのですが どんな方法で取得できるのでしょうか?
348 :
nobodyさん :2008/12/07(日) 16:35:38 ID:mzpaUA22
gethostbyname マニュアル少しは嫁。ググレ糟みたいな質問すんな。
おい人力検索ボランティアども windowsでmysqlのコマンドラインからバージョンを調べる方法を教えろやゴルァ
351 :
nobodyさん :2008/12/07(日) 17:28:40 ID:vKPOZAXl
おい!!俺様は公務員だぞ!!!! 貧乏人はさっさと検索してこい
352 :
339 :2008/12/07(日) 17:33:22 ID:???
>>346 いなくなったと思って静観してたがレスがついたので
型に起因すると言ったのは
>>321 のレスが発端で
なぜ""と0が==になるか?その原因が分かってるからそう言い続けてるだけ
""と0が==なのはPHPの型が曖昧なのが原因
その証拠に型のチェックまでする===の比較では""と0は===ではなくなる
比較演算子に固執してるわけではなくて
>>321 で起こりうる原因が何にあるかをわかってるだけ
そもそもこんな問題はC++やJava等の型付けが静的な言語では起こらない
原因が分かってればそれに最適な対処法がある
原因が分からないから他の方法で解決しようとする(←これが強引)
原因が分からない時なら一時的な対処法として仕方ないけど今回は原因は分かっている
(↑この発想はそもそもバグを生みやすいから問題)
それに演算子で解決できるのにややこしい関数を呼び出す必要もない
難しくなるからあまり例えたくはないが
修理すればいいだけなのに原因がわからないから新品を購入するようなもの
とまではさすがにいかないけど
故障原因が分かる正規なとこで修理すればいいのに
めんどくさいから適当に直ればいいやと街の修理屋になおしてもらうようなこと
と偉そうなこといって申し訳ないがフォームから受けとる値が全て文字列になるのは見落としてた
>>345 の言う通り関係ない話だったな
話をややこしくしたのは自分にも原因があるので
>>346 のレス以外黙ってます
必死に書いてくれて悪いが長すぎて読む気がうせるので3行で
>>352 比較演算子の問題と、文字列が空であるかを判定する問題をごっちゃにしてると思うよ。
うんうん、phpの型がゆるいことに起因する比較演算子の問題は分かったよ、
で、それを何故後者の問題の解決のために必ず使わなきゃいけないの?
そこをずっと聞いてるんだけども。
(あと関数を使うのが、楽するため、面倒を避けるため、だと考えてる理由も何?)
>と偉そうなこといって申し訳ないがフォームから受けとる値が全て文字列になるのは見落としてた
335で既に書いてるのに今更ですか
342の最後の文章が乾いて聞こえますね
355 :
339 :2008/12/07(日) 18:13:10 ID:???
>>354 >比較演算子の問題と、文字列が空であるかを判定する問題をごっちゃにしてると思うよ。
何がごっちゃなの?問題は1つなんだけど?
比較演算子で文字列が空かどうかを判定してるわけで
>それを何故後者の問題の解決のために必ず使わなきゃいけないの?
必ずとまでは言わないが
初心者用の質問スレで対処法があるのに
わざわざバグを生みやすい書き方を教える必要はない
動けばいいっていうゆとり思想はやめたほうがいい
>あと関数を使うのが、楽するため、面倒を避けるため、だと考えてる理由も何?
?
>335で既に書いてるのに今更ですか
>>文字列で渡ってくる値を文字列判定用の関数で判定してどこが強引?
これのことなら上のほうで突っ込まれてるけどそもそもこんなことする必要ないでしょ
最初の
>>316 と
>>317 で解決できる
不必要なことはバグの原因なのでしなくていい
>342の最後の文章が乾いて聞こえますね
そうですね
煽りに煽りで返すのはやめたほうがいいと思います
356 :
339 :2008/12/07(日) 18:20:24 ID:???
358 :
339 :2008/12/07(日) 18:33:11 ID:???
>>357 今の発言はなかったことにして下さい
>>337 の言ってることが
>>338 には理解できてないようだから
>>335 のレスとは言ってることが違うなと思ったけど
よく読み返してみたら型の概念を理解してないだけっぽいね
でもそうするとなぜ文字列で渡ってくるといったのかちょっと不思議だけど
遅れてきて参戦してもいいかな? ===なら判定OKだけど、strlenだとバグになってエラー起こす例あるよ
えっと、別スレでやってくれるかな 質問しにくいんだが
ところで、結局
>>340 は正常動作で、
>>337 が正しくて、
strlenとか===とかはどっちでもいいレイヤーの話にこだわってるってこと?
362 :
339 :2008/12/07(日) 18:44:32 ID:???
>>361 そう
趣味の領域で口を出しすぎたのが原因
結果的に荒らしちゃったのでもう黙ってます
>>362 なんだ結局あんたもまともに反論しないで煽ってんじゃん。
ところでバグって何?
>>362 てことは全ての元凶はstrlenを使うのは強引だ、===""を使え!!と強弁してたあんたじゃんか。
しつけーよ雑談スレいけキチガイども
もう許してやれよ 本人反省してるし、これ以上言っても荒れるだけ
ぬるぽ
ガッ
うるせーよ!質問できねえだろキチガイども! 新しいスレ作るのでそこでやりますかどうしますか
負けず嫌いで文盲とはたち悪いな その上粘着質で気持ちが悪い
次の初心者さん、どうぞ
セッションとクッキーってどう違うんですか?
逆に聞こう、どう違わないと思ってるの?
質問を質問で返すとテスト0点になるのを知らないのか?マヌケ
逆に質問するってことは、わからないんじゃねーの ワラ
378 :
:2008/12/08(月) 14:00:57 ID:???
文字列hogeがスカラ変数$aにマッチしない場合、 $bにhogeを代入するってのは、こういう書き方で 合ってるんでしょうか? if (!ereg( "$a" , "hoge" )){ $b = "hoge"; }
if ($a != "hoge")
380 :
:2008/12/08(月) 14:10:22 ID:???
>>379 さん、早速の回答ありがとうございます。
凄くすっきりしますね。
自分の書いた!eregだとどのような意味になってしまうんでしょうか?
もしよろしければ教えてください。よろしくお願いします。
正規表現での判定になる
382 :
:2008/12/08(月) 14:14:02 ID:???
つまり正規表現を用いて判定したい場合は
>>378 でも正解で
>>378 と
>>379 は同じ意味という理解でよろしいでしょうか。
!eregで正規表現でマッチしない
!=で正規表現を使わないでマッチしない
そんな感じです でも正規表現使うならereg_系よりpreg_系のほうをお勧めします 文字列が含まれているかどうかを判定するにはstrposのほうがいいです 単に変数の内容が文字列と一致するかどうかだけなら比較演算子で十分です
384 :
:2008/12/08(月) 22:14:52 ID:???
>>383 亀レスになって申し訳ないです。
レスがつかないなと思ってたら専ブラのdatが壊れてました。
preg,strposは調べてみます
詳しく解説していただき本当にありがとうございました。
385 :
nobodyさん :2008/12/08(月) 23:24:31 ID:L5IlDtke
>>386 ありがとうございます。これはPHP4用のものだと思っていたのですが、
PHP5でも使ってよいのでしょうか?。教えてくださったページにも
以下のように書いてあったので。DOM XMLよりDOMのほうが標準っぽ
いかんじがするので、DOM XMLを使っていいのか心配です。
-----
注意: この拡張は実験的なものではありません。
しかしながら、PHP 5 版は決してリリースされないでしょう。
PHP 4 でのみ配布されます。 もし PHP 5 でDOM XML をサポ
ートする必要がある場合、 DOM 拡張を使用することができます。
この domxml 拡張は DOM 拡張と互換性はありません。
-----
389 :
nobodyさん :2008/12/09(火) 15:38:44 ID:oaG+U8nz
PHPとmySQLでトーナメント表を作成ということは可能でしょうか? また、そのトーナメント表を自動更新できるのでしょうか?
できる
ツリーにしなくてもできる
>>392 ん?ツリーを一切作らないの?
トーナメント表ってツリーじゃない?
394 :
389 :2008/12/09(火) 16:07:11 ID:oaG+U8nz
皆さん色々ありがとうございます。 ツリーにしなくてもいいとはどういった方法でしょうか?
396 :
389 :2008/12/09(火) 16:11:47 ID:oaG+U8nz
紹介していただいたサイト全て英語でした↓ 他に参考となるものはないでしょうか? わがまま言ってすみません。
つ辞書
>>396 辞書片手に、挿絵とソース見ればわかるんじゃない?
てか、それでわかるんならここで聞かないか。
399 :
nobodyさん :2008/12/09(火) 16:22:12 ID:oaG+U8nz
はい↓右も左も分からない初心者なので。 どうしたらいいかさっぱりなんです↓
↓って何?ふざけてるの? なんでageてまでこっちのスレで聞くの?ふざけてるの?
ふざけてるつもりはないですよ。 何も分かんないから聞いていただけです。 sageについては分からなかったのですいませんでした。以後気をつけます。
>>395 DBをツリー型のことだろザコ
勘違いはおまえ
ザコ、いい響きだ
>>402 君が何を勘違いしてるか、
出力はツリーだろ。=>トーナメント表
それをMySQLに保存したいっていう質問だろ。
DBにツリーを表現する構造を作らなくて何をするというの?
LR方式のツリー格納は今のところもっとも効率のいい方法だぜ。
まぁ、どうせ
>>395 あたりだと、DBは試合結果だけとか、
再帰処理とか、劇重なこと考えてるんだろうけど。
もうテキストに保存しろよ
>>404 バカじゃねの?ツリーで出力のとツリー型でデータ格納するのは別だろ
>>406 ツリー型でデータ格納って何言ってるかわかってぇみたいだなw
代案示してみろよw
モデリングを理解できないレベルのPG厨にそこまで熱くならなくても・・・
あれだよ、無知の為にコード晒してギャフンと言わせるしかない
ぼくちゃん、晒す度胸があったら、ザコとか無知とか言わないでちゅw
>>407 wがついてる時点でテンパッテルように見受けられますが?
XML形式のデータをフラットに書き下す時もネストセットモデルだよね。 もしこれよりうまいモデリング手法があるんなら俺も知りたい。
検索性に優れるのは衝突を限りなく無視できるハッシュ法だ
ハッシュで検索が効率がいいのは、ターゲットが限られているとき。 特定ノード配下から条件指定で検索など、実用コードを書いたら一気に重くなる。 もしくは、全データをメモリに読み込むとか、Web用としては使えんと思うが、 ハッシュで実用的なツリー構造を扱う新理論でもお持ちで?
ないよ 10年後ぐらいには実用になるさ
おいw
次の初心者さん、どうぞ
トーナメント表なのに難しく考えすぎてないかね
データの探索アルゴリズムと格納法の話がごっちゃになってないか
トーナメント表をDBでやりたいってことはさ。 甲子園なんかで、決勝進出チームが、本大会、県大会で戦ったチームのうち 左ピッチャーからどのくらい打って何点差で勝てたかとか、 過去のデータを蓄積してデータ検索をサクっとやりたいわけでしょ。 高度な部類だと思うけど、違うのかな?
>>421 ごっちゃっていうより表裏一体でしょ。
格納あっての探索。探索を考慮しての格納じゃなくて?
424 :
nobodyさん :2008/12/09(火) 20:02:49 ID:oaG+U8nz
>>413 わざわざ丁寧に教えて頂きありがとうございました。
もう全部ファイル書き出して検索はグーグル先生に頼れよ
426 :
:2008/12/09(火) 23:48:38 ID:???
WWW_JAILって何ですか?
>>427 スレ違いの質問でしょうか?
確かに
教えて下さりありがとうございました
または
教えて頂きありがたくおもいます
が正確なのかも知れませんね
429 :
387 :2008/12/10(水) 01:13:56 ID:???
>>388 完璧な回答、ありがとうございます!。プロパティの中にあったんですね!
WEB上のテキストフィールドで入力した値を、HTMLの変数Cに格納したいのですが、 どうすれば良いのでしょうか・・・・?
<form method="post"> <?php $data = ''; $fieldName = 0; do { $data .= array_key_exists($fieldName, $_POST) ? $_POST[$fieldName] : "nodata"; echo "<input type=\"text\" name=\"{$fieldName}\" value=\"" . htmlspecialchars($data) . "\" />"; } while( $_POST && error_log("posted value is " . $fieldName++ . ":" . $data)); ?> </form>
htmlはプログラミング言語です
HTMLがあれば何でも出来る
htmlはCを超えます
質問させて頂きたいのですが PHPプログラムの中で連続してMySQLへデータを書き込みたい場合 どのように記述すれば良いのでしょうか? 例えば指定条件のデータを一度消去してから 改めて幾つかのデータを入れなおすなど お分かりになる方よろしくお願いいたします
消去するプログラムのあとに書き込むプログラムを書く
関数の戻り値が配列の場合での質問なのですが class hogehoge { private $hoge = array("1", "2", "3"); public function getHoge(){ return $this->hoge; } } $hogehoge = new hogehoge(); $hogehoge->getHoge()[1]; のように関数の戻り値の配列の要素を1行で取得はできないのでしょうか?
getHogeの引数で返せばいいんじゃない
syntax error, unexpected ';'で困ってるんですけど、 どこかおかしいです? $this->smarty_obj->assign('date_trackbacks_url',spriunf(TEXT_TRACKBACKS_URL, htmlspecialchars(td_get_trackbacks_url(intval($HTTP_GET_VARS['products_id'])), ENT_QUOTES));
括弧の数も数えられないなら、一行をそんなに長くするなw
かっこの数
>>438 構文解析周りが貧弱なので出来ません
array の代わりに ArrayObject を使い、俗に言うメソッドチェインでアクセスする、
またはプロパティ限定でよかったら __get マジックメソッドで代用できます
class Hoge {
private $hoge = array(1, 2, 3);
public function __get($name) {
return $this->$name;
}
}
$hoge = new Hoge();
echo $hoge->hoge[1];
こんな感じね class hogehoge { private $hoge = array("1", "2", "3"); public function getHoge(){ return new ArrayObject($this->hoge); } } $hogehoge = new hogehoge(); $ahoge->getHoge()->offsetGet(1); // $ahoge[1]としてもアクセス可能
テーブル内に フィールドが2つ japa, engl 行1 a, a 行2 i, b 行3 u, c 行4 e, d 行5 o, e みたいに入っていたとして $data = mysql_array(上のテーブルから情報)みたいにMySQLから取得したデータを配列に入れた場合には フィールド名も含めてどのような形で配列に入っているのでしょうか? さらにフィールドjapaを選択して頭からa, i, u, e, oと取り出すように その配列の特定のフィールドだけを選択して次々にデータを取り出す方法は有るのでしょうか どなたか教えていただけ無いでしょうか
assign()内で、include出来ますか? ググっても浅いところでは情報を拾えないみたいなので、 よろしくお願いします。
>>447 普通は、行レベルでアクセスして順に取得する。
データベースアクセスの基本だから、基本的なサンプルはみんなそうなってる
しかし、工夫すれば、一気に取り出すことも不可能でないが、
内部的にはほとんど同じことなので、行レベルで処理した方が無難
>>448 できる
450 :
447 :2008/12/11(木) 20:39:36 ID:???
>>449 ありがとうございます
それぞれのフィールドの値を別のところで使うので一度の方が良いと思いました
そうしますと
$japaData = mysql_fitch_array()
$englData = mysql_fitch_array()
みたいに2回に分けてデータを取得し2つに分けると良いという事でしょうか?
>>450 とりあえず、基本的なサンプルを試してみたら?
select * from hoge limit 5;
とかして。
fitch!
453 :
447 :2008/12/11(木) 22:55:36 ID:???
>>451 あまり知識が無いのでデータベースから読み込む回数を減らした方が
機械に負担が少ないかなと単純に思って出来た発想でした
2回に分けた方が自分としても手っ取り早いので試してみたいと思います
ありがとうございました
455 :
448 :2008/12/12(金) 19:18:09 ID:???
assign()内で、postされたトラックバックをリスト表示する.phpを include出来るのは確認できたけど、 思った場所に表示できません(最上部に表示される)。 $this->smarty_obj->assign('trackback', require(trackback.php)); 普通に{$trackback}で呼ぶだけじゃダメなのですか?
requireした中に出力してるから、呼んだ瞬間に出力してるんでしょう。 assignに値を渡したければ、return "$trackbackの中身";
あぁ、中に出しちゃだめ。
458 :
448 :2008/12/12(金) 20:24:30 ID:???
return $this->smarty_obj->assign('trackback', require(trackback.php)); したら、それ以外の処理がキャンセルされちゃった。。。 これって、調べるとreturnの特性みたいですけど、 回避するにはどうしたらいいですか?それとも勘違い?
うーん、まじか・・・
>>456 に書いてあること理解できてる?
requireされてるファイルの中で出力するなと、
そして、そのファイルからreturnしろと読めない?
>>459 あ・・・了解。
たった今、理解したような気が・・・
先生。。。ダメです。。。 $trackback_for_products = require(DIR_WS_MODULES . FILENAME_TRACKBACKS_FOR_PRODUCTS); $this->smarty_obj->assign('$trackback_for_products');
お前は何をやってるんだ?
シングルクォートだし、代入してるし、 やりたいこととちがうんじゃねぇーの?
464 :
448 :2008/12/13(土) 23:06:46 ID:???
結局、trackback.htmlにincludeして、templateとして使う事にしました。 結果オーライというか、上記本来の使用法かな?とも思ったりするのですが、 後学の為に正解をお願いします。 returnを実行phpで使うのか、includeしたphp内で使って、その結果を実行phpに渡すのか。 assignに渡すのと同じ行でreturn出来るのかなと思ったのですけど、 そんな感じじゃないみたいなので。。。
×上記本来 ○上記が本来
ぐぐってもみつけられなかったんで知ってる人いたらつД`) タスケレ !! formからアップロードしたzipファイルを解凍するスクリプト書いてるんですが、 解凍する前にzipファイルの破損をチェックするのってどうやったらできますか?
マルチはやめぃ
質問スレいけって言われたからこっち来たんですが・・・
じゃななんで誘導されてきた旨を書かない?
すみません言葉足らずでしたorz
誘導元を見てるなら誘導されていることを知ってるし 元を見てないならマルチかどうか知らんことだし 誘導されてきたことは告げるべきことなのか? 466じゃないけど気になったんで聞いてみる
自演乙
誘導レスを見たから、同じ質問を別スレでしたのか それとも誘導レスを見る前にマルチしたのかどうやって判断するんだ? 時間的に整合性があればマルチじゃないと判断しろよ って言うのか? 誘導された旨を書くのがスマートだろ
3行目でいいと思うんだけど ああ誘導があったから来たんだなっと たしかに実際にはわからんけど悪い方にとり過ぎだと思うんだが
>>446 なんですが、自分のせいで嫌な流れになってすみませんです
少しややこしいないようですが質問です。(phpはutf-8です。) iPhoneのメールからある掲示板にメールで投稿する時に絵文字を挿入(タイトルへ)して送ると 普通の文字は大丈夫なのですが絵文字部分が =?utf-8?B?77+9?= という文字列になって表示してしまいます。 iPhoneでは1つの絵文字を書いたつもりなのですが。 同じ絵文字をメールで受信すると菱形の中に?が入ったように化けています。 これをiPhoneで掲示板を見たときはちゃんと絵文字を表示するようにしたいのですが、 どうすれば表示できるようになるのでしょうか? どなたかその流れを教えてもらえませんか?
誘導されたなら誘導元のスレでちゃんと誘導先で聞くことを書いたなら ここで誘導されてきたことを書く必要はない
480 :
476 :2008/12/14(日) 19:19:25 ID:???
釣り回答だからスルー汁
お助けください。 wordpressでつくったサイトのトップページに、 ブログの更新情報をPHPで表示したいのですが、 2008.12.14 ブログの更新情報 2008.12.14 ブログの更新情報 2008.12.14 ブログの更新情報 という風に表示するには、どういう記述をしたらいいのでしょうか。 詳しい方お願いします!
483 :
476 :2008/12/14(日) 21:49:33 ID:???
引き続きわかる方いませんか?
>>482 echo'2008.12.14 ブログの更新情報
2008.12.14 ブログの更新情報
2008.12.14 ブログの更新情報';
>>483 base64エンコードされたものをデコードし、得られた文字列を出力可能なものに
変換するというのが基本。
しかし、絵文字などはキャリア依存だったりするので、キャリア別のマップを入手して
それに合わせて変換するライブラリを用意する必要があるが、PHPではあまり見かけない。
MobaSiFはPerlだが、これを参考にPHP用のを書いて公開してくれ。
>>482 WPのスレがブログ板にあるから、そっちで聞けば、(マルチついでに)
487 :
482 :2008/12/14(日) 22:05:42 ID:???
ありがとうございます!
488 :
476 :2008/12/14(日) 22:17:15 ID:???
>>485 レスありがとうございます。
デコードとかしなきゃいけないんですね。
2chに絵文字をいれるとiPhoneでちゃんとひょうじされるのでそんなこともしてあるんですね。
utf-8じゃなくshift-jisだと絵文字はみれるんだけど。
Macでみると・になってたりするけどw
レスをヒントにもう少し悩んで見ます。
>>485 どこぞの会社様がライブラリをフリーで提供してるぞ
490 :
476 :2008/12/15(月) 17:50:21 ID:???
一応 $subject = mb_decode_mimeheader($subject); とする事で絵文字は表示するようになったのですが 通常の文字と絵文字を混在すると例えば「あいうえお@@@@@」(←@は絵文字です)な風ですが =?utf-8?B?44GC44GE44GG44GI44GK77+977+977+977+977+977+977+977+9?= ってログになってしまいます。 前半のあいうえおが絵文字の中に入ってしまってて後半の絵文字がおかしくなってるように思うのですが これってどうすれば分離?出来るんでしょうか?
491 :
466 :2008/12/15(月) 20:24:06 ID:???
昨日から自分でなんとかできないかと試行錯誤しているのですが一向に解決できませんorz phpでzip書庫のテストをする処理方法をご存じの方いらっしゃったら教えてください!!
それってPHPじゃなくてzipの仕様の問題じゃないの? zipの仕様に完全に則ってるファイルはzipでそれ以外は破損扱いにすればいいじゃん
493 :
466 :2008/12/15(月) 21:18:44 ID:???
>>492 zipの仕様に完全に則ってるかどうかで判定ということですか。
その方法を調べてきます!
ありがとうございます。
pearのdbからトランザクション使用してるんだけどrollbackしても自動増加に設定してるプライマリキーが増えたままになるのはなんでなんだ?
勘違い
print "aaa\"bbb"; 上の記述で Parse error: syntax error, unexpected T_STRING のエラーが出るのですがなぜでしょうか? .htaccessなどの設定ファイルはすべて削除済みです。 サーバーの設定で影響しそうな箇所があれば教えてください。 print 'aaa"bbb'; でエラーは出ませんが、根本的に解決したいです。
あ
499 :
496 :2008/12/16(火) 05:39:47 ID:???
>>498 すみませんファイル転送時の問題かも知れません。もう少し調べてみます。
500 :
496 :2008/12/16(火) 06:04:44 ID:???
テキストエディタの設定でエスケープ文字が正しく保存されていませんでした。解決しました。ごめんなさい。
/** * @access public のメソッドにつけるコメントの意味あいがいまいちわかりません。 この辺のドキュメントはありませんでしょうか? 検索しにくく、通常のアクセス修飾子に関してしかでてこず困っております。
javadocやphpdocというものを探してみれ
phpの関数内関数はもしかしてグローバル関数になりますか? クラス内のメソッド内でローカルの関数のつもりで定義したのですが、 クラスのフィールドにアクセスできないみたいで泣けてました。 この辺に関する記述があるドキュメントはありませんでしょうか?
マニュアル
>>504 ありがとうございます。
「関数内関数」で見つけられず、「inner function」で検索したところ
(何故かw)以下のページが見つけられました
PHP: 関数 - Manual
http://jp.php.net/manual/ja/language.functions.php > PHP では、関数やクラスはすべてグローバルスコープにあります -
> 関数の内部で定義したものであっても関数の外部からコールできますし、
> その逆も可能です。
「例3 関数の中の関数」の例と上記の解説だけではよくわからないのですが、
クラス内メソッドで宣言してもメソッドにならずにグローバル関数になる、という解釈であっているようです。
webでも検索単語がわるいのか、この手の話題を扱っている人がいなくてちょっと悲しい
>>506 > クラス内メソッドで宣言してもメソッドにならずにグローバル関数になる
こんなことどこにも書いてないでしょ。
基本的過ぎて誰も書かないけど、
マニュアルのクラスとオブジェクト(PHP5)のところも読んでみたら?
あぁ、ていうかもう少し正確にわかりやすく書いてくれ クラスメソッドのなかでfunction宣言やclass宣言をしたりインクルードした場合に 内部関数や内部クラスになるかというとそれはない。 PHPでは、functionもclassもグローバルという解釈であってる。
クラス内メソッドじゃなくてクラスメソッド内な じゃないと、 クラス内メソッドとして宣言してもと、読み間違える(って俺の日本語力のせい?)
昔はそれなりに質問らしい質問してたと思うんだけど、近頃は酷すぎるねぇ。
質問もこれだけしてたら質が向上しそうなもんだけど、
>>322 を見る限り、池っぷりは明白だし難しいんだろうなぁ・・・
↑誤爆ですw
512 :
506 :2008/12/17(水) 17:06:31 ID:???
>>507-508 すまそ。ちょっとphpの用語というか全般に慣れてない成果、互換を与えているみたいです。
こういう状況を想定しています。Hoge::mageメソッドのhoge内から$thisにアクセスできないので、
グローバルなんだ、と判断してしまっていました。
class Hoge
{
var $foo;
function mage()
{
function hoge()
{
$this->foo; #アクセスできない!?
}
}
}
print<<<eof <table width="367" border="1"> <tr> <td width="84">'htmlspecialchars'($post['content'])</td> <td width="267">htmlspecialchars($post['name'])</td> </tr> </table> eof; エラーが出ます 助けてください><
>>514 ヒアドキュメント内では関数は使用できない
ヒアドキュメント内で変数を使う場合{}で囲む癖をつける{$post['content']}
グローバル変数の$_POSTとどうも勘違いしてるような気がするが
$postという変数を用意してるならそっちでhtmlspecialcharsをやる
$post['content'] = htmlspecialchars($_POST['content']);
517 :
506 :2008/12/18(木) 13:34:14 ID:???
>>513 ありがとうございます。理解がふかまりました。
配列の中のフラグがたっている数を調べたいのですが、 もっと一発で格好良く書く方法はありませんでしょうか? $correct_count = 0; foreach ($results as $result) { if ($result->is_correct) { $correct_count++; } } $results は、stdClassでis_correct(boolean)をプロパティに持つ Array です。
すいません。わかりにくいので、単純化しました。 $count = 0; foreach ($flags as $flag) { if ($flag) { $count++; } }
配列の中のフラグを立てるコードも書かないと誰も答えてくれないよ
>>520 すいません。こんな感じです。(例です)
$flags = array(TRUE, FALSE, TRUE, FALSE, TRUE, TRUE);
$count = 0;
foreach ($flags as $flag) {
if ($flag) { $count++; }
}
RubyのEnumerable#countみたいにさっくりいける関数がないかと思っていたのです。
flags.count {|x| x }
また、
$count = array_count_values($flags)[TRUE];
でいけるかと思ったのですが、array_count_valuesは
stringとinteger以外(上記のbooleanとか)だと例外が発生するみたいで使えないっぽいですね。
つgrep
array_map
524 :
521 :2008/12/19(金) 18:09:01 ID:???
ありがとう。 phpは向かないのに、ゴルフしようとするクセがあってスマソ 短くしたかっただけなのです。
いいってことよ
>>521 $flags = array(TRUE, FALSE, TRUE, FALSE, TRUE, TRUE);
echo count(array_keys($flags, false, true));
527 :
521 :2008/12/20(土) 14:36:33 ID:???
>>526 うお、検索一致した配列を返す関数あったのか!
サンクスです。
礼はいらねえ そんくらいいいってことよ
冗長だからお勧めはしない。素直にループで数えた方が速い。 それに、booleanしか格納しないなら配列はお勧めしない。
なんで?
なにが、なんで?
532 :
529 :2008/12/20(土) 15:47:42 ID:???
説明できないけどフィーリングでそうオモタから書いたんだけどね サーセン
フィーリングて(呆)
529じゃないけど、説明できるけどね。 何が知りたいのかわからん
じゃ529を全部説明してくれ
だから、全部ってなんだよ
何が知りたいのかわからないんじゃなくて 元もわからないから説明できないんでしょ
2行しか書いてないくせにどこと指定されないと説明できないのかw
2行しか書いてないのに、どこに疑問を持ってるのか書けないのかw
だから全部だって。自分の書いた文章なのにトピックごとに分割できないの?
全部って具体的に書けよ
PHP関係のスレの低脳の多さは異常だな
実際には低能が多いというよりも、数名の低能が荒してるんだけどね。 特にIDスレに発生したスパム質問には呆れる。 そのうちここにも来るかもなw
ようは知ったか野郎がここに発生してるわけだな 説明できるならどこそこ言わなくても言えるわけだから
しつこさに笑える。 その面白さに免じて釣られたるわ。 冗長だからお勧めはしない。 => 配列を再育成する分オーバーヘッド 素直にループで数えた方が速い。 => ステップ数から速いのは自明 それに、booleanしか格納しないなら配列はお勧めしない。 =>用途によるが固定長ならビット演算、複雑ならオブジェクト内でロジックを実装(たとえばFilterIterator)
ちなみに、
>>526 を書いたのも俺だから、
他人のソースを批判してるわけじゃないんで、勘違いのないように
乙、乙
理由もなにもあるかよ。常識だからな。 nbへのサービスだよ
10枚くらいCSVファイルあるんですけど これを一気に検索することは可能ですか? 10枚をまとめて1枚にすればいいんですよね でも重くなりそう・・・
仕方ないじゃん それがイヤなら最適化するなり工夫しろ
ですよね ありがとうです
553 :
521 :2008/12/21(日) 23:33:23 ID:???
俺の質問のせいであれてた('A`)
>>545 > 冗長だからお勧めはしない。
> 素直にループで数えた方が速い。
いや、速くなくても コードが冗長じゃなければおkでした
> booleanしか格納しないなら
元のコードは
>>518 なんで・・・
というかゴルフしたかっただけです(´・ω・`)
554 :
521 :2008/12/21(日) 23:34:39 ID:???
>>518 はイミフだよな
$resultsは$resultの集合でしょ。$resultがオブジェクトだよな?
設計に問題がなければArrayObjectを使うなり、オブジェクト側で
implements countable してcount()を実装すれば、
利用側はcount($results)でok
555は?
はい?
558 :
521 :2008/12/22(月) 13:29:24 ID:???
クラス定義するまでもないけど、hash(Array)っぽいアクセスじゃいやんで、 構造体っぽくみせたいときに stdClassつかうもんだと思ってたんですが、そういうわけでもない?
stdClassなんて使う必要あるか?
560 :
521 :2008/12/22(月) 13:44:12 ID:???
ああ、わかた。
>>555 は設計によるけどちゃんとクラス化してそのメソッドにしるってことか
countになるかはわからんけど・・・
多分、2回以上カウントする必要がある時は、冗長性はさけて
関数化→クラス化→メソッド化
ってなると思います。
クラスのプロパティが簡単に設定できれば
お気軽にクラス化できるんだけど・・・
>>558 stdClassの使い方として、それはいいと思うけど、
実際に何がやりたいのかがわからんと、それ以上は云々できんわな。
stdClass使うのに、$resultsを配列にしちゃう理由が思い浮かばん。
562 :
521 :2008/12/22(月) 13:56:07 ID:???
> クラスのプロパティが簡単に設定できれば
stdClassみたいに使うには、
public $hoeg = 1234;
クラス内でみたいにpublicにするだけでいいんですね。勉強不足でした。
>>561 > 実際に何がやりたいのかがわからんと、それ以上は云々できんわな。
ああ、いや、まあ実際そうですね。
最近、CodeIgniterをいじっているんですが ActiveRecordがクエリーを返す時に、
stdClassのArrayで返してくるものですから、
適当な構造の配列を関数から返す時とか、
そういう風につかっていいもんだと思って使ってました。
なるほどね。
stdClassの利点って何?
stdClassでとりあえず動くシステムを書いておけば、 あとから、自前でメソッドを追加したときに、他の部分を変更しなくて済む、とか。
PDOStatement->fetchObject みたいな使い方があるね。 DBからの戻り値を使いたい状況に合わせてクラス指定して取得するとかで、 拡張性を担保する。特に指定がないときはstdClass
いやだからそのクラス指定して取得するメリットは?
> いやだからそのクラス指定して取得するメリットは? > 拡張性を担保する。 めくらなの?
568 名前:nobodyさん[sage] 投稿日:2008/12/22(月) 17:56:59 ID:??? > いやだからそのクラス指定して取得するメリットは? > 拡張性を担保する。 めくらなの?
>>567 メリットがない者にはわからない。それだけのこと。
たぶん、君にとってメリットはない
>>572 たとえば、
class rowFilter {
public function __set($name, $val) {
$this->{$name} = someFilter($val);
}
}
のようなクラスを用意して、自動フィルタを使い分けるとか。
複数カラムの値を自動計算させて仮想の別カラムを作ったりとか。
そんなんfetchObjectでなくてもできね?
だから、そんな君にはメリットはない。
なんだ自分が分かってないんじゃん
はあ?
ぼくにはさっぱり
>>573 がどんなメリットなのかわかりません
キモッ☆マジキチだらけのPHPスレ!
>>571 と同じ。
>>573 の方法を設計に生かしたいと思うかどうか。
生かしたいと思わない者にとってはメリットはない。
あれさ、O/Rマッパーを1行で実現できると言っても ループしてnewすりゃいいじゃんって奴には(ry
乙、乙 なんか、このところの定番?この流れ
あれw
自分で理由もなしに何となくで使ってるところを指摘され、 利点を説明もできず、必死に言い訳を取り繕っている様はこんな感じ ヽ人人人人人人人人人人人人人人人人人人人人人人人人人人人 / ̄(S)~\ < > / / ∧ ∧\ \< そんな君にはメリットはない! そんな君にはメリットはない! > \ \( ゚Д,゚ ) / /< > \⌒ ⌒ / ノ Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´ )_人_ ノ / / ∧_∧ ■□ ( )) ( ; )■□  ̄ ̄ヽ γ⌒ ⌒ヽ  ̄ ̄ノ ノ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
必死だな
ひさしぶりに「必死だな」とか頭の足りてない言葉見た。 どんだけオッサンなんだよ。お互いに。
てかさ、恥ずかしくない? > 利点を説明もできず
何が?
説明してみろよ、説明できないんならわかっていないと見做すとか
で?
んなこたぁわかってる
DBレコードをモデルに割り当てるときに、DBからfetchして手動でオブジェクトに
割り当てるコードを書くよりも、実装のみ書いてfetchObjectに投げればモデルを
取得できるというメリットは、
スピーディーにORMを書きたい人にとってはメリットはあるが、
そうでない人には、意味がないってだけ。
「君にはメリットはない」て言葉、そんなにひっかかるか?
>>587 バカにされたとでも思ったんなら誤解だよ
まあ、そうムキになんなよ。
599 :
nobodyさん :2008/12/22(月) 22:34:15 ID:zcPu3Ss9
自覚だけはあるんだw 巣に篭って出てくんなよw
そうさせてもらうぜ
少しお聞きします。 ヒアドキュメントにテキストに入れたいのですが、 変数展開されてしまいます。 変数展開しないためには、$などをエスケープするしかないんでしょうか?
newdoc
って、マニュアルみたら、そのために php 5.3 で Nowdoc が追加されるんですね。 5.2なので、エスケープするかぁ(´・ω・`) まあ、置換するだけだから大丈夫だと思います。 ありがとうございました。
ヒアドキュメントがPerlの後追いバロスwww
来年の1/1 00:00:00から 明けましておめでとうと 自動で表示したいです。 どうすればいいでしょうか?
来年の1/1 00:00:00から 明けましておめでとうと 自動で表示するようなスクリプトを書く。
if (time() > 1230735600) echo "あけおめ!";
質問です 記号であるの ”[” と ”]” をそれぞれ ”<” ”>”に置換したいんですけど、 $string="testA[ testB ]"; $patterns[0] = '/[/'; $patterns[1] = '/]/'; $replacements[0] = '<'; $replacements[1] = '>'; $replace = preg_replace($patterns, $replacements, $string); $tag = htmlspecialchars_decode($replace); echo '<pre>'.($tag).'</pre>'; testA<testB>とは出力されずに Warning: preg_replace() [function.preg-replace]: Compilation failed: missing terminating ] for character class at offset 1 in ”ファイル” とだけ出力されます もっといい方法などあればよろしくお願いします
変化してしまったようなので訂正します $replacements[0] = '<';→&lt $replacements[1] = '>';→&gt 逆は出来た(イメージと違います・・・)んですが、どうしてもできません ちなみにソースはこれです $string=htmlspecialchars("testA<testB>"); $patterns[0] = '/&lt/'; $patterns[1] = '/&gt/'; $replacements[0] = '['; $replacements[1] = ']'; $string2 = preg_replace($patterns, $replacements, $string); $string3 = htmlspecialchars_decode($string2); echo '<pre>'.($string3).'</pre>'; 出力結果:testA[;testB]; セミコロンがなぜか入っています・・・
>>612 そうはならんと思うぞ。
もう一回ソース確認して実行してみ
foreachでよく見るasってなんなんすか? foreach($list as $value)とforeach($list as $key=>$value)でしか使われない?
>>614 foreach文は配列等のデータの集まりに対して使うループ文であって
そういうもんだと思えばいい
言語によってさまざまだがPHPはasを採用してるだけ
多くの言語はinなんだけどな
>>614 public <php>void kusakabe("as");
年寄りネタはもういいよ
PHP4で書かれたメールフォームをPHP5のサーバーにアップしたら動きません なんとか動かせる様にメールフォームをいじりたいのですが全く意味不明です。 こんな意味不明な質問を解決へと導いて下さる方をお待ちしてます
PHP4で書かれたメールフォーム がどんなソースかも分からないのに 何をどうこたえろと。
変更点見てソースを修正すれば動くよ、としか・・・ マジレスするとPHP5のメールフォーム探してきて設置すれば?
>620>621 ありがとうございます。 まぁどうしろって言うんだ!ってのは分かるんですが、わからなすぎて 何をどう説明すればいいのやら・・・・って感じなんです。 ajaxmailとか言うネットで見つけたかっちょええぇ奴を使っていたんですが 5のサーバーで動かなくてなんか簡単な方法とかないのかなあぁと思ったんです。 自分でも開いてみたりしたのですが全く意味不明でして、メールフォームだけじゃなくて ajaxが絡んでるんでフォームだけ変えるわけにもいかないような・・・・・ 出来れば助け舟だして頂けるとありがたいです。 PHP5のフォームはあるのですが出来れば現在の物を使いたいのです。
エラーは出ないの? ログは? だいたい、症状も書かずに、動きませんって・・・釣り?
>623 いやー釣りじゃないんですけどね・・・・ エラーでないんですよね。真っ白になりますね 初心者すぎてログとかわかりません。 アパッチで動かした時はphp.iniをいじりまくってたら 何とか文字化けしながら動いてたんですが、 サーバーのphp.iniは触れないそうで、動かずに 真白になるんですよ。
サーバーのログは見れんの? だったら、そこら中に、 error_reporting(E_STRICT); ini_set("display_errors", 1); してみたら?
どこのスレにもいるんだな。 初心者が免罪符になるとおもってるやつが。
>625 ちょっとマジでわからないんで勉強してからまた来ます。 ありがとうございました! >626 初心者歓迎って書いてあったんで免罪符になると思ってる んですけど。 まぁ悪かったな!
お前の場合初心者じゃなくて情報乞食だろ
いくらなんでも初心者すぎる パソコン買ったのにインターネットにつながらないんですけど・・・ って言ってるレベル
ロリポップを使うときSQLインジェクション対策しなくても良いと聞きました
どうしてだよ。
自動的に髭おじさんが文字コードエスケープ処理をしてくれるみたいです。
php を使ってpdfを出力する場合には、MBFPDFを使うという事はわかったのですが .NETのCrystal Reportみたく感覚的に画面をデザインする方法とかはありますか? 値の入出力なら出来るのですが罫線を引いたりする方法が分かりません。
634 :
nobodyさん :2008/12/27(土) 20:12:18 ID:HuO0vYHm
635 :
nobodyさん :2008/12/27(土) 20:13:50 ID:/RdEgEUV
質問させてください. CGIで「アプレットを表示させるHTML」を出力させたいと思っています. 流れのイメージとしては, ユーザがCGIにアクセス⇒CGIがアプレットタグを持つHTMLを出力 ⇒ユーザ側のブラウザがHTML解釈してclassファイルを要求⇒表示 という感じです. CGIの設置と出力はうまくいくのですが,アプレットが表示されません. アプレットが起動したことを示すフラッシュのようなものも表示されないです. サーバ側でリクエストを見たところ,アプレットのクラスファイルのリクエストがクライアントから来てないようです. CGIが出力するものと全く同じHTMLファイルをサーバにおいて,そこにアクセスする限りはアプレットは表示されます. codebaseをCGI-BINとは別の所に設定して,CGI解釈されないようにはしてあります. 解決策ありましたら宜しくお願いします.
636 :
633 :2008/12/28(日) 00:14:41 ID:???
>>634 そのHPに記載されているのは直線(罫線)を引く場合に、
プログラムから線を引く命令を書く為の文法ですよね?
なんとかActive Report や Crystal Report みたくGUIでデザインをする事は
出来ませんか?(する方法はありませんか?)
あまり帳票のレイアウトをいじる為にプログラムをいじりたくはないです。
VSのデザイナ画面みたいなのがphpにあれば良いんですけどやっぱり無いですかね?
637 :
nobodyさん :2008/12/28(日) 00:48:58 ID:ye4GPpuG
ないと思われます。
ゆとり乙
PHPでLinuxユーザーのUIDやGIDを取得する方法はありますか?
未実装
echo `id root`;
これまでASP.NETで主にWEB開発を行って来たのですが、 PHPの生産性がどうしても低く感じてしまうのは私だけでしょうか? もっともPHPを始めて触るという事での遅さもあるかもしれませんが、 他に何か開発の生産性を高めてくれるお勧めな開発環境とかってありますか? 現在私は、SAKURAエディタのみで開発しています。
低く感じる点とは具体的には?
↑ ・画面をデザインする場合にいちいちスタイルーシートを手動でいじらなくちゃならない。 ・phpスクリプトの特定部分をコメントアウトしたい場合、VSなら範囲選択し「コメントアウト」を クリックするだけで出来るのにそれが出来ない。いちいち//を手入力する必要がある。 ・画面をデザインする時に直感的にマウスのドラッグで出来ない。 ・コード部分とデザイン部分がASP.netと違って混在している。 ※requireを使ってもやはり汚い。
これまでASP.netを使っていたのに急遽phpに乗換えた理由としては、 唯一のphpの利点かと思うんですが、オープンソースという事もあり、 同一スペックのサーバをレンタルする場合には、phpの方が断然安いんですよね。 したがって、長期間のサイトを運営する事を考えればphpで構築した方が断然安上がりだと 思ったからです。
ASP.NETもろくにできないんじゃない? PHPにだってフレームワークぐらいあるんだよ?
だからそのphpを教えて頂戴。 ↑ リアルにあんあたよりASP.netはできるよ。
日本語はできないようだな
vs出身ならデルフィ For php ためしてみたら? おれはZend Studio for Eclipse
>>650 ちょとぐぐってみたけど
Delphi for PHP
かなり便利そうですね。
でもちょっと高いか。
とても.NETやってると思えない物言いだなw M$はゆとりを多く輩出させすぎだろ
ASP.netってそんなに素晴らしい代物だったのか 俺も手をだしてみようかな??
応用がきくからJavaにしときな C#自体いいとこどりのJavaの真似みたいなもんだし オブジェクトPHPもJavaの真似だから JavaさえできればC#、PHPは楽勝 あとはフレームワークの概要とかわかれば.NETなんて楽勝
でも言語ごとのコツというかノウハウ的なものはあるよね
657 :
あき :2009/01/02(金) 23:40:59 ID:zrJixHiC
だれか教えてください。。。 IDってコロコロかわるの?
658 :
nobodyさん :2009/01/03(土) 09:07:16 ID:lIiKFJyM
659 :
nobodyさん :2009/01/03(土) 11:53:10 ID:3JtBm/F4
HTMLであらかじめ作っておいたテキストエリアに、 DBから読込んだ文字列を表示させることが出来ますか? 読込んだ際に、新たにそれ専用のフォームを作るのではありません。 知り合いが悩んでいたので、代筆ですが自分も悩み始めてます。 どうかアドバイスお願いします。
echo '<textarea>' . $text . '</textarea>';
>>659 DBはまだ早い。phpの基本の基本から勉強しましょう。
662 :
659 :2009/01/03(土) 12:06:02 ID:???
>>660 このecho〜とか使うといい感じですか?
初心なので、あまりよくechoとか判らないので、
サンプルとかあると嬉しいです。
>>662 はぁ?上にサンプルそのまま書いてくれてるだろ・・・・
まさかまるごと書けと?
664 :
659 :2009/01/03(土) 12:09:27 ID:???
>>661 PHPを使って、日付などで昔のデータを取り出して、
固定された大きな枠の中にその都度表示させたり、
その表示させた文章も別の処から、追記や変更をさせたいのですが、
PHPとかで作れますか?
PHP + SQliteでできる
うん
SQLiteなんて微妙なもん薦めんなよ・・・
サンプルコード1 <?php $text="aaa"; echo '<textarea>' . $text . '</textarea>'; ?>
669 :
659 :2009/01/03(土) 12:14:47 ID:???
>>663 ありがとうございます。
入力と出力も同じエリアに表示させたいのです。
>>667 でも自分が借りているレンタルサーバーは
SQLite用のドライバしか入っていないんだよ
(PDOを使って接続する場合)
そりゃレンタル鯖が糞
<textarea> <?php $text="aaa"; echo $text ; ?> </textarea> よく考えたらこっちのコードのほうがいいな
どういう点でいいの?
やっぱり生産性だと完全に ASP.net だけど 運用費用を考えるとやっぱり phpにグンパイがあがるね。
676 :
659 :2009/01/03(土) 12:28:57 ID:???
>>673 ありがとうございます。
複数のテキストエリアがあるとして、
その内の特定のテキストエリアに、入出力させることが可能ですか?
その場合何かの識別子は必要ですか。
素人ですみません><
特定のテキストエリア内に表示すればいいじゃん
>>676 <textarea>
<?php
$text="aaa";
echo $text ;
?>
</textarea>
<br>
<textarea>
</textarea>
<br>
<textarea>
</textarea>
こういうことかな?
679 :
659 :2009/01/03(土) 12:34:54 ID:???
>>677 ありがとうです。
知り合いが用事で出かけたので、
読ませてあげれるのが2・3時間後になります。
戻ってきたら目をかっぽじって読ませようと思います。
680 :
659 :2009/01/03(土) 12:38:01 ID:???
>>678 自分代理なので、朝ごはんと墓参りに出かけた奴が戻ってきたら、
渇を入れて見せようと思います。
ほんとにありがとです。
おれもこんな風に尽くしてくれる家来が欲しいなぁ。。
この調子でいくと全コードを書くことになるぞw どんな感じに完成するのか楽しみだ
phpってキャストとかしてなくても大丈夫なのですか? キャストを行わずに数字を格納した変数をj、SQL変数(文字列)に組込み 実行する事が出来たのですが。 ※Convert.ToString(変数)
何その米印は?
↑ 趣味です。 phpって言語的にこんなに曖昧なのですか? C# / C++ とかだと厳密にキャストが要求されるのですが。
C#って型宣言必須?
PG経験のないバカでも使えるPHP C経験があってもバカじゃ使いこなせないPHP
次の@・Aとで取得される値が異なるのはなぜですか? 両方ともホストアドレスが取得できるはずなのにAでは値の取得が出来ません。 @gethostbyaddr ( getenv("REMOTE_ADDR")) Agetenv("REMOTE_HOST")
>>690 C# と C++ と C の違いを勉強してからほざけよ。バカ。
>>692 まず日本語言語を正しく習得することから始めろ
>>692 当然だけど型変換もできるからとくに問題はないよ
>>691 サーバーでセットしてないからだろ。
環境変数が全部使えるとは限らない。
素朴な疑問なのですがphpで自分専用のライブラリを作ろうと思っているのですが (Windowsで言うところの*.dll的な) 呼び出し側でそのライブラリを呼び出して使用する場合には static で定義して おいた方が便利な気がするので全てstaticを使用しています。 インスタンス化した上でメソッドを呼び出すのと、staticを指定して直接呼び出す のとではどちらの方が良いのでしょうか?
基本を勉強しなおして、自分のシステムに合った方法を使えばいい。 実際、状況による。
phpで定義したfunction内でboolean値を呼び出し元に返すと return true の場合だと「1」が取得されるのですが return false の場合だと「」(空文字)が結果として返って来てしまいます。 純粋な真偽の結果(true or false)だけが欲しいのですがどうすれば良いでしょうか? print("戻値:".Class::StringCheck("aaa")."<br>"); print("戻値:".Class::StringCheck("")."<br>"); public static function StringCheck($strCheck) { $intLength = 0; $intLength = mb_strlen(trim($strCheck),"SJIS"); if( $intLength == 0 ) { return false; } else if( $intLength > 0) { return true; } }
>>698 php関係ないな
ライブラリ作るポリシーにもよるとは思うが、
状態を保持する場合はインスタンス化前提でつくる。
一発で呼んで完結する関数は、static化だろうか。
maxdb_connect は、pearをインストールしないと使用できない関数なのでしょうか?
>>703 ありがとうございます。参考にさせて頂きます。
私が使用としているのはチェック処理様のライブラリなのでstaticで作成しようと思います。
因みに、phpではscope等の指定はしなくても良いのでしょうか?
phpの学習用HPを見ると大抵のサイトでscopeを端折っています。
public
private
…etc
それscopeでないしクラス使わないなら関係ない
>>705 スコープじゃなくてアクセス就職しのことかな?
ネットのサイトはphp4のころの情報が多いからそうなっとるんだと思うよ
>>706 クラスは使うつもりです。
>>707 なるほどwphp5から本格的にオブジェクト指向を取り入れた言語仕様になったんですね。
納得です。
>>700 prinitじゃなくて、var_dumpしてみ。
> それscopeでないしクラス使わないなら関係ない 本来ならネームスペースかモジュール構造の仕組みがあればいいんだろうけど、 php5.3から入るんだっけ?
お前は何を言ってるんだ?
712 :
700 :2009/01/05(月) 00:59:04 ID:???
>>709 教えて頂いた様に var_dump を実行し出力したところなぜか次の様に出力されました。
やりたい事は、ただ単純に真偽を判定したいだけなのですがphpでfunctionの最後に
return true;
or
return false;
を記述した場合、functionの呼出元ではどう判断すれば良いのでしょうか?
※Dim bResult As Boolean
とかの変数の受け皿は無いのでしょうか?
string(11) "戻値:1
" string(10) "戻値:
"
$result_1 = CheckCommonDataClass::EmptyCheck("aaa");
$result_2 = CheckCommonDataClass::EmptyCheck("");
var_dump("戻値:".$result_1."<br>");
var_dump("戻値:".$result_2."<br>");
↑ ヒントをお願いします。頭の良い人。
var_dump($result_1); var_dump($result_2);
xamppを使ってApacheの「開始」をクリックしても一向にステータスが「起動」
にならないのですが一体何が原因でしょうか?
ただし、(起動にならない状態で)ブラウザから
http://localhost:85/test.phpには は正常にアクセス出来てphpスクリプトを実行する事が出来ます。
xamppの単なるバグなのでしょうか?
※ポートは85番に意図的に変更しています。
xamppを使うのをやめる
なんか俺もそんなことに陥ったことがあったな・・・ ポートが他とかぶってたりしたらそうなったような・・・ 何が原因でどうやって解決したかすっかり忘れてしまった
やはり、色々と試してみたんですけどxamppのバグっぽいです。 薄緑色の背景の上に「起動」となっているにも関わらず、隣のボタンの文字列が 「停止中」のままなんです。 それでも普通にブラウザからphpコードを実行させたり、といった事が出来てますので やはりxamppのバグだと思います。 頭のxamppプロジェクトに関わっているphpマスターの人に直してもらえると助かりますね。
これまでphpのコードを直に記述してプログラムを組んでいたのですが、 pearというphpのフレームワークに興味が沸いて来ました。 これまで一度もpearを使ったことが無いのですが、使い勝手・生産性とか は如何でしょうか? (導入した方が生産性が飛躍的にあがるのでしたら導入しようかと思っています。)
pearはフレームワークではない
>>722 俺のもそうなってるけど気にせず使ってた
726 :
nobodyさん :2009/01/07(水) 14:54:24 ID:QhpdWRm9
(導入した方が生産性が飛躍的にあがるのでしたら導入しようかと思っています。) 人とプロジェクトによる。 後 pearはフレームワークではない pearはフレームワークではない pearはフレームワークではない pearはフレームワークではない pearはフレームワークではない pearはフレームワークではない
727 :
モンピー77 :2009/01/07(水) 22:04:11 ID:YjsCZXwx
>>723 Webサイトつくる場合、例えばPager機能や、認証機能があったとして
Pear使って構築されていると他人が書いたソースでも分かりやすい。
>>727 どうやらpearの便利な機能というのは、認証機能+ページング機能だけなんですね。
レンタルサーバでpearをサポートしているところはあまり無いみたいなので
やはり通常のphpで開発をした方が良いと思いましたので今後は、
pearは導入せずに通常のphpで構築して行こうと思いました。
EclipseでPHPをつくるための IDEってEclipse PHP IDEってのがメジャーなのか? こいつは日本語対応してるの? PHPでMVC作るときは HTMLが書いてあるPHPにDBアクセスなどの処理をインクルード でよませるのが普通?
>>688 適当に説明すると
C++が..net対応して
VBみたいにフォームデザインが面がある
CMSをつくるのにメジャーなフレームワークってcake? DBアクセスとフォームのやり取りの処理が楽にできたりするのか?
何かを作るのにどのフレームワークがメジャーかなんて聞いてどうするんだよ 使いたいの使え フレームワークは土台でしかない
PEARってサーバーが対応してないとつかえないの?
実態はただのPHPだからPHPが使えれば使える
↑ またまたご冗談を
↑ 実態はフリーのPHPソースだからPHPが使えれば使える
↑ ふざけないで真面目に教えてください
↑ だれもふざけていない
↑ オマイラ面白いな
↑ ヌルポ
↑ガッ ここまで俺の自演。 ↓次の方どうぞ。
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヌルポにはガッ・・・ ヾ;;;ハ ノ .::!lリ;;r゛ `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゛: Y;;f. 俺にもありました ~''戈ヽ `二´ r'´:::. `!
ASP.netマンセーだったけど、phpでも色々と出来るんですね。 ちょっと見直しました。 あと、全くスレチかもしれないですがPHPの使えるレンタルサーバなら 幾らでもありますが、Javaの使えるレンタルサーバはありますか?
全くスレチ
同じメッセージを表示する場合には、次のうちどちらの方が一般的なのでしょうか? <?php $strMessage = "あいうえお"; ?> 方法@<br> <?= $strMessage ?> 方法A<br> <?php print("$strMessage"); ?>
<?php echo $strMessage; ?>
マルチ乙
<?= $strMessage ?> これだとなんも表示されないわけだが。
<?= ?>は設定に依存するクソだから選択肢としてありえない
>>749 んなことない。
>>750 ありがとございます。
やはり<?php ?>で囲むのが良い様ですね。
<?php echo $strMessage; ?>
if(isset($_GET['id']))
>>755 やりたい事はクエリストリングで指定された数値が有効範囲内である
かどうかの判定を行い、無効ならば別ページに飛ばそうと思っています。
本来のやり方としては mode_rewrite を使ってページを飛ばすべきところを
JavaScriptで飛ばすという方法はあまり良く無いのでしょうか?
また、JavaScriptで飛ばす方法と別ページに誘導する為のリンクをphpで生成して
出力するのとでは、どちらの方がSEO的には良いのでしょうか?
マルチ乙 スレチ乙
そもそもドメインが違ってればリクエストが辿り着かないと思うが
760 :
753 :2009/01/11(日) 13:41:37 ID:???
mod_rewriteを使わなくてもスマートにページ遷移を行う方法が 分かりましたのでクローズとさせて頂きます。 ありがとうございました。さようなら。
すれ違いかもしれませんが、次の点について質問させて下さい。 同じ機能のWEBサイトを作ると仮定します。 1.Java or PHP どちらで開発した方が(十分言語になれた状態で)開発をすると 生産性が高いですか? 2.完成したWEBサイトを、長期的にレンタルサーバを借りて運用するとした場合、 どちらの方が運用費用が安いですか? 3.仮にjavaでサーブレット等を利用したWEBシステムを作る場合実務(業務)では Eclipseを使って開発するところが殆どでしょうか? (通常のsakuraエディタ等だけを使用して開発をしているところは先ず無いですか?) 4.php と Java 両方得意な方に質問なのですがWEBサイトの構築言語のシェアは phpの方が断然多いと思いますがその理由は何でしょうか? 以上 宜しくお願い致します。
>>761 1.規模とやりたいことによる。 PHPでは満たせない開発案件もある。
2.インフラの話か?なら、ほぼ対等
3.Eclipseがほとんど
4.共用タイプのレンサバでもPHPはほとんど入ってるので、
低価格サイトはPHPになり、裾野が広い。
>>762 ありがとうございます。
ごく一部の機能を実装しようとした場合には、PHPだけでは実現が出来ないという
事が分かりましたが、大半の事はPHPで実現可能であり、しかも維持費用を考える
とPHPで構築した方が安くあがりそうですのでこれからはPHPをもっと突っ込んで勉強
して行こうと思います。
>>764 やっぱりJavaだと高いですね。
サクラインターネットとかだと月額125円とかでレンタル出来るしね。
phpとJavaどちらを突っ込んで勉強しようかと思ってましたが、
phpで行った方が良いと確信がもてました。
ありがとうございます。
さくらのPHPは500円だぞ しかもPDOのMySQLドライバは入っていないw
↑ Perlが125円なんだ。。。 phpだと500円。。。 javaだと1000円。。。 トータルするとやっぱりphpが一番いいのかもね。
Javaってどこで?
初心者のくだらない質問で申し訳ないのですが 演算子 "=&" の意味が今ひとつ理解できずにいます。 ググろうにも該当するサイトが少なく困っています。 この演算子に関する解説が掲載されていサイトなどでも結構なので どなたかご教授頂けませんでしょうか。
該当するサイトが少ない? なんてワードでググったの?(php 参照 とか) とりあえず、公式マニュアル読むべきだと思うが。
>>770 ぐぐれ
つか、慣れて来るとphpよりもIDE(Eclipse)がある分Javaの方が生産性が高くて良いね。
>>ななし 知らんかったぁ
ログテクストの一部を抜き出して表示する際 全行を一度に表示するのではなく一部づつ表示するにはどうすればいいのかな 30行抜き出して5行表示して残りは「次の5個」とか表示したいのだけど。
配列を5個だけ切り出せば?
レスありがとう。 5個だけとりだしてるのですが、「次の5個」でリンクしても前後の行がつながらなくて。
ページと切り取る箇所を対応させればいいじゃん
>>771 &= じゃなくて?
$a &= $b
↑同じ意味↓
$a = $a & $b
違ったらスマソ
>>781 うける。
でも、フラグ管理で、|とか&を使いこなせてない人は多いよな。
ちげーよボケw
=& って演算子はないよな。 $foo = &$bar; っていうアドレス渡しが理解できないっていう質問なのかな・・・
これって演算子って言うの? アドレスも参照も意味同じだろ。参照って格納アドレスを参照してるわけだし。 ポインタも一緒かな。
789 :
nobodyさん :2009/01/15(木) 07:54:28 ID:9rDoI4vf
見苦しいけどおもろいなw
PHPの勉強に励んでいるものです。いま疑問があるのでここに着ました。 phpでGUIが作りたいんですけどスケルトンの作り方がわかりません おしえてください
htmlのフォームからtypeがtextだったときの値を、phpで受け取って表示したときに $_POST使ったんだけども、この受け取った値を文字型にするにはどうしたらいい? textフォームに<font color="#ffffff"></font>みたいに書いて送信したときに <font 〜〜>の部分を文字じゃなくて、htmlのタグとして受け取ってしまう。 strval()っていうので$_POSTしてみたんだけどやっぱりタグになってしまった。 何かうまい方法教えてくれ よろしくおねがいします
793 :
791 :2009/01/15(木) 19:20:42 ID:???
なんとかstrip_tags()で外部からのhtmlはエスケープできた もうこれでいいんだけど、そのhtmlタグもあえて文字として表示できないものか
794 :
a<a :2009/01/15(木) 19:24:13 ID:???
>>793 $t="<p>てst</p>";
$s=array("<",">");
$r=array("<",">");
strtr($s,$r,$t);
>>793 >>793 $t="<p>てst</p>";
$s=array("<",">");
$r=array("&lt;","&gt;");
strtr($s,$r,$t);
796 :
791 :2009/01/15(木) 19:36:45 ID:???
意味がわからんが、タグをエスケープしたいということか? だったら、htmlspecialcharsを使うべき。
htmlspecialcharsでエスケープ(笑)
いまどきhtmlsp(ryに頼るような奴がまだいるんだな 高木先生に怒られてこいや
じゃあ何に頼ればいいんだよ
ここでTAKUIのひとりになることがこわかったの出番ですね
質問させてください。 最近PHPの勉強を始めて名前とコメントを入力できるだけの簡単なBBSを作りました。 名前のチェックをして名前欄が空白の時は「ななしさん」と表示させることは出来たのですが、 管理人が書き込んだとき、名前欄に「○○管理人」と入力すると後方一致で管理人の名前が赤くなるようにしたいのです。 名前欄の文字を$nameにするとして、 if($name=="") {$name = "ななしさん";} elseif(ereg('管理人$', '$name')) {$name = "<font color=RED>$name</font>";} こんな感じで書いてみて確認のための書き込みをしてみたのですが名前が赤くなりません。 どうやったら色が変わるようになるのか教えていただきたいです。よろしくおねがいします。
誰でも管理人名乗れるけどいいの?
eregでマッチしてない件
806 :
803 :2009/01/16(金) 15:25:51 ID:???
>>804 友達との間で使おうと思っていて、「管理人」をつければ色が変わるというのをバラさなければ分からないと思うので・・・
>>805 2行目のとこで ereg('管理人$', '$name') は$nameの最後が管理人でおわってるかどうか
という判断ができるかと思ったのですが書き方間違ってますか?
strposでok
>>806 シングルクォートで括ると変数は展開されないからダブルで。
つーか、クォートいらねw
ereg('管理人$', $name)
810 :
803 :2009/01/16(金) 15:56:17 ID:???
うわあああ!ありがとうございます!
試してみたらできました!!
変数にクォートいらいない・・・メモっておきました。
>>807 初めて見ました、strpos
使い方ぐぐって次に何か使えそうなら使ってみます。
sessionを使ったときにブラウザーに保存されるクッキーログですが ログを消す方法はないのでしょうか?
クッキー消せば?
セッション使ったらcookieを食べさせられるってことも知らないのか
セッションのクッキーってテンポラリーじゃなかった? ブラウザ閉じれば消えるクッキーかと
クッキーのプログラム組んでるとき、 いちいちブラウザのオプションメニューとか 開いて、本当にセットされてるかどうか、 確認するのメンドイよな。 もっと、デカデカな画面で 表示してくれる、ちょっとしたアプリないのか?
ID:cpRhXZRJ乙
>>815 webdebeloppa~~~~~~~
windows2000 php5.2.6 go-pear.pharがインストールできねぇ コマンドプロンプトでgo-pear.phar実行したけど ファイルを開くアプリケーションの選択の画面が出てくる。 これ普通にgo-pear.pharをダブルクリックしたときと一緒ぽいんだけど、 どっかのサイトにphp -q みたいなのをしてたけど、php -qは使えないってコマンドプロンプトに言われた とりあえずここから先にすすめね 何か特別なコマンドをしないといけないのでしょうか 助けてください よろしくお願いします
phpで実行しろ
d、でもよくわからなかったからgo-pear.bat拾ってきて実行したらできた。 結局ほしかったHTTP_requestのやつが出てこなかったからpearのホムペいって拾ってきて入れた。 あとNetのSocket.phpが欲しいんだけどpearのパッケージ全部はちゃんとみてないけどみつけられなかった と思ってこれを書き込みしながらもホムペ見渡してたらsearchがあってそこで検索したらでてきました お騒がせしました
821 :
nobodyさん :2009/01/17(土) 04:06:08 ID:GpHgBk+3
>>815 開発中(デバッグ中)は全画面で
全クッキーを表示するようにプログラム組めば桶。
822 :
nobodyさん :2009/01/17(土) 07:14:38 ID:GpHgBk+3
PHP5ではオブジェクトの代入のとき、参照渡しになるらしいけど それはつまり$aがオブジェクト(インスタンス)のとき $b = $a; $b =& $a; この2つはPHP5では同じ意味ってことですか?(PHP4では意味違うけど)
>>822 違う。
マニュアル読んで、それでもわからなかったら質問しーや
>>819 指図するな!!!!!!!!!!!!!!!!!!!!!!!
>>814 残すようにも出来る
>>813 セッションクッキーといわゆる「クッキー」とを一緒にしないように
>>811 ブラウザのログ消せばいい
>>806 ,808
正規表現でereg()は使わない。
使うならpreg_match()。マルチバイトならmb_ereg()も視野に入れる。
正規表現要らないのならstrpos()。
マルチバイト対応の必要があるのならmb_strpos()
もう解決してるけど
>>825 はプライドが高そうだからスルーでおk
プライドが高いっつか虚栄心を満たしたいんだろ
>>825 >ブラウザのログ消せばいい
その方法をphpでどう書くのかをきいてんだろ。馬鹿じゃねーの?
わからねーんだったらレスしねーで見てるだけにしろよ。キチガイ。
>>829 それが出来たらセキュリティも糞もないわな
寝言は寝てから言えカス
>>830 だから・・・わからねーのなら偉そうにレスしなくていいだろう・・・・・
馬鹿じゃねーのか?
formでpostした内容をログと照合しpost内容がログにあればその結果を表示、 無ければpostする時点のページを再表示したいのですが、どう書けばいいのでしょうか。 そもそも1ファイルですますなら、 formの部分は全体のどこへ置くのが理想なんでしょう。
http://jp2.php.net/manual/ja/function.preg-match-all.php $matches[0] はパターン全体にマッチした文字列の配列、 $matches[1] は第 1 のキャプチャ用サブパターンにマッチした文字列の配列、 といった順番となります。
<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
"<b>example: </b><div align=left>this is a test</div>",
$out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>
上の例の出力は以下となります。
<b>example: </b>, <div align=left>this is a test</div>
example: , this is a test
>>832 strpos使う
最初のうちは1ファイルで済まさないほうがいいと思うよ?
あと
>>1 な
835 :
833 :2009/01/17(土) 16:07:55 ID:???
>>833 >第 1 のキャプチャ用サブパターンにマッチした文字列の配列
この、『第 1 のキャプチャ用サブパターン』とはどういう意味ですか?
>>834 なるほど便利そうなものがあるんですね。
逆に最初は1つのファイルで作ったほうがいいのかと思っていました。
strpos を含めいろいろ試してみます。
>>1 了解です。
レスありがとうございました。
837 :
nobodyさん :2009/01/17(土) 16:37:39 ID:f7vu9BvG
ネットショップで管理画面から項目を入力できます。普通にいれたら"テキスト"なんでimageをいれたいです。どうすればいいですか?
タグ入れれば?
839 :
nobodyさん :2009/01/17(土) 16:51:36 ID:f7vu9BvG
ありがとうございます。タグ入れたらできますよね!
すみません。 $this->error とかの->とはどういう意味なんでしょう。
マニュアルに書いてある
質問スレで質問してマニュアル読めとかなんの為のスレなんだか・・・・・ 次すれからもうここは廃止しろよ。
session_start(); をPOSTがされていない時もしくはログインしていないときにはsessionを使わないようにした if($_SERVER["REQUEST_METHOD"] == "POST" || $_SESSION['login']){ session_start(); } としたのですがうまくいきません。何か方法はないでしょうか?
ifの中でセッション開始してるんじゃね?
PHP入門者です。 PHPの仕事がしたいのですが、どんな試験に合格すればPHPの仕事が来ますか?
年齢にもよるけど資格とかいらないので面接行ってください
>>847 どうもです。
年齢が54才だから、とりあえず資格が欲しいんだけど、そもそもPHPの資格試験なんてないんでしょうか?
マルチすんな
>>848 マルチ乙、ネタ乙
が、Zendが試験やってるよ。簡単すぎて話にならんけど
↑ 仮に資格を取ったとしても取っただけの奴に仕事なんて発注するか。 普通に考えれば分かるだろーが。
じゃあ、 ・Zendの資格を取る あと、どうすれば仕事がもらえるかな? この年齢だから、どこかの事務所に潜り込むのは無理だと思うけど。
どうもこうも潜り込めなきゃ個人で取るしかないだろう。 いくらなんでも遅すぎるよ。
234 nobodyさん 2009/01/17(土) 23:51:38 ID:Bf8FDb6Y PHP入門者です。 PHPの仕事がしたいのですが、どんな試験に合格すればPHPの仕事が来ますか? 本当にいましたねw
年齢のせいでも資格のせいでもない。
>>853 みたいな粘着質問するやつに未来はない
まあいいや、phpでサイト作ってサイトそのもので稼ぐから。
無理だろうけどがんばって、無駄な日々をお過ごしください。
↑ 好きにしろ。じじい
ワシはお前らと違って想像力があるからな。 儲かりそうなサイトのアイディアが色々と湧くんじゃよ。 ただ、プロのプログラマの仕事を一応、見ておきたい、という気持があるからね。 ある程度見通しが付いたらお前らに仕事を回してやるよ。
いままでプログラムしたことあるの?
で、儲かりそうなサイトのPHPのプログラムを外注した場合、 そのアイディアを資本力のある所に盗られて先にやられちゃう、って危険があるじゃない。 その辺は皆さんどうやってるんだろーね?
$str = "<script>alert("hello");</script>" $str2 = htmlentities($str, ENT_QUOTES, mb_internal_encoding()); したときに「(」と「)」が変換されずそのままになってしまいます。 何かオプションとか間違っているのでしょうか? (後から「(」「)」だけ変換すればいい、というのもありますが・・・)
>>864 自分、もしくは自社で組めば?
あるいは知的財産権およびNDAおよび契約書で
固めるしかない。
>>867 > あるいは知的財産権およびNDAおよび契約書で
> 固めるしかない。
どうもです。
>>866 <?php
var_dump(get_html_translation_table (HTML_ENTITIES));
?>
これでhtmlentitiesが変換する文字の一覧が表示されるけど、
左パーレン、および右パーレンは変換されないのでは?
>>868 ちなみにNDAの契約書を書ける弁護士は東京にしかいない。
だから地方在住者は東京に移動したほうがいい。
871 :
866 :2009/01/18(日) 03:34:14 ID:???
>>869 さん
ありがとうございます。
( ) の変換はできないようです。
私の勘違いでした。
申し訳ないです。
Eclipseに導入したPDTよりPHP Scriptを実行しようとすると 次のエラーが出k手しまいます。一体何が原因なので でしょか? 【PHPソース】 <?php $strMessage = "あいうえお"; print ($strMessage) ; ?> 【エラー】 Error running PHP executable Cannot run program "C:\php" (in directory "C:\Documents and Setting\ ゲスト用のユーザ\workspace\PHP_Eclipse") CreateProcess error=5 【PHP executables】 Debugger Type Zend Debugger Location C:\php
Cannot run program "C:\php"ということ
>>873 次の階層にphpソースを配置してブラウザからphpスクリプトの実行確認は出来ているのですが
なぜEclipse PHPからだと「C:\php」で実行する事が出来ないのでしょか?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
>>872 ここで実行できるようにhttpd.confで設定されてるから。
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
c:\phpはディレクトリとして認識されてないから。
eclipseの問題じゃない
876 :
872 :2009/01/18(日) 13:46:55 ID:???
自分なりに怪しいと思う箇所を調べていたところphp serverの設定を
行っていない事が原因かと思いました。
私が参考にしているサイトでは、
http://journal.mycom.co.jp/column/ide/006/index.html Eclipseのメニューから
「Window」→「Preferences」→PHP→PHP Server
と選択しその中でPHPを実行する為のサーバの設定を行うとの事なのですが、
そもそもWindwos上に 「 Preferences 」なる文字列自体が存在しません。
一体どこからPHP Serverの設定をすれば良いのでしょうか?
Eclipseのバージョン
Eclipse Platform
Version: 3.4.1
Build id: M20080911-1700
877 :
872 :2009/01/18(日) 13:50:59 ID:???
>>875 httpd.confを見ると確かに設定していました。
>DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
しかし、どうしてもEclipse(PDT)からPHPソースを実行する事が出来ません。
一体どの様にすればPHPスクリプトを実行する事が出来る様になるのでしょうか?
※テキストエディタでちまちまスクリプトを修正するのは手間がかかる(メンドクサイ)ので、
PDTから作業をしたいです。
PDTのほうがめんどくさくない? どんなところがいいの?
879 :
872 :2009/01/18(日) 14:49:06 ID:???
コード補完機能が使えたりして非常に便利。 ってかEclipseでPDTが実行出来ないのはなぜでしょうか? かなり困っています。
コード補完機能なんか使ってると頭悪くなりそう
>>877 eclipesでphpの実行パス合ってるか確認城や
883 :
872 :2009/01/18(日) 15:16:24 ID:???
>>882 大変厚かましいお願いだとは思いますが、まったく原因が分からないのでEclipse上から実行パスの
確認をするにはどうすれば良いかご教授下さい。
自分としては、以下の設定を行ったのでEclipseから見たPHPの実行パスは
C:\php
になっていると思うのですが。
【PHP executables】
Debugger Type
Zend Debugger
Location
C:\php
Zend Debugger はインストールしてあんの?
>ゲスト用のユーザ
phpとか直接関係ないですが、FORMを送信して受け取ったページでブラウザーのリロードをすると「再送信しますか?」と表示されますがこれをしないように出来ないでしょうか? リロード対策はしてあって再度値が送られる事はないのですが、この「再送信しますか?」などのメッセージが出ないFORM送信前のページのような振る舞い?にしたいのですが。 何か方法ないでしょうか?
さらせ
>>886 セキュリティのためにでるから消すのはだめだろ
それはブラウザの問題だろ POSTじゃなくてGETにしろ
できないことはないけど方法は書かない
きもい
session_name(abc); session_start(); としてあるとき if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time() - 42000, '/'); } はsession_name()とsession_name(abc)どちらにすればいいのかな?
>>892 は質問なのかそうでないのかわからないや
言動はちゃんとしてないとわからないや
既にセット済みだから前者でいい
【PHP】 ID不要質問スレ 02 【入門、初心者歓迎】 次のスレタイはこれでいかない?
つか乱立しすぎだから立てなくていい
いんや?
じゃあ、リンクはってみ。
自分で調べろカス
じゃあ、このスレの次スレも立てよう。
質問スレは複数あった方が便利。
重複なので削除依頼出しておきますね
すげー昔もくだ質と質問スレとわかれてたな
掲示板などで書き込みしない人でも、クッキーが保存されるのは見る側として気持ち悪いものなのかな? プログラム上セッションを使いたいのでログインしない(書き込みしない)でもアクセスすればクッキーが保存されてしまうんだけど。 セッションってオンオフできればいいんだけど。オンオフってないですよね?
はい?お前は何を言ってるんだ?
アクセスしたときにクッキー食わせるのもいいが 2ちゃんみたいに書き込むときに食わせるのもいい
よく言うよセッションの使い方も分からない低脳のくせして
>>908 =
>>911 低能って言葉は君がお似合いですね
何もしらないくせにwwwwwwwwwwwwwwwww
口だけなら何とでも言えるんだよクソガキw
>>844 で質問したザコは
>>845 で答えが出てるのに意味が分からず
>>907 みたいに
同じ質問を繰り返すってわけかw
んで、
>>909 が答えだしてんのに絡んで荒すわけだな。
どうしようもねぇクソガキwだな
>>913 グレイト級バカ乙
答えなんてでてねえだろww
あ、おまえじゃ答えられないもんなww
くやしいのwwくやしいのうwうぇっうぇwww
またいつもの基地外か
>>914 釣りでバカのフリしてんのかと思ったら、天然かよ
そのページからググって15秒で見つけられたぞ
919 :
nobodyさん :2009/01/22(木) 05:53:12 ID:RrSlW4/z
AutoIndex PHP Scriptのように、 Indexを少しでも美しく扱えるスクリプト (かつ日本語ファイル名が正しく表示できるもの) ご存じないでしょうか?
phpで50Mのファイルをアップロードしようと思って スクリプトを組んだんだけど、4Mのファイルをアップロードしようとするとエラーが発生してしまいます。 一体なぜですか? 【php.iniの設定内容】 memory_limit = 300M max_execution_time = 300 post_max_size = 500M
バロス(笑) memory_limit = 300M memory_limit = 300M memory_limit = 300M memory_limit = 300M memory_limit = 300M memory_limit = 300M memory_limit = 300M memory_limit = 300M
SimpleXML関数で出力するときに foreachではなくforを使いたいんですが どうしたらいいですか?
なんで?
複数要素は[0]とか[1]とか数字の添え字が付いてるでしょ
できました。
できたなら解決した方法を書けよ
rdfってSimpleXML関数で処理できる?
すごい初歩的なことかも知れないけど・・ <?= "てすと" ?> でphp実行すると、 てすと って表示されるんだけど これは<? print $msg; ?>やechoと同じ意? それともprintやecho関係なく<?= "文字" ?>単独で、 文字が表示できるみたいなルールがあるの?
short_open_tag
short_open_tagを調べろ
>このディレクティブは、<? echo と同じ形式の ショートカット<?= なるほど、ショートカットで、<? ?>もphp.iniで設定できるんですね 勉強になりました ありがとうございました
xml使うときにトラブルから 非推奨じゃなかったっけ?
date_default_timezone_set('Japan'); $times = date(H,time())*3600 + date(i,time())*60 + date(s,time()); のような、24時間制として今の総秒を取得できるような文を もっと短く書くことはできないでしょうか
date_default_timezone_set('Japan'); これ書くのがいやならtime()でやればいいんじゃないかな 数学が得意ならmath関数や数式を駆使すればうまいことできるんじゃない? 自分は苦手だから time() + 32400(GMT+9:00が日本時間)と86400(1日の秒)を割って 出てきた数値の小数点以下0.xxxxを86400とかけるなんてのしか思いつかないけど 結果的にコードが長くなるような感じもする っていうかコードの長さは気にしなくてもいいと思うけど
>>937 なるほど、結構アバウトでも秒が欲しかったので、
参考にしながら一応このままやってみようと思います
ありがとうございました
time() - strtotime('today') こんな感じのはどうだろう。
>>939 それでできました ありがとうございます
strtotimeですか
勉強になりました
君が勉強になったのなら礼はいいってことよ
ログアウトで $_SESSION = array(); if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time() - 42000, '/'); } session_destroy(); とすればちゃんとsessionも切れログアウト状態になるんですが、消したくないsessionがある場合、 何かいい方法ないでしょうか? unsetで消したいsessionを1つづつ消す以外の方法で。 ログイン前・中・ログアウト後 とサイトの状態維持を持続したいのですが。
クッキーにパス残しとけばいいじゅん
なんだよマルチかよ
m9(^Д^)プギャー
ここのスレってキチガイしかいねーのか。 他所できくわ。
他所へ行ってもいっしょ。 お前さんから見れば、世界中のやつがキチガイだよ。それって(ry
もっと条件追加してやろうってなって、気がつくとifで埋め尽くされてしまうんだけど その条件はほぼ必修だし、ifばっかりなのも仕方ないけど、なにかイライラする
つChain of Responsibilityパターン
広くキャンバス作って貼り付ければいいじゃん
>>951 なるほど!どうもです!それでいくことにします!
特殊文字を全て除去するにはどうしたらいいでしょうか? htmlspecialchars()などで変換はできるのですが完全除去はできませんでしょうか?
正規表現で置換すればいいだろ
特殊文字の置換に正規表現(笑)
PHPからカレントディレクトリにあるファイル一覧を出力し、特定の条件に合致した ファイルをWEBページに一覧表示したいと思います。 例) Test.phpファイルが */httdocs/test/Test.php にあるとします。そしてカレントディレクトリの中にあるファイルのうち拡張子が***.xlsである ファイル一覧を取得し、WEBページに表示し画面上のリックをクリックすると、 そのファイルをダウンロード出来る様にしようと思っているのですが どの様にしてPHPからファイル一覧を取得する事が出来るでしょうか? */httdocs/test/ hoge1.xls hoge2.xls hoge3.xls hoge4.xls hoge5.xls
glob
>>954 特殊文字が
>>954 的に何を指してるのかは知らないけど、
$del = array('<', '>', '"', "'", '&'); // 消したい文字
echo str_replace($del, '', $str);
だけだと思うが。
961 :
920 :2009/01/27(火) 00:29:39 ID:???
>>921 遅くなりましたがお陰様で大容量のファイルのアップロードを行う事が出来る様になりました。
ありがとうございます。
>>957 DirectoryIteratorを使う
ereg("[0-9]+",$a) で、$a = abcdならfalse、$a = 1234なら、true $a = 123dならtrueになっちゃうんだけど、 とりあえず、eregで半角数字以外のものだったらfalseにするには どうしたらいいのか教えてください
^で、先頭マッチ $で、末尾マッチ
>>964 ereg("^$[0-9]+",$a)で、なんとかできました
ありがとうございます
>>965 ありがとうございます使わせていただきます
それ入れればいいじゃん
windows + apache2.2 + php5でGDを使いたいのですができません。 dosからphpinfoするとgdが入っているのにlocalhost経由で見るとgdが出ないようです。 原因がわからないのでどなたか助けてくださいm(_ _)m
971 :
970 :2009/01/27(火) 16:09:25 ID:???
追記します。 C:\windowsのphp.iniをわざとエラーがでるように変えたのですが コマンドラインはエラーに localhost経由だと通常に表示されるようです。(再起動しました) apacheがphp.iniを読んでないんでしょうか?
自分で確認しろや
>>972 なんだ、そのものの言い方は
ちったー反省しろ ボケが
index.phpにあるインラインフレームにirf.phpで生成した test.php?p=0とかtest.php?p=1 みたいなurlに飛ぶときに、target指定で飛びたいんだけど なぜか何やってもindex.phpに上書き?というかindex.phpが表示されている画面に飛ばされてしまうのですが どうにかならないでしょうか
index.phpにあるインラインフレームにirf.phpで生成した ↑ 訂正 index.phpのインラインフレームにある、irf.phpで生成した
978 :
977 :2009/01/28(水) 03:47:46 ID:???
自己解決しました。 説明のために省略していたのですが、 test.phpはdownload.phpにしていたのですが これを別名にしたらtarget指定が反映されました なぜこうなったのかよくわかりませんが、htmlでスレチでした
早く回答してもらいたいのでお願いします PHP と mySQL と Apach で簡単なウェブシステムを作りたいのですが、 知識が、html/css しかないひとには、 かなりハードル高いでしょうか?
846 名前:nobodyさん[sage] 投稿日:2009/01/28(水) 12:58:16 ID:???
PHP と mySQL と Apach で簡単なウェブシステムを作りたいのですが、
知識が、html/css しかないひとには、
かなりハードル高いでしょうか?
847 名前:nobodyさん[sage] 投稿日:2009/01/28(水) 13:06:51 ID:???
>>845 getimagesize
>>846 質問するなら
>>1 をよく読んで
850 名前:nobodyさん[sage] 投稿日:2009/01/28(水) 13:41:36 ID:???
>>847 志ね
答えてあげればいいのに。 無理です。 もう来ないでね。
構わずマジレス。 いきなりSQL絡めるのは無謀。 PHPの基礎からやって半年くらいじゃねーかな。 もち、お前さんのやる気と理解力、取れる時間にもよるが。
別にphpとsqlで順序は関係なくね?
ほうっとけよもう
デリミタ
>>979 HTMLの知識しか無い状態からだと
基礎知識の勉強だけで、軽く3ヶ月はかかる
rowspanが、絶対にここ3だろがってところで4にするとうまくいくんだが どういうことよこれ。phpが関係してるのか!?エスパーしてくれ
990 :
989 :2009/01/29(木) 07:42:13 ID:???
すまん、紅茶飲んで冷静に確認したら、trの後ろ閉じてなかった(´・ω・`)
>>990 あるある。
ということで、誰か次スレたてて。俺ちょっと時間ない。
テンプレはあったほうがいいんじゃね?
統合しろよスレ多すぎだろ
IDスレで十分だろう。 ID出したくない、って意図がわからない。 なにか損でもするのかと。
IDはどうでもいいけど、あのスレの雰囲気がいやなんだよ。 ヘタレな質問が来ると、初心者叩きが集まってきて、嬉々として騒いでるだろ。 あれを見るのがつらい。ああいうところでは回答したくない。
お前も同類だから気にすんな
>>996 ...。
なんつうか、この板、人にいやな思いをする技術に長けた奴が多いよな。
もっと言うと、中身もないのに、うまいこと言って優位に立とうとするやつが多い。
2chの弊害だなあ、としみじみ思う。
そういうのはVIPとかでやってくれよ。
自分は淡々と技術情報の交換をしたいんだよ。
× 人にいやな思いをする → ○ 人にいやな思いをさせる
自己紹介乙
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。