【PHP】下らねぇ質問はここに書き込みやがれ 59
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/11/16(金) 18:09:05ID:kurqBmt1PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0259nobodyさん
2007/11/20(火) 18:25:55ID:???/ \ ?
/ ─ ─\ 何で喧嘩
/ (●) (●) \ してるんだろぅ・・・。
| (__人__) | ________
/ ∩ノ ⊃ / .| | |
( \ / _ノ | | .| | . |
.\ “ /__| | .| | .. |
. \ /___ / | | ..|
| |___LeVie ___|
.lニニニニニ_| OO=======□□l
0260nobodyさん
2007/11/20(火) 18:32:58ID:???もっと なかよく しよう
0261nobodyさん
2007/11/20(火) 18:43:38ID:???$data_a=array('',$a_data1,$a_data2,・・・・・);
$data_b=array('',$b_data1,$b_data2,・・・・・);
$x=1;
while($x<201){
$sql = "UPDATE database名 SET data_a='$data_a[$x]' , data_b='$data_b[$x]'............where no = $x" ;
mysql_query($sql);
$x++;
}
これでSQL文を200回ループできるけど、arrayで中身を200個も書くのは面倒だな。
これじゃ解答にならないか。もっと簡単な方法があるかもしれない。
0263nobodyさん
2007/11/20(火) 19:16:43ID:M+R97rrgmysql_select_db("textdata") or die("データベースセレクトエラー");
$sql = "SELECT name FROM table";
$res = mysql_query($sql, $con) or die("データ抽出エラー");
while($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$row["name"]."<br />";
}
0264263
2007/11/20(火) 19:18:22ID:M+R97rrgどなたかご指摘ください。
データベースには以下のデータが入ってます
id-name-age
1-たなか-22
2-さいとう-33
3-きむら-11
4-たしろ-55
0265nobodyさん
2007/11/20(火) 19:20:39ID:???echo
0266nobodyさん
2007/11/20(火) 19:25:02ID:???うっかり^^;
0267nobodyさん
2007/11/20(火) 19:36:09ID:???0268nobodyさん
2007/11/20(火) 19:51:06ID:M+R97rrgデータベースははじめてなのですが、
>>263にもhtmlspecialcharsはつかうべきでしょうか?
データベースを使う点で気をつけるべきことってありますか?
0269nobodyさん
2007/11/20(火) 20:05:03ID:???0270nobodyさん
2007/11/20(火) 20:10:42ID:???学校では「わからなかったらせんせいかおともだちにきくんだよ」って教えられたんだろうけど
マの間では通用しないルールです。
0271nobodyさん
2007/11/20(火) 20:25:04ID:???SELECT * FROM table WHERE delete="1"
みたいな使い方をした方が良いよ。
って誰かが言ってた。
0272nobodyさん
2007/11/20(火) 20:29:27ID:???0275nobodyさん
2007/11/20(火) 20:41:07ID:M+R97rrgifでフラグついたとこは読み飛ばすってことですかね!?
その場合、消してないデータは一括で消せばいいってことですか?
0276nobodyさん
2007/11/20(火) 20:46:57ID:???それ、負荷がかかるからじゃなくて、別の意味が大きいだろ。
追記型だとあまり関係ないと思うし。
誰が何を消したか記録しておくとか、間違って消しても復活できるようにとか。
よっぽど大量に発行しない限りは影響ないと思うけどね。
0277nobodyさん
2007/11/20(火) 21:14:19ID:???0278nobodyさん
2007/11/20(火) 21:15:21ID:???0279nobodyさん
2007/11/20(火) 21:17:40ID:2OU8ocC/$conn = mysql_connect('localhost', 'user', 'passwd');
mysql_select_db('database');
$result = mysql_query('select * from table1');
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
var_dump($row);
}
mysql_close($conn);
を実行すると、integerやfloatのデータが文字列になっています。
PHPでは数値型のデータを整数や小数に変換してくれないのでしょうか。
またもしそうだとすると、変換するにはどうしたらいいでしょうか。
0281nobodyさん
2007/11/20(火) 21:36:25ID:iGmLsQsaフォームでチェックボックスの内容を前頁より以下のようにもらいます。
<?php
$checkbox = $_REQUEST["chk"];
for($i=0; $i<sizeof($checkbox); $i++){
print "${checkbox[$i]}<br>";}
?>
こうすると前頁で選んだチェックボックスの内容が確認画面として表示されるのですが、
この内容をメールで送信したい場合どのようにすればよいのでしょうか?
お願いします。
0282nobodyさん
2007/11/20(火) 21:43:31ID:???メール関数
もしくは一歩進んだやり方がいいならhttp://pear.php.net/package/Mail
0283nobodyさん
2007/11/20(火) 21:56:07ID:M+R97rrgデータベースに格納するデータはhtmlspecialcharsをしてから格納するべきでしょうか?
0284nobodyさん
2007/11/20(火) 21:58:24ID:???0286nobodyさん
2007/11/20(火) 22:27:09ID:M+R97rrg0287nobodyさん
2007/11/20(火) 22:33:09ID:M+R97rrgたいへん恐縮でございますが最後の質問させてください。
insertでデータを追加したいのですがデータが追加できません。
どなたかご指摘お願いいたします。
$sql = "insert into {$db_table} "
. "(text1, text2, text3, text4) "
. "values "
. "({$data[0]},{$data[1]},{$data[2]},{$data[3]});";←これを下のコメントアウトの部分と置き換えると追加できました。
# ."("頭部", "身長", "腕", "足");";
mysql_query($sql, $con);
echo "データを追加しました";
0288nobodyさん
2007/11/20(火) 22:36:33ID:???0289nobodyさん
2007/11/20(火) 22:45:17ID:???0290nobodyさん
2007/11/20(火) 23:04:05ID:???はい次
0291nobodyさん
2007/11/20(火) 23:07:11ID:aCUMaMm7ネタじゃなくてマジなんだけど、アパッチとPHPでサーバーやってるんだけど
今までずーっと数ヶ月放置してたのね。だから気が付かなかったんだけど、
ふと自分のサイトを外からアクセスしてみたら、セッションが有効になってないことに気が付いたの。
PHPプログラムを書いた時点では何度も実験したし、プログラムには問題ないと思って
きっとphp.iniだろうと思ったの。でも特に記述のミスはなかったし、そもそもPHPのプログラムを書いた時点で有効になってたんだから
php.iniも問題ないだろうと考えて、冷静に考えたわけよ。
セッションの保存されるフォルダにデータが入るかどうか実験しようと。
するとそれが無くなってたの。これ隠しフォルダにあるじゃん。
で、それ見たらtempの中にphpのフォルダが無かったんだ。
俺は消した覚えもないし、そもそもこれは隠しフォルダだから自分でもアクセスなんかしないし。
スパイウェア駆除ソフトとかで一緒に消えちゃうのかな。
謎だ。いや、それだけなんだけどね。スレ汚しすまん。
でもセッションが突然効かなくなった人はフォルダ探してみるよいいよ。
0292nobodyさん
2007/11/20(火) 23:24:39ID:???Linuxでも勉強してろ
0293nobodyさん
2007/11/20(火) 23:41:32ID:aCUMaMm7OSはwinだけどな。
っていうかLinuxにも隠しフォルダあるの?
0294nobodyさん
2007/11/20(火) 23:42:25ID:???0296nobodyさん
2007/11/20(火) 23:47:48ID:???ありがとうございます。キャストですか。。。
データベースからデータ取ってくるときに型もわかるんだから、どうせならMySQL関数で自動的に変換してほしいです。
0297nobodyさん
2007/11/20(火) 23:48:51ID:???こんなこといってるやつが鯖管なんて恐ろしい時代だな
0301nobodyさん
2007/11/21(水) 01:07:59ID:???0302nobodyさん
2007/11/21(水) 01:13:05ID:???レベル低っくw
0303nobodyさん
2007/11/21(水) 01:13:21ID:???ムキになっちゃうなんてご本人だからですか?
さらりと流せばいいのにご苦労さまです。
0305nobodyさん
2007/11/21(水) 02:03:45ID:???0306nobodyさん
2007/11/21(水) 02:48:21ID:???0307nobodyさん
2007/11/21(水) 03:00:28ID:???0308nobodyさん
2007/11/21(水) 03:25:56ID:84PbwpMoregister_prefilter,register_postfilter,register_outputfilter
を設定したいのですがregister_outputfilter以外はちゃんと動作しないようです。
$smarty->register_prefilter('prefilter');
$smarty->register_postfilter('postfilter');
$smarty->register_outputfilter('outputfilter');
function prefilter($tmp, &$snarty) {
$tmp .= '<br>---pre----<br>';
return $tmp;
}
function postfilter($tmp, &$snarty) {
$tmp .= '<br>---post----<br>';
return $tmp;
}
function outputfilter($tmp, &$snarty) {
$tmp .= '<br>---output----<br>';
return $tmp;
}
こんなファンクションを通しているのですが<br>---output----<br>しか追記されないのです。
仮に
$smarty->register_prefilter('hoge');//存在しないfunction
$smarty->register_postfilter('hoge');
$smarty->register_outputfilter('hoge');
としたところregister_outputfilterだけがエラー出力されました。
こんな症状なのですが原因が分かる方いらっしゃいますでしょうか?
0310nobodyさん
2007/11/21(水) 06:20:23ID:2cD4jVxkprint 'include_path = ' . ini_get('include_path') . "<br>\n";
print 'dir = ' . dirname(__FILE__) . "<br>\n";
include_once(dirname(__FILE__) . "/inculudetest.php");
includetest.phpは同じフォルダにあります。で、表示は下記です。
include_path = .;C:\php\pear;c:/php/includes;c:/php/pear
dir = C:\Program Files\Apache Group\Apache2\htdocs\sample\pati
Warning: include_once(C:\Program Files\Apache Group\Apache2\htdocs\sample\pati/inculudetest.php) [function.include-once]:
failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\sample\pati\2test.php on line 465
Warning: include_once() [function.include]: Failed opening 'C:\Program Files\Apache Group\Apache2\htdocs\sample\pati/inculudetest.php'
for inclusion (include_path='.;C:\php\pear;c:/php/includes;c:/php/pear') in C:\Program Files\Apache Group\Apache2\htdocs\sample\pati\2test.php on line 465
それでini_setでなんとかなるかと思い、やってみたのですがini_set("include_path","●");の●に何かなんと記述すればいいのか分かりません。
ini_setを使うという考え方が間違っているでしょうか?もし合っているのなら、●になんと記述すれば良いのか教えて下さい。
0311nobodyさん
2007/11/21(水) 06:23:47ID:???なんで、こんな事聞いてくる奴がいるんだ?
0313nobodyさん
2007/11/21(水) 06:37:03ID:???0315nobodyさん
2007/11/21(水) 07:39:06ID:???0316nobodyさん
2007/11/21(水) 08:44:44ID:???0317nobodyさん
2007/11/21(水) 10:05:33ID:???0318nobodyさん
2007/11/21(水) 10:28:17ID:???0320318
2007/11/21(水) 10:38:06ID:47RXM9HFphpMyAdminを使ってCSVファイルのインポートを行おうとしたのですが、
『CSV 入力のフィールド数が不正です (行: 1)』
と表示され、正常にインポートされません。
CSVの文字コードはEUC-JP
MySQLも同じEUC-JP
フィールド区切り記号『,』
フィールド囲み記号『"』
元のcsvファイルを確認しても、mysql側とフィールド数は一致しており、問題はないように見受けられました。
phpMyAdminのバージョンは2.11.2.1です。
宜しくお願いします。
0322nobodyさん
2007/11/21(水) 11:17:03ID:47RXM9HF追加して、まずいと思ってフィールド消しました
0323nobodyさん
2007/11/21(水) 11:45:28ID:???0324nobodyさん
2007/11/21(水) 11:47:02ID:???0327308
2007/11/21(水) 11:56:20ID:???0329nobodyさん
2007/11/21(水) 12:28:18ID:???0332nobodyさん
2007/11/21(水) 12:45:24ID:???データをいれて、あとからフィールド数をいじるのは問題があるから
一からフィールドを作り直してデータを入れなおせ
0334nobodyさん
2007/11/21(水) 13:04:44ID:???初心者乙wwwwwwwwwwwwwwwwww
0336nobodyさん
2007/11/21(水) 13:26:07ID:???0338nobodyさん
2007/11/21(水) 13:33:43ID:???よく読んでますか?あなた
0339nobodyさん
2007/11/21(水) 13:37:35ID:???ナニを根拠に「ファンクション内でしか有効になっておりませんよ? 」なんてことを??
0340nobodyさん
2007/11/21(水) 13:48:18ID:???何を否定したいのかさっぱりわからん。
わかるように説明してくれたまえ。
0341nobodyさん
2007/11/21(水) 13:58:02ID:???0342nobodyさん
2007/11/21(水) 14:05:09ID:???$tmpは結合後にreturnされてるじゃん…
>>308
問題は「存在しないfunctionでもエラーを返さない」ってとこだと思うよ
Smartyを一回入れなおしてみたら?
原因は分からずじまいになるけど
0343nobodyさん
2007/11/21(水) 14:21:30ID:???>>308
$tmpを上書きしてるんだから表示されるものがひとつに決まってるでしょ。。。
338 名前:nobodyさん[sage] 投稿日:2007/11/21(水) 13:33:43 ID:???
ええと、.=で連結されたと思ったデータはファンクション内でしか有効になっておりませんよ?
よく読んでますか?あなた
>>335=>>338 >>335=>>338 >>335=>>338 >>335=>>338 >>335=>>338
…(´д)ヒソ(´д`)ヒソ(д` )
0344nobodyさん
2007/11/21(水) 14:23:26ID:???0345nobodyさん
2007/11/21(水) 14:24:17ID:???{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; $tmpを上書きしてるんだから
ヾ;;;ハ ノ .::!lリ;;r゙ 表示されるものがひとつ…
`Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が
,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f 俺にもありました
~''戈ヽ `二´ r'´:::. `!
0346nobodyさん
2007/11/21(水) 14:36:46ID:???それともソースも読めない素人ちゃんですか?
$tmpの値が連結されないのがわからないんですか?w
0348nobodyさん
2007/11/21(水) 14:49:20ID:???0349nobodyさん
2007/11/21(水) 15:07:12ID:???0350nobodyさん
2007/11/21(水) 15:14:04ID:???0351nobodyさん
2007/11/21(水) 15:39:58ID:???0352nobodyさん
2007/11/21(水) 15:41:12ID:???0353nobodyさん
2007/11/21(水) 16:23:42ID:???レベル低っくw
0354nobodyさん
2007/11/21(水) 16:27:18ID:???{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;;
ヾ;;;ハ ノ .::!lリ;;r゙ レベル低っく …
`Z;i 〈.,_..,. ノ;;;;;;;;>
,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f
~''戈ヽ `二´ r'´:::. `!
0356308
2007/11/21(水) 17:09:55ID:25lXcldy>>337さん
確認ありがとうございます。
特にそのソース自体は問題ないのですが動かないのです。
>>342さん
Smarty.class.php
Smarty_Compiler.class.php
はSmarty 2.6.17をダウンロードしてきて入れなおしましたが変わりませんでした。
Smarty_Compiler.class.phpの2168行目とかをダンプして調べてみます。
0357nobodyさん
2007/11/21(水) 19:12:54ID:???perlやrubyにある(?)安全なeval(safe eval?)の
PHP版ってないですかね?
データベースにユーザーが定義できる条件式という項目を作ろうと
思っているんですけど、その項目に危険な命令(たとえばファイル削除)を
入れられたら困るんで、最低限の計算式・指定の関数だけ実行できるevalが
ほしいのですが。
もしくは、それができるPHP内スクリプト言語でも可。
0358nobodyさん
2007/11/21(水) 19:21:32ID:???■ このスレッドは過去ログ倉庫に格納されています