【PHP】下らねぇ質問はここに書き込みやがれ 34
■ このスレッドは過去ログ倉庫に格納されています
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
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0754nobodyさん
2006/12/17(日) 09:43:07ID:fDowNRkwうおっ 動きました!
httpd.confをみたら、AddType application/x-httpd-php .phpが
AddType application/x-hpppd-php .php
になってました
サンキューです助かりました! よかったー
今年中にアンケート管理と掲示板とメールフォームまで出来るようになろう
ありがとー
0755nobodyさん
2006/12/17(日) 11:20:29ID:cjUGVVxQ出したいのですが。
$title = mb_ereg('/"タイトル:"([^"]*)"年度/',$str_contents , $match_title);
$str_title = $match_title[0];
print($str_title);
このようにしているのですが、うまくとりだせません。
どのようにすべきか、教えていただけないでしょうか。。。
0757nobodyさん
2006/12/17(日) 11:47:52ID:???mb_regex_encoding('sjis'/*必要だったら変更して*/);
$title = 'タイトル:string年度';
mb_ereg('タイトル:([^"]+)年度', $title, $matches);
print_r($matches);
できれば、文字コードをはっきりさせてpreg_match()と16進エスケープを
使ったほうがいいと思うけど。
0760nobodyさん
2006/12/17(日) 13:21:27ID:ssFbcwFM流れとしては、
入力 → 確認画面 → 修正or登録
な感じです。
入力項目の中にはドロップダウン形式のものや、チェックボックス形式のものがあります。
確認画面から修正画面に戻るときに入力された値を表示させるためにはどうすればいいでしょうか?
自分で考えた方法はフォームを
例:血液型
<select name="blood_type" size="1" tabindex="0">
<option value=1 '.$_POST['blood1'].'>A</option>
<option value=2 '.$_POST['blood2'].'>B</option>
<option value=3 '.$_POST['blood3'].'>AB</option>
<option value=4 '.$_POST['blood4'].'>O</option>
</select>
のようにして、確認画面からhiddenでひっぱって来るものです。
これだとかなり手間がかかって無駄が多いような気がします。
他にもっと賢い方法があるようでしたら教えてくれませんか?
0761755
2006/12/17(日) 13:24:37ID:iRROmMBS解決しました。どうもありがとうございます。
0763nobodyさん
2006/12/17(日) 13:50:17ID:???0764nobodyさん
2006/12/17(日) 13:52:21ID:ssFbcwFMそうです。
0766nobodyさん
2006/12/17(日) 14:00:11ID:irlLnY56北半球ではね。
こういう北半球中心視点は良くないと思う。
0768nobodyさん
2006/12/17(日) 14:41:40ID:ssFbcwFMjavascript使ったら簡単にできました。
サンクス子
0770nobodyさん
2006/12/17(日) 14:48:11ID:ssFbcwFM<input type="submit" onclick="javascript:history.back();" value="修正">
0771nobodyさん
2006/12/17(日) 15:38:59ID:???メインファイルからロジックをincludeしたら、
テンプレートつかわなくてもデザインがスッキリすると思うのですが、
どうでしょうか?
0772nobodyさん
2006/12/17(日) 15:42:37ID:???0773nobodyさん
2006/12/17(日) 15:44:37ID:???0774nobodyさん
2006/12/17(日) 15:59:14ID:8qXdAMYDwww.xxx.com/aaa.php?id=1&next=1
nextの1で処理を行っているのですが
リロードでも有効になってしまいます。
これを回避する方法などありますでしょうか。
submitからなら対策できるのですが、埋め込んだURLからは
どうしたら回避できるかわからず詰まっています。
0777nobodyさん
2006/12/17(日) 16:49:09ID:ttycNJ+pどのように書けばいいのでしょうか?
↓こんな感じなんですけど
$text = 12;
$hantei = file_exists($text.'.txt');//ここでエラーでます
0780nobodyさん
2006/12/17(日) 17:35:56ID:???それよりまず何てエラーが出てるのかくらい書こうよ
0782nobodyさん
2006/12/17(日) 17:57:37ID:ttycNJ+p0784nobodyさん
2006/12/17(日) 18:27:41ID:???ttp://posting.is.land.to/
0785nobodyさん
2006/12/17(日) 18:49:28ID:???"<a=""yahoo.co.jo"" title=""トップ,ヤフー"">"となってしまうのですが、これをPHPで読み込むときに、外の"を外して、””を”に変換するにはどうしたらいいでしょうか?
それと勝手に””が就かないようにするにはどうしたらよいかアドバイス頂けないでしょうか?
0786nobodyさん
2006/12/17(日) 18:59:05ID:???php.iniの設定をたしかめろ。入門者向け教本にたいてい書いてある設定外の項目いじっただろ?
0788nobodyさん
2006/12/17(日) 20:19:48ID:???0789nobodyさん
2006/12/17(日) 20:31:33ID:a5bdt7ulかわりにセッションを使うほうがいいですか?
セッションの場合、クッキーとURL埋め合わせがありますけど、
firefox等のブラウザの設定でセッションを受け入れない場合、
クッキーもURLも無効となってしまうのでしょうか?
あと、セッションはサーバにゴミがたまりますよね?
そのゴミは勝手に削除してくれますか?たとえばクッキーに時間制限があるような感じで。
どなたかお願いいたします。
0790735
2006/12/17(日) 20:48:39ID:EKx6N1fNググったところでは、mysql/mysqliエクステンションが組み込まれていないとのこと。
php_mysql.dll、php_mysqli.dllがあり、extension=php_mbstring.dllもコメントアウトしています。
その他何か原因があるようなのですが、思いつきもしません。
0791nobodyさん
2006/12/17(日) 20:52:22ID:???0792735
2006/12/17(日) 20:55:58ID:EKx6N1fNはい、Windowsです。
WindowsXP SP2
Apache 2.0.58
PHP 5.0.4
MySQL 3.23.58
2台PCがあり、片方は設定して動くのですが、
ノートパソコンの方がエラーが出る状態です。
0793nobodyさん
2006/12/17(日) 21:00:31ID:???phpinfoでMysqlの欄とか表示されてるかい?
dllファイルちゃんとあるよね?
0794735
2006/12/17(日) 21:01:18ID:EKx6N1fNつまり、php_mysqlを読み込んでいないということですよね・・・^^;
php_mysql.dllの位置がデフォルトのままなのですが、どこへコピーすれば良いのでしょうか?
0796785
2006/12/17(日) 21:05:23ID:???そうです。CSV保存の時に勝手に””がついてしまうのです。
保存の都度””を置換・削除すればいいのですが、結構な量がある上に、頻繁にデータを書き換えるので、いちいちするのは非常に面倒なのです。
>>788
有り難うございます。ただ、置き換えと削除の両方をしたいのです。
"<a〜 の部分は "を削除したいし、""は"に置き換えたい
皆さん、,や"があるCSVファイルを読み出すときはどうされてるのでしょう?
0797735
2006/12/17(日) 21:08:24ID:EKx6N1fNextensionのディレクトリパスを指定していなかったです。
Apacheを再起動しましたが、エラーは解決されずのままです・・・。
phpinfoでMysqlの欄を見たのですが、まだ表示されません。
0799nobodyさん
2006/12/17(日) 21:19:17ID:???0801nobodyさん
2006/12/17(日) 21:22:23ID:???ttp://jp.php.net/manual/ja/install.windows.extensions.php
0802735
2006/12/17(日) 21:23:56ID:EKx6N1fNあ・・・、全然違っていました・・・
php.iniの場所を変えるのじゃなくって、
パスを変更することは可能なのでしょうか?
0803nobodyさん
2006/12/17(日) 21:28:18ID:fhT0kY1aインストールしたソフトの実行出力の結果を取得したくてsystem関数を使ったのですが、
1とか2とかの数字しか返ってきません。具体的には、
<?php
$rtn = system("/usr/local/bin/lame", $retval);
echo "retval=$retval";
echo '<br>';
echo "rtn=$rtn";
?>
実行結果
retval=1
rtn=
となります。rtnには結果すら返ってきてません。
しかし、lsなどのシステムコマンドだときちんと結果が返ってきます。
ちなみにpassthru関数でも同じでした。
どうすれば結果を取得できるのでしょうか?
PHP 4.4.4 with Suhosin-Patch 0.9.5 (cgi-fcgi)
0804nobodyさん
2006/12/17(日) 21:32:01ID:???http://jp.php.net/manual/ja/install.windows.apache2.php
PHPIniDir
0805nobodyさん
2006/12/17(日) 21:38:08ID:???http://jp.php.net/manual/ja/function.popen.php
0806735
2006/12/17(日) 21:39:20ID:EKx6N1fN有難うございます、解決しました。
最初に設定できて余裕をもっていたのが間違いですね、
こんな初歩的なとこから間違えるとは・・・
お答えいただいた皆様、有難うございました
0807nobodyさん
2006/12/17(日) 21:58:04ID:???$result = mysql_query("SELECT * FROM account WHERE name = '$name'");
この場合は、name=$nameであればTRUEを返すということなのでしょうか。
name=$nameのとき、そのnameがある行を取得したいのですが、どのようにすれば良いのでしょうか?
0808nobodyさん
2006/12/17(日) 22:05:26ID:???ttp://us2.php.net/mysql_query
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変数を見れ。
■ このスレッドは過去ログ倉庫に格納されています