【PHP】下らねぇ質問はここに書き込みやがれ 58
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/11/03(土) 19:07:37ID:EzkHevL1PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0488nobodyさん
2007/11/10(土) 16:13:24ID:???なんかワロタ
0489nobodyさん
2007/11/10(土) 16:16:58ID:???0491nobodyさん
2007/11/10(土) 17:09:57ID:???で表示される$arrayの内容を変数に入れたいのですが、
簡単な方法はあるでしょうか?
print_r だとそのまま画面に表示されてしまいますので。。
0492nobodyさん
2007/11/10(土) 17:16:44ID:???$b = $arr[1];
$c = $arr[2];
$d = $arr[3];
$e = $arr[4];
0494nobodyさん
2007/11/10(土) 17:21:26ID:???0496nobodyさん
2007/11/10(土) 17:53:47ID:???0497nobodyさん
2007/11/10(土) 17:56:42ID:hWD6ynZM例えば
if($_GET[name] == "nanashi")
とか
if(ereg("^[a-zA-Z0-9]+$",$_GET[name]))
とかのコードを書く場合に気をつけるべきことはありますか?
こういうコードが書かれている場合に、何か予期しない動作を引き起こさせることは可能ですか?
0498nobodyさん
2007/11/10(土) 17:58:37ID:???危険な関数の一覧とかどっかにあったっけ?
0499nobodyさん
2007/11/10(土) 18:04:24ID:???0500nobodyさん
2007/11/10(土) 18:45:43ID:???0501nobodyさん
2007/11/10(土) 19:36:18ID:???これはどういうこと?
0503nobodyさん
2007/11/10(土) 20:02:07ID:???毎回思うんだけど、これって何が問題なの?
こんなことやっても、自分で見てる画面に自分が書いたスクリプト仕込めるだけじゃん。
悪戯するためには、自分が書いたスクリプトをほかの人に見せないとダメなんじゃねーの?
0504nobodyさん
2007/11/10(土) 20:13:59ID:???0505nobodyさん
2007/11/10(土) 20:20:34ID:HFAkC7DG$_SERVER["HTTP_REFERER"]
コレだと直近のURLだと思うのですが、その一つ前のURLをゲットできる
関数はあるのでしょうか?
0506nobodyさん
2007/11/10(土) 20:21:27ID:???はい次
0507nobodyさん
2007/11/10(土) 20:22:10ID:???http://www.example.com/break_quote.php?text1=%82&text2=%20onsubmit=alert('xss')%20%8
って書き込むとか
0509nobodyさん
2007/11/10(土) 21:10:38ID:???これじゃうまく表示されませんが、$nameのぶぶんはどう書けばいいのでしょうか?
.$name.
<?=name?>
{$name}
いろいろ試してみましたが・・・ できませんでした
0510あ
2007/11/10(土) 21:14:29ID:???$aisatsu="{$f_name}さんからの挨拶です";
0511nobodyさん
2007/11/10(土) 21:15:55ID:???0512nobodyさん
2007/11/10(土) 21:16:37ID:lwmhHRu6$aisatsu = $name.'さんからの挨拶です';
0513nobodyさん
2007/11/10(土) 21:20:53ID:???$aisatsu="{$name}さんからの挨拶です";
より
$aisatsu = $name.'さんからの挨拶です';
のほうがいいんですか? ^^;
0514nobodyさん
2007/11/10(土) 21:35:48ID:lwmhHRu6どちらでもよい。
0515nobodyさん
2007/11/10(土) 21:38:43ID:???後者の方が速かったはず。
0516nobodyさん
2007/11/10(土) 23:39:49ID:???出力するなら
echo $name,'さんからの挨拶です';
が最強
0517nobodyさん
2007/11/10(土) 23:43:01ID:???0519nobodyさん
2007/11/11(日) 02:02:28ID:???TOPページに表示したいのですが
トップページは.htmlにしたいのです。
よく、アクセスカウンタの貸し出し屋さんがやってるように
<img>を貼り付けるやり方を真似てみて
アクセスカウンタのphpファイルをリンクで貼り付けても
当たり前ですができませんw
どうやればできるのでしょう?
おねがいします!
0520nobodyさん
2007/11/11(日) 02:13:15ID:???もしくはframeかなにかでカウンタを表示するとか
0522nobodyさん
2007/11/11(日) 02:19:45ID:???0523nobodyさん
2007/11/11(日) 02:23:11ID:???こんなやつのサイトみるとphpなくせに
フレームでメニューとかつくってんだろなw
まったくphpの意味なしw
0526nobodyさん
2007/11/11(日) 02:58:03ID:???0529nobodyさん
2007/11/11(日) 13:14:30ID:O7WKfppj登録1→確認1→確定1→登録2→確認2→確定2 という処理をするとき、
確認用の.phpの動作は、DBの確認用テーブルに登録情報を仮登録して、
続けて、その仮登録したデータを呼び出して表示、確定ボタンで確定ページへ
…という処理を考えてます。
このとき、確認.phpを登録処理ごとに用意するとファイル数が膨大になるんで、登録.phpで
<input type="hidden" name="touroku_page" value="<?php echo basename(__FILE__); ?>" />
として、確認.phpでは セッションでわたってきたtouroku_pageの値ごとに、仮登録用に接続する
テーブル名その他を振り分けようかと思っています。
こういう処理って一般的ではないというかおかしいでしょうか?
素人なんでちょっと不安です ご回答お願いします。
0530nobodyさん
2007/11/11(日) 13:18:44ID:Y1Wz2D6Oscriptタグのsrc属性でphpを指定する場合、
<script type="text/javascript"
src="http://example.com/example.php?param=1"></script>
のように、変数はURLと一緒に渡すしか方法は存在しないのでしょうか?
フォームなどから値をPOSTするなどはできますか?
0532nobodyさん
2007/11/11(日) 13:30:32ID:???・?(UTF-8)->&#31090(Shift_JIS)
後者が出来ない・・・。?とか以外のShift_JISで表現出来る文字はおkなんだけど・・・
mb_decode_numericentityとmb_encode_numericentityを上手に使えばいいっぽいけど、文字化け。
最初から全部数値参照にすればおkなんだけど、それだと出力されたソースが見にくい。
0x0,0x10000,0,0xfffffでは無謀であると出力された文字が言っております
上手なconvert mapの書き方教えてくれ。
0533529
2007/11/11(日) 13:39:05ID:???ありがとうございます
>普通はDBに突っ込まずにセッション変数に突っ込みます。
これは、確認用の表示はセッションの値を参照するってことですよね?
そのことは承知で仮登録テーブルを使ってやることにしました(別の話だったらすみません)
振り分けについてはどうでしょう? まずいやりかたでしょうか
0534532
2007/11/11(日) 13:51:36ID:???ttp://en.wiktionary.org/wiki/%E7%A5%B2
>>532 の&#31090;はこの字。まぁどの字でもいいんだけど
なぜこの字かって聞かれるとムシキングといえばわかる人がいるかもしれない
0535nobodyさん
2007/11/11(日) 20:43:20ID:???音楽のストリーミング配信を行っております。
そこで、何回ダウンロードされたかを知るには何の関数を使えばよろしいでしょうか?
「ダウンロードカウンタ」で検索してそのまま使おうかと思ったのですが
気に入ったのが無かったので自分で作ろうと思いました。
けど、ダウンロードを感知するにはどうすればよいのかが分かりません。
0536nobodyさん
2007/11/11(日) 20:46:50ID:???0537nobodyさん
2007/11/11(日) 21:06:44ID:D5pinUYp文字列を16進数として変数に格納するにはどうしたらよいのでしょうか。
例:
$hensu = 'AA';
を
$hensu = 0xAA;
として扱いたいのです。
0538535
2007/11/11(日) 21:08:47ID:???$_SERVER['SCRIPT_NAME']
で取得できると思いますが、
asxファイルやmp3ファイルの場合は
どうすれば、取得できるのでしょうか?
0539535
2007/11/11(日) 21:16:10ID:???メディアプレーヤーの再生ボタンを「ポチッ」だから
ややこしくなるのか?
プレーヤー表示させないで1回だけ再生するようにして
もう1回聞きたいときは、リロードするなりして
もう一回ページにアクセスするようにすれば、
ページのカウンタでもいいのか・・・。
という、自己解決で大ジョブですか?w
0540nobodyさん
2007/11/11(日) 21:17:33ID:???壁にぶつかる前から石橋を叩いて渡るようなことしてんじゃねえよ
0542535
2007/11/11(日) 21:21:37ID:???了解!
もうちょっと悩んでみます。
しかも、上のやり方だと全部にhtmlファイルを作らなきゃ
いけないので、変更があったりした場合大変だと言う事に
気づきました。
う〜ん。
0543nobodyさん
2007/11/11(日) 21:23:32ID:dpXsmrQlmysqlのことなんですけど
phpでmysqlのテーブルのフィールド情報を取得して
| Field | Type | Null | Key | Default | Extra |
ってありますよね?
そのフィールドの一つのNULLがありますよね?
配列で全フィールド情報を取得して
print_r($field_array);
でみたら
[NULL] => YES
[NULL] => NO
などとなってるので
[NULL]がNOだけなのを選ぼうと
foreach($field as $key => $value)
if($value["NULL"]=="NO")
print($value["Field"]);
とやってもなにもえられませんでした。。。
"NO"の代わりにTRUE,FALSE,NULL,0,'0',"0",1,'1',"1","YES","NO",YES,NO
全部試しましたけど。
期待してる値は帰ってきませんでした。
FALSE,0,NULL,FALSEは($value["NULL"]がYESのも含んで)全部の値が戻ってくるんですが
[NULL] => NOだけとか[NULL] => YESだけとかって制御文で振り分けることって出来ないんしょうか?
0544nobodyさん
2007/11/11(日) 21:24:12ID:???0545nobodyさん
2007/11/11(日) 21:37:27ID:???くだらない優越感に浸ってんじゃねーよ馬鹿
0548nobodyさん
2007/11/11(日) 21:50:21ID:???0549543
2007/11/11(日) 21:56:09ID:???0550nobodyさん
2007/11/11(日) 22:09:32ID:???$hensu = 'AA';
$hensu = pack('H2', $hensu);
// echo bin2hex($hensu);
実際は 'H2' じゃ足りないんだろうけど、あとはマニュアル読んでみてください。
0551nobodyさん
2007/11/11(日) 22:09:36ID:???0553nobodyさん
2007/11/11(日) 22:37:23ID:P3ZXl3i/わからないので質問します。
mkdir関数やtouch関数で、ディレクトリやファイルを作成できません。
ネットワーク上にディレクトリやファイルを作成する場合は、
ftp_****関数など使わないとできないんでしょうか?
もしそうなら、mkdir関数などは何故必要なのでしょうか?
行き詰ってしまいました、教えて下さいおねがいします。
0555553
2007/11/11(日) 22:51:33ID:???ありがとうございます
作成するにも権限があるのは知りませんでした
今はコアサーバーでレンタルしてるんですが、どうすれば権限を持てますか?
質問の内容がまったくずれていたらすいません
0556nobodyさん
2007/11/11(日) 22:56:09ID:???0558nobodyさん
2007/11/11(日) 23:12:48ID:???ひょっとして、おうちのPC上で動いてるPHPさんで
mkdir('http://coreserver.example.com/test/', 0705);
できないのが納得いかない、なんでリモートのサーバにディレクトリ掘るのに
いちいち ftp_login しなきゃいけないんだよ面倒だ、っていう話なんだろーか。
0559553
2007/11/11(日) 23:38:36ID:???ウインの人とは私の事でしょうか?意味がわかりません
>>557
ffftp使ってるんで、パーミッションは見た事あります。
でも作成権限はわかりませんでした。
セーフモード知らないんでググってきます。
>>558
そうは思っていません
0560nobodyさん
2007/11/11(日) 23:51:23ID:???0561nobodyさん
2007/11/11(日) 23:54:05ID:???いまだに使ってるのか
0562nobodyさん
2007/11/11(日) 23:54:48ID:???ウィンなやつの質問には名前欄に「win使用者」って書くようにしろ。
unix系とウィンとで話がかみ合わない。
と言うか別にスレ立てろ。
0564nobodyさん
2007/11/12(月) 00:05:40ID:???「名前:win使用者」も、たぶんうに系レン鯖ユーザなわけで。
ローカルで環境作ってるのはいいことだと思うよ。
話が噛みあいそうにないのは「レン鯖上のUn*xで動いてるPHPしか知りません」な層かなー。
0565nobodyさん
2007/11/12(月) 00:24:33ID:GJNsnOAp0566nobodyさん
2007/11/12(月) 01:05:49ID:???return $t->html('<b>' . (array_push($array, $text), $text) . '</b>');
仕方ないのでこのように書きましたが、どうも落ち着きません。
return $t->html('<b>' . (array_push($array, $text) ? $text : $text) . '</b>');
他に良い書き方はありませんでしょうか。
0567nobodyさん
2007/11/12(月) 01:17:04ID:???return $t->html('<b>' . $text . '</b>');
0568nobodyさん
2007/11/12(月) 01:41:05ID:???最近コアはじめたらしいからな。
設定できない初心者のためにxreaが自前のサーバ構成で立ててくれるんだろ?
ルート権限があるだろうコアサーバでもったいないきもするが。
それはおいといて
よくわからないのであればcgiで動かしてみなはれ
0569nobodyさん
2007/11/12(月) 02:03:00ID:???0570nobodyさん
2007/11/12(月) 02:31:30ID:i2Zg1ZXpレンタルしたサーバがPHPのモジュールではなく、CGIでPHPが動くって書いてありました。
下の文をindex.phpでサーバにアップロードしたのですが、動きませんでした。
<?php
echo "はじめてのPHP";
?>
モジュール用の書き方と、CGI用の書き方があるのでしょうか?
PERLみたいに#!usr/bin/perlみたいなの必要ですか?
0571nobodyさん
2007/11/12(月) 02:45:45ID:???どこのサーバ屋か知らないけれど
ここで質問するより、そのサーバ屋で「実行属性をつけるだけでOK」とか
「1行めにこう書け」とか「拡張子は.cgiで」とかいう記述を探すほうがいいと思うよ。
0572nobodyさん
2007/11/12(月) 03:01:46ID:???0573nobodyさん
2007/11/12(月) 03:15:34ID:???>カウンターぶっこわれました。
>200万はいってると思う。
200万程度で壊れるカウンターを作ってしまう(しかもそれを直さない)技術屋の顔が見てみたい。
0575nobodyさん
2007/11/12(月) 08:25:18ID:???直接入れることはできないんでしょうか?
$sql = "insert into $furiwake['table'] values(0, $_POST['namae'])"; としたらエラーになりました
extract($_POST); をするしかないんですか?
0576nobodyさん
2007/11/12(月) 08:44:22ID:???引用符が重複してるからエラーになる
変数は外に出す
$sql = "insert into ". $furiwake['table'] . " values(0, " . $_POST['namae'] . ")";
0577nobodyさん
2007/11/12(月) 09:04:15ID:???そっか、連結演算子か! すっかり忘れてました やってみます。
あと、、extract($_POST); っていうのは、やらないほうがいい理由ってあるんでしょうか?
ありがとうございました
0578nobodyさん
2007/11/12(月) 14:46:45ID:???$DB = NewADOConnection(_DB_TYPE);
$DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME);
$sql = 'insert into test values(0,"AAA", BBB", "", "CCC", 1)';
$DB -> Execute($sql);
…としたところ、DBにデータが登録されないようです。
定数が目的の値を取れてることと、
echo $DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME); が
1を返すことは確認してあります。 どこがおかしいのでしょう?
環境はwinXP apache2 php5 mysql5です よろしくお願いします。
0579nobodyさん
2007/11/12(月) 15:00:31ID:???>POSTで送られてきたデータをSQL文に格納する際、$_POST['namae']の形で直接入れる
お前アタマ大丈夫か?
とりあえず俺はお前のデータベース内に忍び込むことは楽勝だ。
0580nobodyさん
2007/11/12(月) 15:06:51ID:???SQL インジェクションに脆弱性を持つよって言えばいいだけのこと
0581nobodyさん
2007/11/12(月) 15:08:00ID:???0583578
2007/11/12(月) 15:16:56ID:???0584nobodyさん
2007/11/12(月) 15:58:21ID:cLhnRAhSソース全部書けよ
0585nobodyさん
2007/11/12(月) 16:13:07ID:Bm4zeipd動作させています。するとPEAR::DBのところで以下のエラーが出ます。
Fatal error: require_once(): Failed opening required 'DB.php' (include_path='.;C
:\php5\pear') in C:\Program1\PHP\querySample.php on line 2
該当の2行目は
require_once("DB.php");
です。
しかし、C:\Windowsにおいてあるphp.iniのinclude_pathは
include_path = ".;c:\php\includes;c:\php\PEAR"と設定してあり
ディレクトリ構成にも問題はありませんし、Web上で開いた
phpinfo()にも.;c:\php\includes;c:\php\PEARがinclude_pathとしてのっております。
さらにWebブラウザで開くアプリだとちゃんとPEARでのアプリケーションも成り立ちます。
同様の行は同じくrequire_once("DB.php");です。
PHP5.2.4 PEAR::DB1.7.13stable WindowsXPです。
コマンドライン上から動かすプログラムがうまく動作しません。よろしくお願いします。
0586585
2007/11/12(月) 16:27:45ID:???いじくってるうちにできました。。なんでだろ。。
思案をめぐらせて下さった方々、大変ありがとうございました。
貴重な時間を割いてしまい、申し訳なくおもっております。
ありがとうございました。
0587nobodyさん
2007/11/12(月) 16:31:21ID:???■ このスレッドは過去ログ倉庫に格納されています