【PHP】下らねぇ質問はここに書き込みやがれ 34
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2006/12/08(金) 04:22:54ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc8.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0809nobodyさん
2006/12/17(日) 22:07:20ID:???TRUE/FALSEを返すとかではなくて、リソースを返すのだ。マニュアルを見よ。
行を連想配列に格納するには mysql_fetch_arry。
0810nobodyさん
2006/12/17(日) 22:18:23ID:fhT0kY1aありがとうございました。
早速以下のように書いてみたのですが、何も出てきませんでした。
なぜかコンソール画面には出力されてきましたが…
<?php
$handle = popen("/usr/local/bin/lame", 'r');
if ($handle){
while (!feof($handle)){
$line = fgets($handle);
echo $line;
}
pclose($handle);
}
?>
0811nobodyさん
2006/12/17(日) 22:27:26ID:???echo $str1."<br />\n";
echo $str2."<br />\n";
}
$str1 = "ホゲホゲ";
$str2 = "あいうえお";
test($str1,$str2);
このように、functionに2つの関数を送るのはできないのでしょうか?
0812nobodyさん
2006/12/17(日) 22:29:07ID:???mysql_select_db($db);
mysql_query($sql);
を使うのは不可能でしょうか?
mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
とエラーがでます;;
0816nobodyさん
2006/12/17(日) 23:01:56ID:1O1pcw5Yつまり $var["id"] = $_GET["id"] = $_POST["id"] = $_COOKIE["id"] ということ。
どのようにすれば効率良くできるのでしょうか?
0817nobodyさん
2006/12/17(日) 23:05:10ID:???0818nobodyさん
2006/12/17(日) 23:06:24ID:fhT0kY1a引数に --helpを渡したら出ました!
まさかエラー出力だとは…
ありがとうございました。
0819nobodyさん
2006/12/17(日) 23:08:32ID:???$hogehoge1 = $_POST['hogehoge1'];
$hogehoge2 = $_POST['hogehoge2'];
$hogehoge3 = $_POST['hogehoge3'];
$hogehoge4 = $_POST['hogehoge4'];
$hogehoge5 = $_POST['hogehoge5'];
これを、一括して$hogehoge[1]〜$hogehoge[7]
に格納する方法などはないのでしょうか?
0820nobodyさん
2006/12/17(日) 23:11:57ID:1O1pcw5Y詳しくたにょむ。
0821796
2006/12/17(日) 23:15:30ID:???動作が正常なのはわかるのですが、"<a=""〜""となるとリンクが使えなくなってしまったりしませんか?
とんちんかんなこときいてるでしょうか?
自分の環境では、そのまま読み出すとリンクが使えなくなってしまうのでなんとか""を"に変えて邪魔な"を削除したいと考えているのですが。
0822nobodyさん
2006/12/17(日) 23:17:10ID:???0823nobodyさん
2006/12/17(日) 23:17:57ID:MMBQG3mK普通にPHPで接続するのとPEAR使うのとではなにが違うのでしょうか?
利点などあれば教えていただきたいのですが・・・
0824nobodyさん
2006/12/17(日) 23:20:57ID:1O1pcw5Yあぁ、$_REQUEST ね……。
ありがとうございました。
0826nobodyさん
2006/12/17(日) 23:26:53ID:???ttp://jp2.php.net/manual/ja/reserved.variables.php#reserved.variables.request
$_REQUEST[""id"]って感じでそれら同じ名前の値をとることができる
0827nobodyさん
2006/12/18(月) 00:02:49ID:???最近はやっとクラスやフレームワークを使用し、
見た目にもある程度のスクリプトが組めるようになってきたかな
と自分では思ってます。
windows用のアプリを作りたい理由があり、
visual C#を始める準備をしてるのですが、
敷居って結構高いでしょうか?
質問自体がアバウトなんで、
アバウトな返答でいいのできぼんぬ
0828nobodyさん
2006/12/18(月) 00:09:18ID:Nj+uTZZ4目標に進んでいけるかどうかだ。
単になんとなくやってみたいな、ぐらいだと無理かもしれない。
C#は全てがクラス。何でもクラス。とにかくクラス。.NET Frameworkの習得必須。
PHPみたいに関数主体でクラスはおまけってのとは全然違うから、頑張ってね。
0829nobodyさん
2006/12/18(月) 00:15:56ID:???phpから入っちゃったか・・・逆だと楽だったのにな。
ま、何事もやる気と根気。敷居の高さなんざ気にしてたら何もできん。
0831nobodyさん
2006/12/18(月) 00:57:51ID:???ある程度DB使わないと、PEARとかの使い勝手の良さはわからないかも。
例えばDB使うのってSELECTがほとんどってことが多いけど、接続して
クエリ投げてリソース受け取ってループとかで値受け取ってって流れは
ほとんど共通してる。
なのでこれをSELECTするごとに毎回やるんじゃなくて、関数とかクラス
とか作って、引数にクエリ投げたら配列で結果取れるようにしよう、
とか考えるよね。
んでそういったものがもうPEARとかADOdbとかですでに用意されている
ならそれ使おうって話になるってところかなあ。
デバッグしやすい環境がすでに整えてあったりとか、使いやすいように
工夫されてるし、多くの人が使ってる実績があるから使い方さえ間違え
なきゃちゃんと動くって安心感もあるしね。
他にもいろいろあると思うけど、一番大きなメリットはこの辺じゃないかな。
0832nobodyさん
2006/12/18(月) 01:02:19ID:Nj+uTZZ4釣りですか?
0833nobodyさん
2006/12/18(月) 02:18:42ID:5VuKWrp+最新の2.9.1.1?
つーか、2.8以降のデザインが好きになれないので未だに2.7.0-pl2使っているよ。
俺と似たような人居る?
0834nobodyさん
2006/12/18(月) 07:39:52ID:???0835nobodyさん
2006/12/18(月) 08:07:35ID:???0836nobodyさん
2006/12/18(月) 08:46:32ID:???0837nobodyさん
2006/12/18(月) 13:57:06ID:???function test(){
echo $var;
}
test();
これで「テストです」と表示したいのですが、
function内で外部の変数を持ってくるのは
test($test)でしか持ってこれないのでしょうか?
0838nobodyさん
2006/12/18(月) 14:10:41ID:???0841nobodyさん
2006/12/18(月) 15:12:14ID:???GDが入っていますので、やり方やヒントをお願いします。
0842nobodyさん
2006/12/18(月) 15:21:23ID:???08448411
2006/12/18(月) 15:31:51ID:???できなければ、大変なことになりますよ?
0845nobodyさん
2006/12/18(月) 15:34:22ID:???0848nobodyさん
2006/12/18(月) 15:45:49ID:???�A$result = mysql_query($db,$sql);
上記2つは同じ意味なのでしょうか?
何か違いなどがあれば教えてください、
0851nobodyさん
2006/12/18(月) 15:56:48ID:???1の$dbはたぶんユーザーが作ったクラスをインスタンス化したのを
変数にいれて、そのクラスのqueryメソッドを使ってる。
2はPHP側が用意してるmysql関数。
1のクラスの中身がわからないとこたえられない。
1のソースの上のほうで、$db = new HogeHoge;
となってるなら、HogeHogeがクラス。
0852848
2006/12/18(月) 15:59:28ID:???$username = "dbuser";
$password = "dbpass";
$host = "dbhost";
$database = "dbname";
$db = DB::connect("mysql://$username:$password@$host/$database");
となっていました
(phpspot)
0853nobodyさん
2006/12/18(月) 16:01:59ID:???>$db = DB::connect("mysql://$username:$password@$host/$database");
DBクラスのconnect変数を見れ。
0854nobodyさん
2006/12/18(月) 16:07:39ID:???�@はPEAR接続だよね
08558411
2006/12/18(月) 16:33:48ID:???どうにかなりそうです。
0856nobodyさん
2006/12/18(月) 17:02:36ID:dkU1jlj9日本語の部分が文字化けして書き込まれてしまいます
なぜなんでしょうか?
ちなみにこんなかんじで書いているのですが「さんのページ」ってとこが
文字化けしてしまいます
$text=12;
$test = '<P>id'.$text.'さんのページ</P>';
fwrite($fp,$test);
0857nobodyさん
2006/12/18(月) 17:03:21ID:???0858nobodyさん
2006/12/18(月) 17:04:40ID:???0859856
2006/12/18(月) 17:12:32ID:dkU1jlj9書き込まれるときのコードが違うってことですよね
どうすれば直すことができるんでしょうか?
0860nobodyさん
2006/12/18(月) 17:12:33ID:HkDghXE60862nobodyさん
2006/12/18(月) 17:16:08ID:???とりあえず切り分けしてみれ。
htmlはどのコードで表示された時にどの文字列が化けているか。
どの文字列はEUCでどの文字列がどんな文字コードになってるのか
0863856
2006/12/18(月) 17:34:56ID:dkU1jlj9みなさんありがとうございました
0864nobodyさん
2006/12/18(月) 17:44:32ID:???0865nobodyさん
2006/12/18(月) 19:08:44ID:???0866nobodyさん
2006/12/18(月) 19:30:54ID:2g+3BvDAログインを簡単に行うために、URLにログインIDを埋め込みたいのですが、
携帯ユーザーに限定して行ったほうがよろしいでしょうか?
0867nobodyさん
2006/12/18(月) 19:52:37ID:???だよね。
>>848
PEAR:DBは、DBの違いを吸収して統一的に扱えるようにすることを
目指す(※)ライブラリ。DB:::connectでPostgreSQLのDSNを指定すると、
ソースを変更することなくDBをスイッチできる。
※PEAR::DBで用意されてるメソッドだけを使っていれば、MySQL特有の方言(SQL)を
使用してると当然駄目。
似たようなクラスにはMDBとかMDB2とかあり、DBは歴史が古い分パフォーマンスは
いまいちといわれる。でもMDBにしたってオーバヘッドはあるから、DBを変える予定が
なく、パフォーマンス優先ならMySQL関数使えばいいのでは。
あともうひとつPDOのようにDBアクセス部分をCで書いたやつので、これならPHPの
MySQL関数より早いということもあるかと。
簡潔に書くため一部不正確なところもあり。できることは同じでも目的は異なるので、
良く考えてチョイスすればよろし。
0870nobodyさん
2006/12/18(月) 20:34:25ID:???パスワード認証後のログイン状態のフラグが別途セッションに記録されてれば。
0871nobodyさん
2006/12/18(月) 20:38:07ID:S0EIOHKJほとんどの携帯がクッキー対応してるってどっかでみたような気がするんだぜ
0872nobodyさん
2006/12/18(月) 20:43:10ID:???0873nobodyさん
2006/12/18(月) 20:49:48ID:???0874nobodyさん
2006/12/18(月) 20:55:05ID:HkDghXE60875nobodyさん
2006/12/18(月) 21:12:23ID:2g+3BvDAたとえば、全国のp902ユーザーが同じ識別情報になることはありませんよね?
0879nobodyさん
2006/12/18(月) 21:33:23ID:???「 ̄ ̄ ̄ ̄`!: : :! ̄ ̄ ̄ ̄.|
| ^~^ |
| .ノ _,_ 土 |
| ヽ 米 し .|
| 十_゙ ナ 、 - |
| l ‐ ょ ⌒) .|
|. + i 、 |
| ⊂ ` .|
| { ) て`` |
| |
| |
|__________|
0880nobodyさん
2006/12/18(月) 22:39:42ID:HkDghXE6serXXX…;
serXXX…
XXX…の部分取得でおけー。
mb_send_mailの行で以下のエラーが返されたのですが、
マイネットワーク→プロパティの「ブリッジ接続」を削除したら問題なく実行できるのですが、
ブリッジ接続を有効にすると以下のエラーが返されます。
ブリッジ接続を使いながら以下のエラーをださないようにするにはどうしたらよろしいのでしょうか?
Warning: mb_send_mail() [function.mb-send-mail]:
Failed to connect to mailserver at "myhomes" port 25,
verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in
0882nobodyさん
2006/12/18(月) 22:52:35ID:MrE6rWZcというタグでメールに添付ファイルを付けられるフォームを作っています。
php側で2Mの容量制限をかけたのですが、phpinfo()で表示される容量の制限が2Mとなっており、2M以上のファイルだとphpのチェックを受けず、
実際に送信する際にエラーが出てしまいます。
こういう場合は、phpの制限を無制限にしたりするものなのでしょうか?
0885882
2006/12/18(月) 23:13:28ID:MrE6rWZcupload_max_filesize以外に設定する箇所があるのでしょうか?
現在upload_max_filesizeが2Mになっており、php側で2Mのチェックを
記載しているにも関わらず、2Mを超えると、その制限が効いてくれないようなんです。
0886nobodyさん
2006/12/18(月) 23:32:15ID:???0887nobodyさん
2006/12/18(月) 23:45:06ID:lM2dvpvbfoma番号と端末製造番号、どっちがええの?
0888nobodyさん
2006/12/18(月) 23:45:23ID:???0889nobodyさん
2006/12/19(火) 02:55:06ID:???0890nobodyさん
2006/12/19(火) 03:59:54ID:???0891nobodyさん
2006/12/19(火) 09:04:00ID:???コミュニティーサイトなどで、相手の会員番号の隠蔽はどうやってやっているんでしょうか?
一覧表示からmember.php?user=****の様に
詳細を見れる様にしてたんだけど、これだと会員番号が丸出しだから
member.php?list=0&area=1&etc=n...
member.php?list=1&area=1&etc=n...
って連番と検索条件をパラメーターで渡して、
Mysqlで
limit 0,1
limit 1,1
参考サイトが連番を振っていたので、そうなのかなと思ってやってみたけど
ロジック的にどうなのか自信なくなってきました・・・orz
こんなまどろっこしい事しないで、相手の会員番号をセッションに登録すればいいだけでしょうか?
0892891
2006/12/19(火) 09:12:11ID:???一覧表示→詳細表示→何かしらのアクション(使うとしたらここですね)
0893nobodyさん
2006/12/19(火) 09:18:46ID:???何をしたいのか今一つ判らんのだが
会員番号をログインIDとかに使っていなければ
まんま引数指定で良いんじゃない?
セッションとか言ってるのが引っかかるが…
0894nobodyさん
2006/12/19(火) 09:21:58ID:???つまり、会員番号=IDってこと?
番号/ID
0001/test
0002/guest
0003/hogehoge
0004/php
0005/cgi
こんな感じにIDごとに番号振り分けたらいいんじゃまいか?
0895891
2006/12/19(火) 09:32:33ID:???要は会員サイト内で相手の会員IDを分からなくしたいんですよ。
検索かけて会員リストがずらっと出て、その会員の詳細をみる時に
パラメーターで会員番号渡したら簡単なんですが、隠蔽するにはどうしたらいいのかなと・・・。
>894
そういう風にはしてるんですが、詳細見るときに会員番号をパラメーターで渡したくないんです。
0896nobodyさん
2006/12/19(火) 09:35:59ID:???これを
http://example.com/
これでできるようにってこと?
だったらセッション
0897891
2006/12/19(火) 10:06:00ID:???うーむ。それは分かるんですが・・・。
<a href="member.php?list=0">亀田</a>
<a href="member.php?list=1">やくみつる</a>
<a href="member.php?list=2">ガッツ</a>
と、ページに会員の詳細表示のリンクをアクセス順に
ソートして並べるとします。
上の様にリンクには連番を振ってパラメータで渡す様にしておきます。
それで、
$listNum = $_GET['list'];
SELECT * user ORDER BY access_time DESC LIMIT $listNum,1
(エスケープは今は無視)
とすれば、会員番号をパラメーターで渡さなくても
リストから詳細表示できます。
ここまではいいとして・・・
上の例で言えばアクセスでソートしてるんで会員リストをみている間に、
誰かがアクセスをしたらソート順が変わってしまい
正しく表示されない事が発生するかと途方にくれてまして・・・orz
0898nobodyさん
2006/12/19(火) 10:23:00ID:???0がアクセス多い、10がアクセス少ないってこと?
で、アクセス数で順位が入れ替わるから、参照ページが変わるってことでおkなのかな?
元々登録順にでも番号割り当てといて
0/abc
1/hogehoge
2/papa
3/awawa
で、順位に並べてみるのは?
高↑ <a href="member.php?list=2">亀田</a>
<a href="member.php?list=0">やくみつる</a>
<a href="member.php?list=1">ガッツ</a>
低↓ <a href="member.php?list=3">アントニオ</a>
0899nobodyさん
2006/12/19(火) 10:32:47ID:n9T52ppYimplode("",$hoge)でも実現可能なのですが
マニュアルには「好ましい使用法ではありません。」と書かれています。
implodeを使わずにこれを実現するためにはどうすればいいでしょうか?
0900891
2006/12/19(火) 10:35:32ID:???アクセスっていうのは、最終アクセス時間を降順でソートしてます。
まぁ、アクセス回数でもロジック的には同じ様なもんですね。
だもんで、
<a href="member.php?list=0">亀田</a>
<a href="member.php?list=1">やくみつる</a>
<a href="member.php?list=2">ガッツ</a>
を見てる間にやくみつるがアクセスしたとしたら、
<a href="member.php?list=0">やくみつる</a>
<a href="member.php?list=1">亀田</a>
<a href="member.php?list=2">ガッツ</a>
こうなってしまう可能性があります・・・。
今はおっしゃる様に、登録降順でソートしてるんですが
見てる間に誰かが登録したらこれも変わりますよね。
まーそんな激しく登録はないはずなんで大丈夫かと思うのですが・・・。
たまにそーなった時はご愛嬌ってことでいいのかなw
0902891
2006/12/19(火) 10:41:13ID:???$str = $hoge['0'].$hoge['1'];
普通に文字連結だとダメなのかな?
0903891
2006/12/19(火) 10:44:33ID:???寝不足でバグ連発中・・・orz
0904nobodyさん
2006/12/19(火) 12:11:03ID:???$array = ("文字A","文字B","文字C","文字D","文字E");
foreach ($array as $value){
$str .= $value;
}
echo $str;
こういうこと?
0905nobodyさん
2006/12/19(火) 12:41:15ID:n9T52ppY($array as $key => $value)で
0906nobodyさん
2006/12/19(火) 13:04:40ID:???0908nobodyさん
2006/12/19(火) 13:57:58ID:???0909nobodyさん
2006/12/19(火) 14:06:07ID:0YQ9Kyi3Bページへpostして表示するコードを書いたのですが
これをセッションで管理しようと思っています。
セッションに関する記述はbページに
session_start();$_session['aaa]=$_post['aaa'];echo $_session['aaa'];
と入力したのですが、もともとpostで送信しているのでセキュリティが甘いと思っています。
Aページ→Bページの間をセッションで受け渡すにはどうしたらよろしいのでしょうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。