くだすれPHP(超初心者用)2 at PHP
[2ch|▼Menu]
[前50を表示]
200:nobodyさん
07/02/18 13:24:01
$var++ と ++$var の違い。

201:nobodyさん
07/02/18 14:18:22
PHP初心者のSEです。
環境は PHP4 fedora です。
今社内ネットワーク用のファイルアップローダを作っていて、機能拡張として複数ファイルのアップロードに対応することになりました。
URLリンク(search.net-newbie.com) を参考にして
フォームには <input name="userfile[]" type="file" /> をいくつか記述し
POSTデータを受け取ったPHP側は $_FILES['userfile']['name'][n] で配列として処理すればよいと思って
プログラマに訊いてみたら、
「どこでそんなの見たんですか。それはダメです。 name="userfile[]"ではなく、それぞれ固有のnameを指定しないといけません」
と怒られました。
でもどうしてダメなのかわかりません。
input name="userfile[]" を 使ってhいけない理由を教えてください。

202:nobodyさん
07/02/18 14:58:28
>>198
ありがとうございます。設定してみます。

203:nobodyさん
07/02/18 15:30:09
>>200
ををー
あざーっすなるほど。

204:nobodyさん
07/02/18 15:30:41 vTDBy95k
CSVファイルの行数を書き出すために

$filename = ("log.csv");
$file = file("$filename");
echo count("$file");

と書いてみましたが、どんなCSVを読み込んでも「1」と表示されてしまいます。

CSVファイルの行数を取得する方法、お教え願えませんでしょうか。

205:nobodyさん
07/02/18 15:44:35
"$file"ってのがマズいんじゃね?なんでも " "でくくりゃいいってもんじゃないよ。

206:nobodyさん
07/02/18 16:03:16 vTDBy95k
$filename = ("log.csv");
$file = file("$filename");
echo count($file);

""を外してみましたが、やはり「1」と表示され・・・・・

207:nobodyさん
07/02/18 16:12:15 vTDBy95k
すみません

$file = file($filename);
echo count($file);

と記述したところ、行数が出力されました。
ヒントありがとうございました。

" " や ' ' の使い方がいまいちよく分かってません・・・・

208:nobodyさん
07/02/18 17:10:57 T5LKQUPj
質問なのですが,同じPHP内にある関数をHTML上で実行するにはどうしたらいいのでしょうか?

209:nobodyさん
07/02/18 17:16:06
>>207
echo 'クオート、ダブルクオートで調べよ';


210:nobodyさん
07/02/20 09:42:40 v0Mu3VTD
ディレクトリ内のファイル数をカウントするのにどんな方法があるでしょうか。

211:nobodyさん
07/02/20 11:04:28

opendir して read_dir と while を使ってカウントを取るとか。

ファイルのリストを一発でとる関数が実装されるとかいう話を
聞いたことがあるけど、詳細忘れた。

212:nobodyさん
07/02/20 11:27:45 v0Mu3VTD
>>211
どうもありがとうございます。

その関数実装されたらいいなぁ・・・

213:nobodyさん
07/02/20 19:58:28
自分で作ればいいじゃないw

214:nobodyさん
07/02/20 21:03:06 v0Mu3VTD
>>213
超初心者なので作れません(><)

>>211
おかげ様で思ってた通りに動作しました
本当にありがとうございました

215:nobodyさん
07/02/20 22:17:03 mf88VPVM
2007/02/20/ 20:19:06
にマッチさせる正規表現下さい。

216:nobodyさん
07/02/20 22:41:17
2007\/02\/20\/ 20:19:06


217:nobodyさん
07/02/20 22:48:37 mf88VPVM
>>216
な〜るへそ。
・・・っておい!

218:nobodyさん
07/02/20 23:04:34
なんか間違っているか?

219:nobodyさん
07/02/20 23:25:52 mf88VPVM
>>218
わかるくせに〜

220:nobodyさん
07/02/20 23:39:53
2007/02/20/ 20:19:06

221:nobodyさん
07/02/21 07:26:38
>>215
決まったフォーマットから値を抜き出すなら
sscanf( )のほうがいいんじゃない
$date = "2007/02/20/ 20:19:06";
list($year, $month, $day, $hour, $minute, $second) = sscanf($date, "%d/%d/%d %d:%d:%d");

222:nobodyさん
07/02/24 20:35:08
1、id passを自由に記入して登録してもらい、 
2、その後、ログインする機能をつけたいと思っています 

1でフォームを通じてデータベースに登録するところまではできました 

2ではどうしたらいいのでしょうか  
ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか? 

223:nobodyさん
07/02/25 02:12:45
選択したキーワードをブラウザのコンテキストメニューで任意のデータベースから検索するphpクエリとエンコードを教えてもらいたいのですが、スレ違いでなければお願いします。
OS:mac 10.4
ブラウザ:Safari + SafariStand
追加したい検索データベース:URLリンク(www.allcinema.net)

参照で他の検索クエリとエンコードは下記のようになっています。
Amazon.jp : UTF- : URLリンク(www.amazon.co.jp)
goo英和:EUC-:URLリンク(dictionary.goo.ne.jp)

224:nobodyさん
07/02/28 07:23:35
RSSに対応していないページの中にある表示させたい部分だけ抜き取って
RSSのように取得して表示させたいのですが・・・・
どなたか教えてくれませんでしょうか?

myrssなどいろんなサービスがありますが
それらだとどーしても不要な部分まで入ってしまうので困ってます。

レッツPHP!にある「新着ブロガー」や「RSSブロガー」と一緒に併用したいのです。
URLリンク(php.s3.to)

よろしくお願いします

225:nobodyさん
07/02/28 11:37:06 wzkUfUn+
>>224
対象htmlを読み込んでpregで抜き取るしかない。

226:nobodyさん
07/02/28 11:53:54 ZCccNT7s
XREAの広告免除アカウントなのですが、
ssh接続にてサーバー上でコンパイルした実行ファイルに
phpから引数を渡して実行することはできるのでしょうか?

227:nobodyさん
07/02/28 14:52:35 N694lB7M
>>226
XREAのSSHはMySQLやPostgreSQLのコマンドだけが使用可能じゃなかったか?

228:nobodyさん
07/02/28 17:08:48
>>224
HTML文書に正規表現ってなかなか無謀だな。

229:nobodyさん
07/02/28 19:55:30
RSSが流行る前のアンテナスクリプトとか、
そうじゃなかったかな

230:nobodyさん
07/02/28 21:16:46 ZCccNT7s
>>227
コンパイルしたものアップロードしてSSHから実行してみたら
「引数が必要です」っていうメッセージが出たので、使えてるのかなーと思ったんですが・・・・

231:nobodyさん
07/03/01 00:08:24
>>230
apacheのユーザが実行出来るなら出来るんじゃないかな
XREA詳しく無いから知らんけど

232:224
07/03/01 11:12:07
URLリンク(www.oreilly.co.jp)

上記からDLできるサンプルコードの「hack084」で出来るらしいのですが、
DLして指定してみたものの、うまく表示されません。

どなたかこのサンプルを利用してうまく取得できるような
設定の方法を教えてもらえませんか?><

233:nobodyさん
07/03/01 19:05:27 xCxwkag3
ちょと質問

fsockopen ですが、レスポンスのデータは
全て返ってきてるのにタイムアウトになるまで
処理が止まってしまう ('A`)
fopen みたいにサクっといかないのはナゼでしょう?
何か対策あればご教授ください。

もうひとつ、その返ってきたデータに
オフセット値らしきゴミデータが混入してるんですが
どうやって取り除けばよいのでしょうか。

よろしくです

234:nobodyさん
07/03/02 00:41:55 tN+ZB4K3
ある変数に、コメントをどんどん追加していく方法ってあるのでしょうか?
$hoge = "山田さん\n";
$hoge = "佐藤さん\n";
$hoge = "田中さん\n";
としていってechoすると当然ですが田中さんのみ出ます。
echoした時に全員を出したいのですがどうすればいいでしょうか?
(配列を使うのかなと思うのですが、配列が苦手で;;;)

235:nobodyさん
07/03/02 02:08:54
>>234
.=

236:234
07/03/02 03:59:59
>>235さん
深夜なのに回答ありがとうございます!
配列使わずに、こんなに簡単にできるんですね!

237:233
07/03/02 12:17:50
移動しました
スレリンク(php板:648番)


238:nobodyさん
07/03/04 16:14:12
CSV形式のファイルを開いて合計値を導きたいのですがどんなやり方がありますか?
一応こんな感じに書いたんですが、コードが汚くて・・・。
<?php
$fp = fopen("sale.txt","r");
while(!feof($fp)){
$line = fgetcsv($fp,1000);
print ("<tr>");
print ("<td>"."$line[0]"."</td>");
print ("<td>".number_format($line[1])."</td>");
print ("<td>".number_format($line[2])."</td>");

$int = number_format($line[1]-$line[2]);
print ("<td>"."$int"."</td>");

$per = (float)$per1*$int/$line[1];
print ("<td>"."$per"."</td>");
print ("</tr>");
}

?>

sale.txtに格納しているのは、
記入年月日(Y-M-D),売上高,仕入高 です。

よろしくお願いします。

239:nobodyさん
07/03/05 03:23:21 FSyHHO6k
md5で生成した値を複号化したいんだけど無理なの?


240:nobodyさん
07/03/05 03:26:43
MD5は暗号化アルゴリズムではなくハッシュアルゴリズムです。

241:nobodyさん
07/03/05 05:04:52
>>238
1.どんな形式でデータが入ってるかすら分からない
2.そのソースのどの辺を改善したいのかが分からない

242:nobodyさん
07/03/05 05:05:23
ごめん見落としてた。1番は最後に書いてあったからいいや

243:nobodyさん
07/03/05 05:40:04 3xQLJLRd
共有ロック中は書き込みができないみたいですが、
アクセスが集中している場合、ずーっと書き込みできない状態になってしまうのでしょうか?
またその場合はどう回避すればいいのでしょうか。

244:nobodyさん
07/03/05 05:45:27
ロック中に書き込みしたいってこと?

245:nobodyさん
07/03/05 07:51:28
>>244
それじゃロックの意味がない
>>243
そんな心配はしなくていい

246:nobodyさん
07/03/05 12:06:35 FSyHHO6k
>>240
で、元に戻せるのか?


247:nobodyさん
07/03/05 15:45:50
>>241

すみません。
えと、形式は
sale.txt
  記入年月日(Y-M-D),売上高,仕入高 です。
(例)2007-03-09,100000,20000(改行)
   2007-02-09,100000,50000(改行)
って感じです

同様の処理をする際、他によいやり方はないかな?と思いまして
質問してみました

248:nobodyさん
07/03/05 22:57:54 peb4Wfoi
すいません、すごいくだらない質問なんですがphp5で

postfixに送られたメールをメールエイリアスでphpに送り、PEARで解析して
内容をファイルに出力しようと思ったんですが、ブラウザで実行しないと
ファイル操作はできないんでしょうか?





249:nobodyさん
07/03/05 23:01:10
>>248
PHP CLI で調べて味噌

250:nobodyさん
07/03/05 23:20:54 peb4Wfoi
>>249
返信ありがとうございます。
ちょっと説明不足だったようです。
申し訳ない。

Cli 4.4.4を使用しておりまして、

postfix => php PEARで解析 => 送信者に自動返信を出す

までは出来ているのですが、

postfix => php PEARで解析 => 外部ファイルもしくはMySQLに送信者アドレスを記録 => 送信者に自動返信を出す

としたいのです。

見当違いな返事してましたら申し訳ありません。
宜しくお願い致します。


251:nobodyさん
07/03/05 23:25:22
>>250
ん?何故出来ないのか不思議だが・・

php PEARで解析 してるPHPの後ろに、mysqlにinsertする構文を書き足せばいいんじゃないの?


252:nobodyさん
07/03/05 23:30:54 peb4Wfoi
>>251
mysqlに接続、もしくは外部ファイルオープンするとそこで処理止まってしまうようなのです。

同じphpでPEARでの解析失敗の場合die;の所だけコメントアウトしてブラウザで実行すると
ちゃんと書き込めるんですが・・




253:nobodyさん
07/03/05 23:32:20
>>252
OSとか環境をもっとしっかり書くと何かレスがあるかもしれない

254:nobodyさん
07/03/05 23:43:07 peb4Wfoi
>>252
失礼しました

phpinfo()のコピーですが

OS MacOSX 10.4.8
Apache/1.3.33 (Darwin) PHP/5.1.6
MySQL Client API version 5.0.24a

でターミナルでphp -v を実行すると
PHP4.4.4(Cli)

と出ます。

他何か必要な環境ありますでしょうか?
宜しくお願い致します。


255:nobodyさん
07/03/05 23:47:29
>>252
外部ファイルをオープンすると駄目って時点でなんかバグっぽい気もするなぁ・・

256:nobodyさん
07/03/05 23:48:04
あと
【PHP】下らねぇ質問はここに書き込みやがれ 40
スレリンク(php板)

こっちのほうが人いるからいいかもしれない。

257:nobodyさん
07/03/05 23:52:41 peb4Wfoi
>>256
ありがとうございます。

マルチになってしまうと思ったのですが、書き込んでみます。
ありがとうございました。

258:nobodyさん
07/03/06 00:08:11
こっちでは終了します、とか言っておいたほうがいいと思う。

259:nobodyさん
07/03/06 02:21:14 Crrd1LQs
>>258
ありがとうございます。

こちらでは終了させて頂きます、ありがとうございました。

260:nobodyさん
07/03/13 17:04:07
$tcount = date(d);
$tcount ++;
$tcount --;

のように足したり引いたりする意味って何なのでしょうか?

261:nobodyさん
07/03/13 17:42:21
>>260
「うぃぇ」とか?

262:260
07/03/13 18:37:33
すいません。「うぃえ」とは一体なんでしょうか?
足したり引いたりせずに、そのままでも同じな気がするんですが。

263:nobodyさん
07/03/13 19:25:19
PHPのページで他のPHPを呼び出すためのタグを教えてください。
猫手をindex.phpに使用していたのですが、間違えて消してしまい、
どういうタグを描いていたかも忘れてしまい・・・

264:nobodyさん
07/03/13 20:06:56
>>263
マルチはやめてね

265:nobodyさん
07/03/14 06:00:53
マカってクズだな。

266:nobodyさん
07/03/14 17:56:54
>>260
行間に毎回

print $tcount;
でもしてみればいいじゃん。

267:nobodyさん
07/03/15 17:11:23
>>262
qwertyキーボードだろ?
違ったらスマソ

268:GC ◆v7P9gkbRs6
07/03/15 17:44:55
>>262
まちがいた。かなりの分析力がないとqewrtyからは出せないとおもたので。
サービス・ヒント
つ「うぃぇ」ローマ字に直せ?

$tcount = date(d);
while($tcount<1000){
print "$tcount";
$tcount++;//←これだろ!?
}

 △
または
 ▽

$tcount = date(d)+1000;
while($tcount<1000){
print "$tcount";
$tcount--;//←これだろ!?
}

 △
または
 ▽

for($tcount=date(d);$count<1000;$tcount++;){
print "$tcount";
}
   △
   ▲
   △
出力してみればわかると思うが…orz

269:nobodyさん
07/03/15 17:52:22 SLFW7rVS
▲▲▼▼???? B A

270:nobodyさん
07/03/15 19:25:51
現在ソースをUTF8で書き自動変換してSJISのページを出力してるのですが、フォームで機種依存文字(T、U)を送ると(?)に化けてしまいます。
このような場合はどのようにすればいいのでしょうか?

271:nobodyさん
07/03/15 20:18:30
>>268
>まちがいた

これはいったい何語だ?

272:nobodyさん
07/03/16 13:25:13
すいません質問です
ネットでPHPの掲示板をフリーでDLさせていただき、それをatwikiに設置したいと考えております
FFFTPというソフトウェアを使うところまでわかったのですが、それ以降はどのようにして設置してよいのかわかりません
どなたかわかる方居られないでしょうか?
よろしくお願いします

273:nobodyさん
07/03/16 18:46:11
サーバにアップロード

274:nobodyさん
07/03/16 19:05:32
>>273
それはわかるのですが、wikiにアップロードしてPHPのファイルを開くと文字化けというかなんかすごいことになってるんですよ
で、掲示板なので文字書いて送信するとこのページは存在しないとかなんとかでてきて・・・
どうするばいいんですかね?

275:nobodyさん
07/03/16 19:13:09
WebサーバとPHPの基礎から勉強したほうがいいと思うよ

276:GC ◆v7P9gkbRs6
07/03/16 19:45:46
>>274
俺もそーおもうょ

277:nobodyさん
07/03/16 19:56:21
>>275-276
超初心者スレなのにその投げやりな態度なないだろw
>>274
その文字化けとやらがよくわからないから、画像をよこしてくれないか?

278:nobodyさん
07/03/16 20:19:52
>>274
>FFFTPというソフトウェアを使うところまでわかったのですが、
原因これじゃねぇの?

279:nobodyさん
07/03/17 01:33:30
>>278
では、どのようにして設置するのですか?
atwikiのサーバーを弄るわけには行かないし・・・
誰かお願いします

280:nobodyさん
07/03/17 04:58:01
>>279
お前は世の中の基本から勉強しなおす必要があるな。

・自己解決する能力や技術がある人・・・オープンソースやフリーサービスを使う。

・そういう能力や技術がない人・・・お金を支払って技術がある人にやってもらうか、有料サービスを使う。

281:nobodyさん
07/03/17 05:17:05
>>280
おいおい朝っぱらからそれかよ
「質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。」って>>1にあるのにその態度ははないってw
>>277でも言ったけど初心者邪険にしてどうするよ?

>>279
だから>>277でも言ったけど画像を用意してくれないと(ry

282:nobodyさん
07/03/17 16:28:37
>>274
ファイルのエンコードはど?
 (「UTF」とか「EUC」とか「Shift_JIS」の「LF」とか「CR」とか?)
ファイル内のエンコードの宣言とかはど?
 (見手任せになってないか?)
PHPの確認作業とかはどうゆう環境でやってるの?
PHPをやろうと思う人間がそんな初歩的な瑕疵をすると思えないが念のため…
一応、そのくらい晒してもらえれば、答えられるかもしれないぉ(`・ω・´)

283:nobodyさん
07/03/17 19:33:36
>>279
なんかお前さんのカキコから察するに全くのド素人みたいだからここじゃなくて他のところ行ったほうがいいんじゃない?
ここは超初心者とか謳ってる割には意外にレベル高かったりするしさ
だからさ
【Perl】勉強したい人協力したい人ドゾー【PHP】
スレリンク(php板)l50
とか
【PHP】下らねぇ質問はここに書き込みやがれ 41
スレリンク(php板)l50
で、聞いたほうがいいんじゃないかね?


284:nobodyさん
07/03/17 19:38:52
>>272
というかphpの質問じゃないだろ。
FTPの使い方はスレ違いでしょ

285:nobodyさん
07/03/19 18:46:48
変数の値をfile関数で読み込む方法を教えて下さい。
$body = file("$url");
$body = @file("$url");
などを試してみたりしたのですが、読み込めません。

($urlには正しいURLが入っております。)

286:nobodyさん
07/03/19 18:59:59
>>285
エラーは出てないの?

file関数でurlは使える? phpinfoで必要なら確認。
URLリンク(www.php.net)

ソースを晒したほうが早いと思う。

287:nobodyさん
07/03/19 19:41:47
>>286
ありがとうございます。エラーは出ていません。
phpinfoにて調べてみましたが、どうも何処を見ていいかわかりません。
答えて頂いたのに申し訳ないです。

$latestfile = file("(ログファイル名一覧)");
list($url, , ) = explode(",", $latestfile[0]);

print "$url";

$body = @file("$url");
list($body, , ) = explode(",", $body[0]);

print "$body";

ログファイル名一覧からURLを取得しています。
($urlを表示して確認していますが、ここまで正常です。)
次に$bodyに$urlのファイルをぶち込んでいるつもりなのですが、
print "$body";では何も表示されないんです。

288:nobodyさん
07/03/19 20:25:34
>>287
リンク先読んだのか?
何で情報を無視するのな・・。

ひとまず
URLリンク(www.php.net)
のソースをそのまま実行してみろ。

@file の@を取ったらなんかエラー出ない?

急がなくていいから情報をじっくり読んで、検索したり、実際に試したりしましょう。



289:nobodyさん
07/03/19 20:55:15
>>287
まずエラー制御演算子は使用するべきではありません。
そして確認などではprintではなくvar_dumpなどでゴミが入っていないかもチェックしましょう。

…というか無駄に変数をクォートしすぎでは。

290:nobodyさん
07/03/19 21:16:37
>>288->>289
ありがとうございます。

>>288
すみません。リンク先については読んでみたのですが分かりませんでした。
見たものは書いた方が良かったですよね。無視してしまってすみません。

上記リンク先のソースをそのまま実行してみました。
Warning: file(URLリンク(www.example.com)): failed to open stream: Connection refused in /(アドレス) on line 100

Warning: file(URLリンク(www.example.com)): failed to open stream: Connection refused in /(アドレス) on line 108

Warning: implode(): Bad arguments. in /(アドレス) on line 108

先程のソースから@を取るとエラーが出ました。
Warning: file(): HTTP request failed! HTTP/1.1 404 Not Found in /(ページのURL) on line 107

Warning: file(ファイル名): failed to open stream: Success in /(ページのURL) on line 107

>>289
他のスクリプトからパクってつかってみたんですが、エラーを潰すだけなんですね。消しておきました。
var_dump確認してみました。ゴミが入っているとはどういう事でしょうか?
ひとまず、普通に実行されました。

変数については…恥ずかしい限りです。

291:nobodyさん
07/03/19 21:40:54
>>290
ゴミっていうのは改行コードとかBOMとか制御文字。
そのコードではexplodeしてるからないと思うけど。

とりあえず設定系のエラーは出てないからURLは許可されてるようだけど、
正しいURLってことはブラウザとかでは当然アクセス出来るんだよね?
しかしながらエラーはファイルが見つからない旨を示しているので、
変数がちゃんとURLだけになってないんじゃないかなぁ。

292:nobodyさん
07/03/19 21:43:50
>>290
phpinfo の allow_url_fopen 値はどうなってる?

あとリンク先のソースは100行も無いと思うが・・。
URLリンク(www.php.net)
の灰色の部分のソースだけだよ?
もしや
URLリンク(www.example.com)
のまま実行してるわけじゃないよね?

293:nobodyさん
07/03/19 22:39:46
ありがとうございます。解決しました。

>>291
なるほど。それでミスがないかどうかを確認するんですね。
ブラウザでアクセスしてみたところ….htaccessによってアクセスが弾かれていました。
サーバ側のデフォルト設定を上書き(?)し、解決しました。
実際にアクセスして確かめなかった自分が情けないです。すみません。

>>292
すみません。
サイトのファイルにそのままソースを貼り付けてしまったので、
100行に達してしまいました。

解決した上に、色々と勉強になりました。有難う御座いました。
御迷惑をお掛けしてしまい、すみませんでした。

294:nobodyさん
07/03/19 23:04:46
多分本とかちゃんと読んで基礎からやってないからデバッグ方法が身について無いんだと思う。
初めてのプログラム体験なら時間かけても基礎からやったほうがいい。

295:nobodyさん
07/03/20 22:33:49
>>294
最後までアドバイスありがとうございます。
焦らずにじっくりと覚えていくことにします。

296:nobodyさん
07/04/13 01:09:58 uf6sE38L
リンクで、$PHP_SELF?mode=rank1としたのですが、
この、rank1を受け取るにはどうしたら良いでしょうか?

処理として、
swich( mode ){
case "rank1";
echo"1";
break;

case "rank2";
echo"2";
break;
の様にしたいのです。

297:nobodyさん
07/04/13 03:12:58
そう記述するとパラメータ渡せるってどこで知ったの

298:nobodyさん
07/04/13 09:05:44
>>297
いじわるしないでそれくらい教えてやれよ。

>>296
$mode = $_GET['mode']
switch($mode) {
でいける。

けど$_GET['mode']に入ってる値が正しいかきちんとチェックするように。

299:nobodyさん
07/04/13 19:38:38
>>298
できました有難うございます!!

300:nobodyさん
07/04/13 20:27:01
>>299
そう記述するとパラメータ渡せるってどこで知ったの 

301:nobodyさん
07/04/13 21:08:41
そんなのなんとなくわかるじゃん。

302:nobodyさん
07/04/13 21:12:02
情報入手元は明らかにしないのがこの業界の掟。

303:nobodyさん
07/04/13 21:13:06
まるでマジシャンですね。

304:nobodyさん
07/04/13 21:25:47
>>301
いや、マジでわかんね

305:nobodyさん
07/04/13 23:01:39
>>304
うんわかんねorz

$mode = $_GET['mode']
switch($mode) {
  ↑
普通、こんなのが前提にあると思うじゃん
それが抜けてるって気づいた>>298はエスパー
スゲッ!

306:nobodyさん
07/04/13 23:08:59
ゲッソーなのか?

307:nobodyさん
07/04/14 05:18:00
>>305の言ってることが全然わかんね

308:nobodyさん
07/04/14 07:37:42
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\test\function.php:68) in C:\Program Files\xampp\htdocs\test\function.php on line 21

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\xampp\htdocs\test\function.php:68) in C:\Program Files\xampp\htdocs\test\function.php on line 23

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\xampp\htdocs\test\function.php:68) in C:\Program Files\xampp\htdocs\test\function.php on line 23

と出るのですが、これはセッションのどういったエラーなのでしょうか。
xamppをxpで動かしています。

309:nobodyさん
07/04/14 08:17:24 NyirOBTJ
ヘッダーとセッションスタートの前に何か出力してたら無理

310:nobodyさん
07/04/14 11:36:23 SRafuLrT
本に書いてある通りやってんのにapacheでphpうごかねえぞゴルア!
php5apache2.dllの記述を外すとapache動き出すぞゴルア!
でもこれじゃPHP使えないでまいかよ。どうすればいいじゃゴルア!
もう今日は天気いいから遊びに行ってくる。


311:nobodyさん
07/04/14 11:53:24
「php5apache2.dllの記述を外すとapache動き出す」
てことはどういうことか考えてみるべし。
いい勉強になるぞ。

312:nobodyさん
07/04/14 12:06:22
apacheではphp5が使えないってことかゴルア!

313:310
07/04/14 12:13:37 SRafuLrT
ヤター動きますたあ!教えてgoo見てたら同じような質問があったんで解決しますたあ。
今度から真面目なサイトで質問することにしまつ。どうもありがとうございました。
ちと気分転換に外へ散歩してきまつ。



314:nobodyさん
07/04/14 16:45:07
xampp使えばいいのに

315:nobodyさん
07/04/14 18:12:40
ファイルを読み込んで"hoge"が出てくる行の行番号を返すようなことはできますか?

316:nobodyさん
07/04/14 18:21:59
__LINE__

317:nobodyさん
07/04/14 19:51:54
loginページを作り
member.txtにadminと他のユーザーを格納して
loginのフォームで認証をしたいのですが、

adminは認証後専用のページでuserを追加できるので
ヘッダに

if ($_POST[userid] && $_POST[password])
{
// if the user has just tried to log in
if (($_POST[userid]=="admin") && ($_POST[password]=="1234") )
{
// if they are in the database register the user id
$_SESSION['valid_user']=$_POST[userid];

と一人ずつ確認していくという方法が取れないのですが
何かヒントを頂けないですか?
lv1をadmin、それ以外のuserはlv2とすると書いてあるのでそこらへんが
臭いのかと思ってるんですけどサッパリなんです

318:nobodyさん
07/04/14 20:15:55
何言ってるかわからないのでもう一度推敲してからお願いします。

319:nobodyさん
07/04/14 20:41:37
PHPでCSVからデータを抽出してるのですが、価格などCSVデータにカンマ「,」があると上手く表示できません。
カンマをとると表示はできるようになりますが、10,000円などのカンマでの区切りがでてこないので困ってます。

CSVデータにカンマがあってもうまく表示できるような関数とかなにかあるのでしょうか?
お教えください。


320:nobodyさん
07/04/14 20:46:30
10,000円を保存する時に、10,000円のカンマをやっつけるとか。

321:nobodyさん
07/04/14 20:52:04
>>320
やっつけるとはどうやるのでしょうか?



322:nobodyさん
07/04/14 20:59:29
10,000円を保存するときに、カンマを別の記号(たとえば @)に変換して保存する。
読み込んだデータに、@が含まれている場合は、カンマに直(ry

323:nobodyさん
07/04/14 21:02:14
>>322
なるほどそういう裏技もあったんですね。一つ試してみます。
また、他の方法もあればお教えください^^


324:317
07/04/14 21:31:45
簡潔にかきなおしてみたんですけど

ユーザーのアカウントやパスワードをテキストファイルに保存をしておき
それを使って認証をさせたいのですけど

最初if構文でアカウントとパスワードをチェックすればいいかなと思ったんですが
管理者はユーザーの登録削除ができるので不特定多数にもなるということで
どうしたらいいのかなと

わかりにくくてすいません

325:nobodyさん
07/04/14 22:08:29
>if構文でアカウントとパスワードをチェック
これは分かる
>管理者はユーザーの登録削除ができる
うんうんこれもまぁ普通だね
>不特定多数にもなるのでどうしたらいいのかなと
ハァ?

326:nobodyさん
07/04/14 22:12:49
>>324
>パスワードをテキストファイルに保存

頼むから氏んでくれないだろうか。

327:317
07/04/14 22:38:40
管理者が新しくユーザーを登録することにより、
テキストファイルにユーザー情報が追加されるので
if構文で管理者の認証はできても他のユーザーの数が決まってないから
それは無理なんじゃないかと思ったんですけど
サンプルを見たらユーザー一人と管理者のみでif構文で認証
っていうのしかなかったので
もうちょっと他のを探してみます

一応練習なんでtxtにpassを保存するのは自分でもどうかと思いますけど
かなりstuckして十分死にたいので勘弁してください

お騒がせすいませんでした

328:nobodyさん
07/04/14 22:58:01
>他のユーザーの数が決まってないから 
ループして比較すれば?
あと属性の区別が付かないなら管理者と一般ユーザを区別する情報も一緒に保存すれば?
いまだに何がしたいのかよくわからない

329:nobodyさん
07/04/15 02:50:04
>>325
言い方悪いが俺も同意
何が問題なのか分からない、説明が足りないのかもしれない。

>>管理者はユーザーの登録削除ができるので不特定多数にもなるということで
の意味が分からない、管理者は他のユーザのパスワードも知っているからって事?
ユーザIDとパスワード使って入ってきたら、普通にそのユーザと判定するべきだと思うが。

見当違いだったらごめんな。

330:nobodyさん
07/04/15 03:03:50
んで結局聞き逃げかよ。
報告もなし。例もなし。最悪だな。

331:nobodyさん
07/04/15 04:14:58
くだ質とかでも最近はお礼なんて稀だよ・・
世知辛い世の中だ

「ありがとう」と「ごちそうさま」が言えないなんてろくな大人にならねぇ

332:nobodyさん
07/04/15 08:15:02 y1bDpLfE
初めまして。
私はWebサイトでフレームを使うのが嫌なので、includeでmenu.phpの外部読み込みをしています。
include命令を書いているファイルはa/index.phpです。

a/menu.phpの内容
<A HREF="a.php"></A><BR>
<A HREF="b.php"></A><BR>

しかし、階層が違うとファイルのパスを変えなくてはなりません。
例えば1つ下の階層だと、
a/b/index.phpに読み込むa/b/menu.phpの内容
<A HREF="../a.php"></A><BR>
<A HREF="../b.php"></A><BR>
にしなければなりません。

どの階層でもa/menu.phpファイルを呼び出すだけなら、
$_SERVER['DOCUMENT_ROOT'] を使う方法で大丈夫だと思うのですが、
(参考:URLリンク(minic.press.ne.jp))
a/b/index.phpから上記の方法でa/menu.phpファイルを読み込むと、リンク先は
a/b/a.phpとa/b/b.phpになってしまいますよね。
どの階層から読み込んでも、ちゃんとa/a.phpやa/b.phpにリンクさせる方法なんてあるのでしょうか。


333:nobodyさん
07/04/15 08:26:42
日本語で書こうぜ。
include パスの指定の仕方を聞きたいのか <a href 要素・属性の相対パスの
指定の仕方を聞きたいのかどっちなんだ。


334:nobodyさん
07/04/15 10:35:06
>>332
<a href="URLリンク(a.php">a<)
のようにhttpから書く

335:nobodyさん
07/04/15 11:48:07
>>332
絶対パスで指定すればいいじゃん
現在の位置を読み込んで相対パスもできるけどさ

336:317
07/04/15 12:34:45
報告が遅くなってすいません
そのまま逃げてたんではなくて
SessionとAuthenticationの理解が足りないと思って
もう一度やりなおししてたんで
サンプルにはあくまでも出力後のHTMLしか出ないので
仕組みをまともに予想できてないから
意味不明な質問になるんじゃないかと思って

>>328
adminとuserの2人しかアカウントが無い場合、
if($PHP_AUTH_USER=="admin")&&($PHP_AUTH_PW=="pass"))
{header("Location:admin_menu.php");}....
if($PHP_AUTH_USER=="user")&&($PHP_AUTH_PW=="word"))
{header("Location:user_menu.php");}
これでいけると思ったんですが、adminがユーザーを増やした場合、
このままだと新規のユーザーは認証ができないと思うんです
属性というか、adminはlv1、userはlv2という風にされてるので
ループできるか試してみます

>>329
管理者はユーザーの数を任意に設定できるので
ユーザーが1人のときもあれば5人のときもあって10人のときもあるので
上記のコードじゃ限界があるなと思ったんです
説明がわかりにくくてすみません

>>330
聞き逃げしたつもりはなかったんですが
とりあえず自分で最初からやり直して
最低限何をしたかったのかを説明できるように
しようと思ってたら結果的に逃げた形になりました
申し訳ないです

337:nobodyさん
07/04/15 12:42:41
相対パスで書きたいんだろうな多分。>>332
とすれば、とりあえず、つねにincludeしたいmenu.phpに
(menu.phpがa.phpなりなんなりより同一階層ないしはそれより上の階層にあるのが前提みたいだから)

function relative_url(){
if ($relative = substr_count($_SERVER['SCRIPT_FILENAME'],'/') - substr_count(__FILE__,'/')){
return str_repeat ('../',$relative);
}
}

と書いておいて、a.phpなりなんなりは、それぞれ
echo '<a href="'.relative_url().'a.php">aaaaaaa</a>';
とか、しておけばよろしかろう。
勉強が進んだら、これも馬鹿くさい場当たりの手段で危険を伴うってこともわかってくる
ので一歩ずつがんばってください。
なお、レスで参照してるサイトの情報は初心者が見るものとしては、セキュリティ的に
不正確なので本当に参考程度にとどめておくこと。

338:nobodyさん
07/04/15 12:52:30
>>336
if($PHP_AUTH_USER=="user")&&($PHP_AUTH_PW=="word"))
ひとまず user と word を変数にして、いくら増やしても問題無いロジックを考えなさい。

配列とforeachでなんとかなるはず。
っていうか基礎の勉強が必要じゃね、このレベルだと・・。
何か気に入った入門用書籍を一からやってみる事をオススメする。

339:nobodyさん
07/04/15 12:55:44
>>336
if文で書いてるのでユーザが増えたら認証できなくなるってことですか。
なるほどわかりました。
でも気になるんだけどmember.txtはどこに使ってるの?

340:317
07/04/15 13:44:02
とりあえず自分なりに作ってみたんですが
$listf = fopen ("member.txt", "r");
list($duserid,$dpassword) = fgetcsv($listf, 1024, "|");
$duserid=trim($duserid);
$dpassword=trim($dpassword);
while (!feof ($listf))
{
if (($_POST[userid]==$duserid)&&($_POST[password]==$dpassword) )
{
$_SESSION[‘valid_user’]=$_POST[userid];
break;
}
list($duserid,$dpassword) = fgetcsv($listf, 1024, ":");
$duserid=trim($duserid);
$dpassword=trim($dpassword);
}
fclose($listf);

>>338
まだPHPはじめて1ヵ月半で、基礎が足りないのは身にしみてます
あまり頭がよくないのはもう十分わかってらっしゃると思うので
こういう演習で体に覚えさせないとなかなか身につかないので
本はちょっと手に入れるのが難しい環境だもんで、サイトのチュートリアル等を
コツコツやってみます。ありがとうございました

>>339
上記のコードだとさっきよりかは自分のしたいことがわかってもらえるかなと
書いてみたんですが、文章よりもわかりやすいことを祈ります

341:nobodyさん
07/04/15 13:56:18
>>340
間違ってるのでこれじゃ動かんでしょ。一応、そのまま使うとすれば、

$listf = fopen ("member.txt", "r");

while (($IDPWD = fgetcsv($listf, 1024, "|")) !== FALSE)
{
list($duserid,$dpassword) = fgetcsv($listf, 1024, "|");


}

list($duserid,$dpassword) = fgetcsv($listf, 1024, "|");
$duserid=trim($duserid);
$dpassword=trim($dpassword);
while (!feof ($listf))
{
if (($_POST[userid]==$duserid)&&($_POST[password]==$dpassword) )
{
$_SESSION[‘valid_user’]=$_POST[userid];
break;
}
list($duserid,$dpassword) = fgetcsv($listf, 1024, ":");
$duserid=trim($duserid);
$dpassword=trim($dpassword);
}
fclose($listf);

342:nobodyさん
07/04/15 13:57:03
>>341
あらら、途中で間違って送信しちゃった。
書き直すからまってねw



343:341,342
07/04/15 14:00:30
色々危険なところとか、書き方おかしいところがあるけどそれはここでは問わないことにして動くかどうか
ってだけで書き直すと次のようになる。

$listf = fopen ("member.txt", "r");

while (($IDPWD = fgetcsv($listf, 1024, "|")) !== FALSE)
{
list($duserid,$dpassword) = $IDPWD;
$duserid = trim($duserid);
$dpassword = trim($dpassword);

if (($_POST['userid']==$duserid) && ($_POST['password']==$dpassword) )
{
$_SESSION[‘valid_user’]=$_POST['userid'];
break;
}

}

fclose($listf);



344:317
07/04/15 14:03:31
>>343
確かに簡単にユーザーIDとパスワードだけのテキストをおいて
やってみたんですけど動かなかったです
パスワードをテキストファイルにおいてる段階でかなりありえないし
とりあえず動かして見て、自分でどの部分が間違ってどうするべきか
ってのをちょっと考えてみます
本当にありがとうございます

345:nobodyさん
07/04/15 14:08:33
>>344
とりあえず句読点を付けてください。
それから関係ない情報は省いてください。
回答者にとって読みやすい、理解しやすい文章を書くという意識が抜けていると思います。
思ったことをそのまま書いていたら質問として最低の文章になります。
何がしたくて、何が問題で、何を聞きたいのか、を明確にしてください。
もしかして女性だったりしますか?

346:341,342
07/04/15 14:18:45
>>344
ひとつ言っておくと、パスワードがファイル格納だから、
危険だなんて思うのがもっとも危険ですよ。
そんなこと言ったらUNIXの認証システムは全部危険になる。

PHPを生半可にかじって、次はDBとの連携だ、なんて考えるのは穴を増やす
のと同じ。ちゃんとしたパスワードファイルとハッシュを扱えて、またネットワーク経由
でのデータ漏れがないようにプログラムをちゃんと書くことがまず大切。
ユーザが大したことないなら、私はパスワード認証周りにDBを使いません。

上で書いた「危険」というのも、パスワードファイル云々ではなくて、
$_POST[userid]みたいな書き方を$_POST['userid']とちゃんと書くとか、
isset($_POST['userid'])を確かめたり$_POST['userid']がFALSEじゃないかとか
チェックするなど。
そういう部分を書き直す必要があるけど、それは端折れば、って意味です。




347:317
07/04/15 14:18:47
>>345
すいません。ちゃんと付けるようにします。
質問する前に何が問題点で、何を知りたいのか、
というのをもっと考えるようにします。
今回、自分でもあやふやだったとわかりますし。
一応女です。

348:nobodyさん
07/04/15 14:38:57
男か女かなんてどうでもいいやん

349:317
07/04/15 15:11:00
>>346
大変参考になりました。
文法とかもチェックするようにします。
一応動いてくれたのでそれを自分の求める形にapplyさせてみます。
色々と本当にありがとうございました。

350:nobodyさん
07/04/15 15:19:58
>>348
質問文を論理的に書いてくれるなら男か女かなんてどうでもいいけどな

351:nobodyさん
07/04/15 15:25:41 Fa0l1a7N
CURLを使ってヤフーにログインしようとしているですが安定になったらサーバー側が
変わってログイオンできなくなりました。CURL専用掲示板とかはないですか?

352:nobodyさん
07/04/15 15:46:25
ないと思うので、ここかスレリンク(php板)で質問投げれば?
PHPモジュールに組み込みしたCURL関数の質問ならすれ違いじゃない

353:332
07/04/15 16:53:43
>>337
相対パスで書きたいんです。
とても参考になりました。ありがとうございます。

354:nobodyさん
07/04/15 16:59:44
myphpadminで
特定の項目(エクセルでいう行)を一度に改変したいのですが
具体的に何かコマンドを打ち込んでやるのですか

それともどこかをクリックすれば可能なのですか?

355:nobodyさん
07/04/15 17:00:52
TOPに表示にあたる文字列1を
全部0に書き換えたいのです。

356:nobodyさん
07/04/15 17:17:58
myphpadminは知らんがphpmyadminなら行のところの編集ボタンをクリックすれば
その行の編集ページに飛ぶと思います。

357:nobodyさん
07/04/15 17:34:10
早速試してみますありがとうございました

358:nobodyさん
07/04/15 23:58:29 5HEOKy6k
2ちゃんねるのdatを1行づつ読み込んで、レスアンカーにリンクタグをつけたいのですが、レス番号に全角数字を使った場合、hrefの中も全角数字になってしまいます。
href内の数字を半角数字にする方法はないでしょうか。

$Res = mb_eregi_replace( "(>>|>>|>>)(\d{1,4}|[0-9]{1,4})", "<a href=\"#\\2"\" target=\"_blank\">\\1\\2</a>", $Res );


359:358
07/04/16 00:09:12
訂正
$Res = mb_eregi_replace( "(>>|&gt;&gt;|>>)(\d{1,4}|[0-9]{1,4})", "<a href=\"#\\2"\" target=\"_blank\">\\1\\2</a>", $Res );

360:nobodyさん
07/04/16 00:17:21
このすれいらなくない?

361:nobodyさん
07/04/16 01:18:08
>>359
全角文字を半角文字にするマルチバイトの文字列関数が何かあったよ。マニュアル見てみて。

362:358
07/04/16 01:35:50
mb_convert_kanaですよね
リンクタグにはさまれた部分まで半角になってしまう方法しか思いつかなくて

$datRes = mb_eregi_replace( "(>>|&gt;&gt;|>>)(\d{1,4}|[0-9]{1,4})", "<a href=\"#" . mb_convert_kana( "\\2", 'n' ) . "\" target=\"_blank\">\\1\\2</a>", $datRes );
これだと、ちゃんと動かないし

363:nobodyさん
07/04/16 08:18:29
頭使おうぜ

364:nobodyさん
07/04/16 16:10:54
preg使おうぜ

365:nobodyさん
07/04/16 16:38:16
foreach文やif文の後に来る、 :はどういう意味でしょうか。
wordpressのテーマファイルをいじっていて気になったのですが、
普通なら、{ }がくると思うのですが。

366:nobodyさん
07/04/16 17:52:39
>普通なら
{}で制御するか:...endなんたら で制御するかは完全等価。
別に不思議でもなんでもない。

367:nobodyさん
07/04/16 20:25:20 KZll3+ph
着メロをダウンロードさせるには
どのようにすればいいのでしょうか?

着メロファイルは、自分で作るように考えています

368:nobodyさん
07/04/16 21:57:19
<a href="chakumero.mid">クリックしてね</a>

369:nobodyさん
07/04/16 23:46:28
foreachで参照渡しできないPHP4なんてさっさと滅びればいいのに

370:nobodyさん
07/04/17 08:21:05
良く通販サイトで商品をクリックすると履歴が残って

「あなたの最近ご覧になった商品」みたいな感じで一覧がでますが、
あれってどういう仕組みでできているのでしょうか?
PHPサイトでした。

371:nobodyさん
07/04/17 08:27:49
>>370 袋の中に最近見た商品を入れてるのさ。 万引きではないぞ。

372:nobodyさん
07/04/17 09:19:11
>>371
いまいちよくわかりませんが、なにか良い検索ワードがあったら教えてください。


373:nobodyさん
07/04/17 09:53:14
つクッキー

374:nobodyさん
07/04/17 10:11:15
>>373
セッションIDとか管理とかまでは行き着いたのですが、
なかなか具体的に説明しているサイトに出会えません^^;

クリックされた商品を一覧としてだしたいのですが・・



375:nobodyさん
07/04/17 11:01:02
セッションIDとか管理とかを使ってそういう仕組みを作るのがプログラミング


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5386日前に更新/125 KB
担当:undef