トップページ⇒php
1001コメント292KB

【PHP】下らねぇ質問はここに書き込みやがれ 59

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/11/16(金) 18:09:05ID:kurqBmt1
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、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:???
>>239
$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個も書くのは面倒だな。
これじゃ解答にならないか。もっと簡単な方法があるかもしれない。

0262nobodyさん2007/11/20(火) 19:06:30ID:???
>>239は配列を勉強しろとしか言えないだろ。
あとデータベース名とテーブル名の区別もついてないようだし。
0263nobodyさん2007/11/20(火) 19:16:43ID:M+R97rrg
$con = mysql_connect("localhost", "root", "root") or die("接続エラー");
mysql_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 />";
}
02642632007/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:???
print
echo
0266nobodyさん2007/11/20(火) 19:25:02ID:???
あwそうか、わすれてましたw
うっかり^^;
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:???
初めて使うならこんなとこで質問してないでMySQLのドキュメントなりなんなり読んどけよ
0270nobodyさん2007/11/20(火) 20:10:42ID:???
その通りだな。なんつーか順序が間違ってる。
学校では「わからなかったらせんせいかおともだちにきくんだよ」って教えられたんだろうけど
マの間では通用しないルールです。
0271nobodyさん2007/11/20(火) 20:25:04ID:???
deleteは負荷がかかるので、delete用フィールドを追加して
SELECT * FROM table WHERE delete="1"
みたいな使い方をした方が良いよ。


って誰かが言ってた。
0272nobodyさん2007/11/20(火) 20:29:27ID:???
マってなんですか?
0273nobodyさん2007/11/20(火) 20:31:11ID:???
>>271
忘れろ
0274nobodyさん2007/11/20(火) 20:31:48ID:???
>>271
それ、当たり前っつーか普通。
0275nobodyさん2007/11/20(火) 20:41:07ID:M+R97rrg
おお!それは掲示板とかでログを消して
ifでフラグついたとこは読み飛ばすってことですかね!?
その場合、消してないデータは一括で消せばいいってことですか?
0276nobodyさん2007/11/20(火) 20:46:57ID:???
>>271
それ、負荷がかかるからじゃなくて、別の意味が大きいだろ。
追記型だとあまり関係ないと思うし。
誰が何を消したか記録しておくとか、間違って消しても復活できるようにとか。
よっぽど大量に発行しない限りは影響ないと思うけどね。
0277nobodyさん2007/11/20(火) 21:14:19ID:???
でも正攻法じゃない?
0278nobodyさん2007/11/20(火) 21:15:21ID:???
正攻法はあくまでDELETEだろ何言ってんだボケ
0279nobodyさん2007/11/20(火) 21:17:40ID:2OU8ocC/
MySQLでの質問です。
$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では数値型のデータを整数や小数に変換してくれないのでしょうか。
またもしそうだとすると、変換するにはどうしたらいいでしょうか。
0280nobodyさん2007/11/20(火) 21:19:21ID:???
>>279
キャスト
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:???
>>281
メール関数
もしくは一歩進んだやり方がいいならhttp://pear.php.net/package/Mail
0283nobodyさん2007/11/20(火) 21:56:07ID:M+R97rrg
すいません教えてください。
データベースに格納するデータはhtmlspecialcharsをしてから格納するべきでしょうか?
0284nobodyさん2007/11/20(火) 21:58:24ID:???
お前まだいたの?好きにしろよ
0285nobodyさん2007/11/20(火) 22:26:53ID:???
>>283
迷惑なので消えてくださいね
0286nobodyさん2007/11/20(火) 22:27:09ID:M+R97rrg
ありがとうございます、いちおうサニタイズしてから格納することにしました。
0287nobodyさん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:???
そういうときはecho $sql;とかしてSQL文がおかしくないかチェックしなよ
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:aCUMaMm7
いや、対処したし。結論出てるじゃん。
OSはwinだけどな。

っていうかLinuxにも隠しフォルダあるの?
0294nobodyさん2007/11/20(火) 23:42:25ID:???
ない。
0295nobodyさん2007/11/20(火) 23:45:19ID:???
>>291
吉野家ネタかとおもったらマジネタなんだね。
こえーなPHP。
0296nobodyさん2007/11/20(火) 23:47:48ID:???
>>280
ありがとうございます。キャストですか。。。
データベースからデータ取ってくるときに型もわかるんだから、どうせならMySQL関数で自動的に変換してほしいです。
0297nobodyさん2007/11/20(火) 23:48:51ID:???
>スパイウェア駆除ソフトとかで一緒に消えちゃうのかな。
こんなこといってるやつが鯖管なんて恐ろしい時代だな
0298nobodyさん2007/11/20(火) 23:57:55ID:???
>>297
禿同。スパイウェア駆除ソフトはセッションごっそり消すからな。恐ろしい。
0299nobodyさん2007/11/21(水) 00:02:52ID:???
>>297
スパイウェアが消すってそんな一般的な知識なんか・・・しらんかった
0300nobodyさん2007/11/21(水) 01:02:42ID:???
>>297-298
理由もわからないくせに知ったかするなよw
0301nobodyさん2007/11/21(水) 01:07:59ID:???
では、どういう理由が考えられるの?
0302nobodyさん2007/11/21(水) 01:13:05ID:???


   レベル低っくw

0303nobodyさん2007/11/21(水) 01:13:21ID:???
298はともかく297はしったかもなにもおそろしいっていってるだけなのに
ムキになっちゃうなんてご本人だからですか?
さらりと流せばいいのにご苦労さまです。
0304nobodyさん2007/11/21(水) 01:14:40ID:???
煽るだけならどんな馬鹿でもできるわけで
>>300=>>302は模範解答を示してください
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:84PbwpMo
PHP5+smartyで
register_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だけがエラー出力されました。
こんな症状なのですが原因が分かる方いらっしゃいますでしょうか?
0309nobodyさん2007/11/21(水) 03:26:43ID:???
>>294
概念的には.つけたら隠しフォルダじゃ?
0310nobodyさん2007/11/21(水) 06:20:23ID:2cD4jVxk
includeの使い方を教えて下さい。

print '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:???
なぁ…今は義務教育の中に英語も含まれているはずなんだが、
なんで、こんな事聞いてくる奴がいるんだ?
03123102007/11/21(水) 06:29:54ID:???
>>311
ありがとうございます。おかげさまで解決しました。(恥)
0313nobodyさん2007/11/21(水) 06:37:03ID:???
ゆとり教育の成果を垣間見た瞬間に立ち合った!
0314nobodyさん2007/11/21(水) 06:49:35ID:???
何故だろう・・・>>311と>>313がお馬鹿にみえる
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:???
phpMyAdminについての質問はどこですればいいですか?
03192232007/11/21(水) 10:31:42ID:???
>>224
その専用スレすらわからない…。
この板にCGI探しスレありましたでしょうか?
03203182007/11/21(水) 10:38:06ID:47RXM9HF
質問場所がわからないのでここでします。

phpMyAdminを使ってCSVファイルのインポートを行おうとしたのですが、
『CSV 入力のフィールド数が不正です (行: 1)』
と表示され、正常にインポートされません。

CSVの文字コードはEUC-JP
MySQLも同じEUC-JP
フィールド区切り記号『,』
フィールド囲み記号『"』

元のcsvファイルを確認しても、mysql側とフィールド数は一致しており、問題はないように見受けられました。
phpMyAdminのバージョンは2.11.2.1です。

宜しくお願いします。
0321nobodyさん2007/11/21(水) 11:14:28ID:???
>>320
データを追加したあとにフィールド増やさなかった?
0322nobodyさん2007/11/21(水) 11:17:03ID:47RXM9HF
>>321
追加して、まずいと思ってフィールド消しました
0323nobodyさん2007/11/21(水) 11:45:28ID:???
それだ!
0324nobodyさん2007/11/21(水) 11:47:02ID:???
どうすればインポートできるのでしょうか
0325nobodyさん2007/11/21(水) 11:50:10ID:???
>>324
数あわせばいいだけじゃないの?
もう一度確認してみ。
0326nobodyさん2007/11/21(水) 11:50:48ID:???
>>319
つWebせいさく
03273082007/11/21(水) 11:56:20ID:???
情報少なくてすみませんがお願いします
0328nobodyさん2007/11/21(水) 12:24:39ID:???
>>308
残念、ここは低級者しかいないのでテンプレートのソース読める香具師はいません
0329nobodyさん2007/11/21(水) 12:28:18ID:???
その低級者に叩かれた奴が必死に何か言ってますね
03303192007/11/21(水) 12:30:27ID:???
>>326
ありがとう。きいてみる!
0331nobodyさん2007/11/21(水) 12:39:48ID:???
>>329
はい?叩かれてないけど…
意味不 誰かと勘違い?
これだから低級は(´ー`)y-~~
0332nobodyさん2007/11/21(水) 12:45:24ID:???
>>320
データをいれて、あとからフィールド数をいじるのは問題があるから
一からフィールドを作り直してデータを入れなおせ
0333nobodyさん2007/11/21(水) 13:01:47ID:???
>>328
マニュアルのサンプルを見たら
原因はすぐに分かったけど
めんどうだから言わないだけだよw
0334nobodyさん2007/11/21(水) 13:04:44ID:???
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

初心者乙wwwwwwwwwwwwwwwwww
0335nobodyさん2007/11/21(水) 13:06:55ID:???
>>308

$tmpを上書きしてるんだから表示されるものがひとつに決まってるでしょ。。。
0336nobodyさん2007/11/21(水) 13:26:07ID:???
「.=」の意味が分かっていない初心者がしゃしゃり出てきました
03373332007/11/21(水) 13:32:23ID:???
>>308
勘違いしてた。
>>308を試してみたが3つとも普通に表示された。
なので原因不明。
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:???
「馬鹿」はNGワードに指定したほうがいい
0342nobodyさん2007/11/21(水) 14:05:09ID:???
>>340
$tmpは結合後にreturnされてるじゃん…

>>308
問題は「存在しないfunctionでもエラーを返さない」ってとこだと思うよ
Smartyを一回入れなおしてみたら?
原因は分からずじまいになるけど
0343nobodyさん2007/11/21(水) 14:21:30ID:???
335 名前:nobodyさん[sage] 投稿日:2007/11/21(水) 13:06:55 ID:???
>>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:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  $tmpを上書きしてるんだから
  ヾ;;;ハ    ノ       .::!lリ;;r゙  表示されるものがひとつ…
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f     俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!
0346nobodyさん2007/11/21(水) 14:36:46ID:???
あらあら、あおることしかできないのかな?
それともソースも読めない素人ちゃんですか?
$tmpの値が連結されないのがわからないんですか?w
0347nobodyさん2007/11/21(水) 14:41:18ID:???
間違えた恥ずかしさに耐え切れず「釣りでしたー! クマー!」の方向に転換中の
>>335=>>338=>>346
0348nobodyさん2007/11/21(水) 14:49:20ID:???
PHPスレって煽る暇人多いね。
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:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; 
  ヾ;;;ハ    ノ       .::!lリ;;r゙  レベル低っく …
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f
   ~''戈ヽ   `二´    r'´:::. `!




0355nobodyさん2007/11/21(水) 16:29:09ID:???
>>353
じゃあ、お前のレベルの高さを示してくれw
03563082007/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:???
バリデーションしろ
■ このスレッドは過去ログ倉庫に格納されています