くだすれPHP(超初心者用)2at PHP
くだすれPHP(超初心者用)2 - 暇つぶし2ch1:nobodyさん
06/11/27 17:46:42
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
URLリンク(www.php.net)

2:nobodyさん
06/11/27 17:52:42
では早速。

みなさん、PHPを書く時、<?~?>か<?php~?>どちらで書いてます?
最近、後者で書く時が多いのですが、そう癖づけた方がいいのでしょうか?
それともぶっちゃけあまり変わらないから、<?~?>でも問題ないのでしょうか?

3:nobodyさん
06/11/27 18:12:27
超初心者はなにも考えず後者を使え

4:前すれ986
06/11/28 01:12:54
探したら確かに
/usr/share/php5/
にphp.ini-distがありました。

debianだと元々設定ファイルが無いんですね。
/etc以下にはありませんでした。

しかしながら検索で*を使うのを忘れてました。
恥ずかしい限りです。でも皆さんありがとうございます。

5:QQQ
06/11/28 11:25:10 trk6Ybn1
テキストボックス一つに対してボタンを二つ用意して
それぞれのボタンで入力に対して異なる処理をさせたいんですが、
どうやったらできますか?
現状ソースは以下
<INPUT TYPE="text" NAME="var" SIZE="20">
<FORM ACTION="URLリンク(localhost) METHOD=POST>
<INPUT TYPE="submit" VALUE="実行1">    
</FORM>
<FORM ACTION="URLリンク(localhost) METHOD=POST>
<INPUT TYPE="submit" VALUE="実行2">    
</FORM>
元々、一行目の文を<form>の中に入れてました。ボタンを二つに
したかったので外に出しちゃいましたwこれでは値が渡されません。
あ、これPHPファイルをコールする直前のHTML内の処理ですね。
でもできれば回答お願いします。

6:nobodyさん
06/11/28 11:29:04
超初心者ですが、foreachについてお聞きしたいことが。
foreachには、
1 foreach(array_expression as $value)
2 foreach(array_expression as $key => $value)
の2つの形式がありますよね?
1では、ループの値は$valueに格納されますが、2のほうでは$keyと$valueに
それぞれ何が格納されて、どんな時に使うのか分かりません。マニュアルを
見たのですが、ピンとこなくて。。。

7:6
06/11/28 12:09:48
わかりましたので取り下げで。

8:nobodyさん
06/11/28 12:18:54
>>5
っ name

9:nobodyさん
06/11/28 13:46:11 PnRJydza
テキストファイルの中身をすべて出力するには
どうすればよいのでしょうか?
日本語が文字化けしてしまいます・・

10:nobodyさん
06/11/28 13:56:58
>>2
ローカルでshort open tagをoffにしてるから<?php
<? ?>で動かないことはあっても<?php ?>で動かないことはないからね


11:nobodyさん
06/11/28 13:59:20
>>9
mb_string 入れてる?
php.ini の [mbstring]の設定は?
読み込もうとしているテキストファイルの文字コードは?

12:9
06/11/28 14:17:55 PnRJydza
>>11
文字コード変えてみたらうまくいくました
ありがとうございます

あと、テキストファイルに数行の文が書かれているのですが
読み込んで出力しても、改行がされてませんどうすれば
テキストファイルの内容そのまま出力できますか?


13:nobodyさん
06/11/28 14:35:44
>>12
どうやって取り込んだの?
file 関数使えばファイル全体を読み込んで配列に格納するし、
fgets で読めばァイルポインタから 1 行づつ取得してるんだろうし。

非エスパーでも回答可能な質問汁。

14:nobodyさん
06/11/28 14:41:24
>>12
ブラウザで見てるからだろ
ブラウザ上での改行は<br>だから

15:nobodyさん
06/11/28 14:41:41
<br />つければいいんじゃね

16:9
06/11/28 14:41:44 PnRJydza
readfileを使いました。
説明足りなくてごめんなさい

17:nobodyさん
06/11/28 14:42:40
LFが改行じゃないシステムとか

18:nobodyさん
06/11/28 14:46:27
>>16
今回は各行の後ろに「改行コード」(コマンドラインへ出力) or 「<br>」(ブラウザへ出力)を
加えたいから、fileで取り組んで配列ループして改行コードを追加しながら出力すればいいんじゃない?

19:9
06/11/28 15:03:00 PnRJydza
何度もすいませんm(__)m
配列ループするとテキストファイルの中身の
文の行数だけループはどうすれば?
いろいろな行数のファイルを読み込みたいんですが

20:nobodyさん
06/11/28 15:12:23
全部読んでまとめてnl2br

21:nobodyさん
06/11/28 15:17:15
>>19
PHP のマニュアルの foreach を参照のこと。

URLリンク(jp.php.net)

他にも方法はあるけどね。

22:nobodyさん
06/11/28 17:06:22
>>19
ループ使わないやり方
echo str_replace("\n", "<br>", file_get_contents("ファイル"));
\nは改行コードによって変わる

23:nobodyさん
06/11/28 17:11:46
これでもいけるかな?
echo nl2br(file_get_contents('ファイル名'));

24:nobodyさん
06/11/28 20:35:30 xi49mohN
さぁさぁさぁ、超初心者と聞いて俺がきましたよ!
超初心者が聞きます!
……PHPって何ですか?

25:nobodyさん
06/11/28 20:36:45
嘘つくなハゲ

26:nobodyさん
06/11/29 10:28:53
opendirでディレクトリ内を開いて書き出した時、
.
..
test.gif

みたいに” . ”が出力されます。これを削除して出力するにはどうしたらいいのでしょうか? 

27:nobodyさん
06/11/29 10:37:14
while ($entry = readdir($dir)) {
if ($entry == '.' || $entry == '..') {
continue;
}
echo $entry . "\n";
}
とか

28:nobodyさん
06/11/29 10:52:27
phpこれから勉強しようかなと思ってるんだけど
2ちゃんの壷のlocalhost8095は削除しとかないとダメかな?
アパッチも使おうかなと思ってるんだけど。

29:nobodyさん
06/11/29 10:55:37
ローカルでテスト中のときだけ壷停止しとけばおk

30:nobodyさん
06/11/29 16:41:30 gqW8eidG
フォームで番号入力させてボタン押したら
それをもとにHTMLファイル作成して
そこに飛ぶようにしたいんですけど
どのようにしたらいいでしょうか?
action先にあるphpファイル指定して、ファイル作成して
そのファイルに飛ぶって感じで考えたんですけど
かなり無駄ですよね・・・なにかいい方法ないですか?

31:nobodyさん
06/11/29 16:53:50
>>30
マルチすんな。

32:30
06/11/29 17:00:36 gqW8eidG
ごめんなさい。今日中にやらなきゃだめで・・つい

33:nobodyさん
06/11/29 17:48:47
つい殺してしまった
つい盗んでしまった

34:nobodyさん
06/11/30 04:34:34 9PLb0L+/
URLリンク(w1.nirai.ne.jp)
↑ここの二択クイズのスクリプトを設置してみたんですけど
エラー(Parse error: syntax error, unexpected '/')が出て動きません。
単純な構文の間違え?考えたのですがわかりません。

エラーが出るのは下のスクリプトの中の←の部分。
前後もおかしいところはないと思うんですが。

どうかわかる方、教えて下さいませ。

一部抜粋(元はURLリンク(w1.nirai.ne.jp)

///////////////////////////////////////////////////////////////////////////////////個人成績表の表示
function RESULT($name_in){
global $office;
if(file_exists("./quiz/name_$office/$name_in") and $name_in !=null){
echo "名前:".$name_in." ".$office."成績表";
$result = file("./quiz/name_$office/$name_in"); ←この行
$array_cnt = count($result);
echo "<table border='1'>";
echo "<tr><td>DATE&TIME</td><td>LEVEL</td><td>POINT</td><td>TIME</td><td>BAR</td></tr>";
$cnt = 0;
while($cnt < $array_cnt){






35:nobodyさん
06/11/30 04:55:17
>>34
ソースコードをShift_JISで保存してるから。
問題の行は一個上の echo ... の部分で、表はsjisだと 95 5c。 5c てのは \。
なので 成績表" の " がエスケープされてしまう。

とりあえず 成績表\" のように \ を追加すればいいけど、ソースコードは utf-8n か
euc-jp で書くようにしたほうがいいよ

36:nobodyさん
06/11/30 06:35:19
>>35
ありがとうございます。解決しました!
しかし、今度はログイン画面や問題表示画面にエラーが出てきたので、引き続き考えてみます。

37:34
06/11/30 19:46:18
XREAのセーフモードというのが邪魔してるみたいです。

どこかのサイトに書いてあったのを参考に
.htaccessに

<Files index.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

として設置して、よくわからないままエラーメッセージは
出なくなりましたが、成績が記録されないです。

38:nobodyさん
06/11/30 19:52:05
なぜ記録されないのか調べて、それに応じた対策をとればいい

39:nobodyさん
06/12/01 02:03:15 eNWcG6C2
スクリプト内で$_GET['id']=TRUEという処理を使う場合、
外部から$_GET['id']===TRUEになる値を入れることは絶対できない?

40:nobodyさん
06/12/01 05:05:05
>>39
URLリンク(jp.php.net)
---------------------------------------------------
boolean に変換する場合、次の値は FALSE とみなされます。
integer の 0 (ゼロ)
float の 0.0 (ゼロ)
空の文字列、 および文字列の "0"

その他の値は全て TRUE とみなされます (全ての resourceを含みます)。
---------------------------------------------------
hoge.php?id=0 はflase
0以外はtrue

41:nobodyさん
06/12/01 06:24:14
>>39
無理だと思うけど、$_GETに値を代入するのは気持ち悪いな

42:nobodyさん
06/12/01 07:10:53
>>40
==ならその通りだけど>>39は===だ

43:nobodyさん
06/12/01 13:00:14 foRsHFAa
初めまして^^
配布スクリプトでの質問なんですが
URLリンク(php.goinkyo.be)
のバナーランダム表示スクリプトです。
同じバナーが表示されないように出来るのでしょうか??

そのまま設置するとかなりの確率で同じバナーが表示されてしまうのです…

宜しくお願い致します!!

44:nobodyさん
06/12/01 13:08:17
>>43
前回表示したバナーを記録しといて、表示するためにバナーのリストを読んだ段階で
記録されてるのを除外すればいいんじゃないの

45:nobodyさん
06/12/01 13:22:03 foRsHFAa
>>44

早速ありがとうございます!!

いや、当方初心者なものでどんな記述を書き足せば良いか
分からないんですよ、、

簡単なものであれば教えていただけないでしょうか?

46:nobodyさん
06/12/01 13:55:23
>>43
「ランダム」の意味を盲一回よく考えよう

バナーの種類を二万個ぐらいまで増やせば?

47:nobodyさん
06/12/01 16:22:28
くだらねーレスだなオイ

48:nobodyさん
06/12/01 17:01:57
だってくだすれだもん

49:nobodyさん
06/12/01 17:35:53
バナーを三マンコくらいにしたらいいよ。

50:nobodyさん
06/12/01 20:18:22
「ガンダム」の意味を教えてください

51:nobodyさん
06/12/01 20:57:35
「癌堕夢」
中国の孟子さんが癌になる夢を見たらしいよ

52:nobodyさん
06/12/01 22:40:05 LbNSuYCs
アップローダー作ろうと思ってるんですが、
アップするファイルを特定の拡張子だけに制限することってできますか?

53:nobodyさん
06/12/01 23:41:03
>>52
できます

54:nobodyさん
06/12/01 23:48:44 LbNSuYCs
>>53
サンクス
関数とか教えて欲しいけど、自分でやってみる!
うぉおおおおおゴールはすぐそこだ

55:nobodyさん
06/12/02 06:43:09
>>54
とりあえず最初は単純にファイル名だけチェック。
これが出来たら、次のレベル、中身をチェック。


56:nobodyさん
06/12/02 08:40:19
>>54
どんな拡張子に制限したいのか分からないけど、MIMEタイプを
指定するだけっていう簡単な方法もあるよ。

57:nobodyさん
06/12/02 19:32:22
普通は容量制限が有るから容量もチェックだな。
1GBとかうpされたら即垢停止。

58:nobodyさん
06/12/03 03:10:10 NU1tc6JW
掲示板でユーザーからの投稿をサニタイズ(だったけ?)しない
(htmlspecialchars等かまさない)とき、掲示板閲覧者じゃなくて、
掲示板設置者が気をつける点やこれは取り除いておけってのありますか?
htmlタグやjavascriptで利用者がクッキー盗まれたり、ブラクラへ飛ばされても
一向にかまわないんですが、スクリプト設置者が不利益になるのは避けたいという
(サーバーに対して変なコマンドを使われたりするような)、
そういう趣旨の掲示板です

59:nobodyさん
06/12/03 15:39:46
>>58
まぁあれだ、巨大な文字を一つ貼り付けられるだけで掲示板として機能しなくなるわけだが。それでもいいのか?

60:nobodyさん
06/12/03 16:02:40
訴えられるのは管理者だが

61:nobodyさん
06/12/03 17:37:54
>>58
phpとかの問題ではないが、
裁判沙汰になる可能性を踏まえて海外鯖使う

62:58
06/12/03 22:48:21 NU1tc6JW
外部からの変数にeval()とかしない限り何書かれてもおkってことでいいですか?
フォントいじり系は定期的にログ全削除するから平気です
閲覧者のPCが固まっても、管理人は別ルートの管理室出入り口を作るので


63:nobodyさん
06/12/03 23:17:23
>>62
どんな方法でデータを記録していくのか知らないが、
保存しているデータを、あぼんされてもいいなら放っておけば?

64:nobodyさん
06/12/04 00:47:17
>>62
仕様が”攻撃者が任意のHTMLやJSを埋め込む事を許容する”という物なら(それを想定した上で管理者に安全に作れば)大丈夫。
ま、せいぜい気を付けるこった。

65:nobodyさん
06/12/04 18:10:10
なんらかのフィンガープリントを取って、作成した本人のみが閲覧できるようにするベッキー

66:nobodyさん
06/12/08 01:11:42 6mMpPBwV
DBの文字コードがUTF-8、phpがEUC-JP、http_inputは空、http_outputはEUC-JPです。
レコード中の1カラム(列名:name)だけが2バイト文字を含む文字列データなのですが、
DBから取り出したレコード($record)をprint_r();でブラウザ上に表示したら見事に化けました。
そこで、$record['name'] = mb_convert_encoding($record['name'],'EUC-JP','UTF-8');
してからprint_r();してみたんですが相変わらず化けたままです。
自分は何を見落としているのでしょうか?

67:nobodyさん
06/12/08 03:10:20 P4e+I898
cgiの中でphpを動かすにはどうすればいいですか?
本当に超初心者的質問になっていて申し訳ないのですが

68:nobodyさん
06/12/08 09:09:48
>>67
サーバの設定を聞いてるなら何を使っているのかを書こう。
ApacheとかIISとかバージョンも含めて。
あと、OSやPHPはどうやって入れたの?

69:nobodyさん
06/12/08 09:18:45 M2nmYmnp
スレ違いならすみません。
他サイトでも質問したのですが、回答がなくて・・・。

FFAやInfinity2のようなブラウザで遊べるネットゲームを作りたいと思ったのですが、ある程度システムは決めた状態で、
まず何から作っていけば良いのでしょうか?
ちなみに、携帯専用のゲームの予定です。
以前に作ってみたんですが、いろいろシステムを考えているうちに書き直してばっかりなので、
まったく進まない状態なのです。
皆様が作るとすれば、まずどのようなことから考えて、手をつけていきますか?

FFA
URLリンク(another-ffa.ddo.jp:8080)

Infinity2
http://?www.infinity2.ne.jp:88/?

70:nobodyさん
06/12/08 17:13:15
日本語でおk

71:nobodyさん
06/12/08 18:19:18
>>69
作る以前の問題だ。

「ある程度決めた状態」である筈なのに「書き直してばかり」なのは仕様が固まってない証拠。
何を作りたいのか"詳細"に決める事から始めろ。

72:nobodyさん
06/12/09 08:24:15
普通はDBがutfなら全部utfにしてしまう。理由は文字化けしないから。
どこか一つでも文字コード変換の処理をさせると文字化けの問題と戦うことになるよ。

73:nobodyさん
06/12/09 19:20:48
やはり統一が基本ですか…
確かに、まだphpソースもそこからincludeするhtmlも数個しか作成してないから
あとはミスなく各種設定ファイルを弄るだけなんですよね。

いやはや、落ち着いているものをひっくり返すのにはどうにも積極的になれなくて…
でも他の方の意見も聞けて、やっと「やるしかない!」という気になりました。
趣味レベルだとどーしても面倒な事があると躊躇ってしまう^^;
レス、大変助かりました。ありがとうございました。

74:nobodyさん
06/12/13 15:56:39 vw+L/J5V
6hotの進化版アクセス解析Lapis(URLリンク(act.st))を使ってます。
このスクリプトで使ってる.htaccessに他のソースを入れたいのですが
サーバーエラーになってしまいました。

1つの.htaccessにアク解用のタグやIPはじき、
includeのソースを入れたい場合、どう書き込めばいいですか?

75:nobodyさん
06/12/13 16:19:42
そういや以前.htaccessの偉い人ってスレがあったな
ってか、アク解用のタグってなに?
ってかてか、web政策板できいたら?
レスがあるかは知らんが

76:nobodyさん
06/12/14 09:19:59
>>nobodyさん
アクセス解析でもhtaccess使ってるし、インクルードもしたいんだけど、
その両方を1つのhtaccessに書き込むと500エラーになってしまうんです。
Web板の方がいいのかな・・・自分2chの空気なんか読んだ事ないからな・・・
ありがとうございました。

77:nobodyさん
06/12/14 12:07:39
>>76
とりあえず半年ROMっとけ

78:nobodyさん
06/12/14 15:02:02 eawOm30r
file_get_contentsとfile_put_contentsでファイルの内容を
別のファイルに書き込みたいんですが
file_put_contentsのさいに、書き込み先のファイルに上書きではなく
もとからあるテキストの下に続けて書き込みたいのですがどうすれば?

79:nobodyさん
06/12/15 16:32:56 GA2h1KlN
今まで、register_globals = on の環境でヌクヌクしてたのだけれど、
php のヴァージョンをあげたのを機会に
register_globals = は off にしたほうがよいのかしら?

$a = $_GET['a'] とか $b = $_POST['b'] とかみんな書いてるの?オセーテください

80:nobodyさん
06/12/15 16:34:58
>>79
うん

81:79
06/12/15 16:44:39
そか...ありがトン めんどクサイ 世の中になったもんだな...

82:nobodyさん
06/12/15 19:45:01
>>81
ガンバレヨ
間違っても、無条件にextractとかしないようにね

83:nobodyさん
06/12/16 03:07:14 J1is8RMn
環境さえ整っていたら、
DBから取得した1レコードの内容をprint_rで表示した時、
2バイト文字のデータもブラウザ上に化けずに表示されるもんですか?

84:nobodyさん
06/12/16 10:08:54
>>83
される

85:nobodyさん
06/12/16 19:57:15
ブラウザの文字コード解析って割と優秀。

86:hogeman
06/12/17 23:39:20 Cg0EPVD3
以下のようなに日本語のパラメータを渡そうとると
URLリンク(hoge.jp)ほげ

以下のような感じでurlencode?,MIME? された状態になるんですが
URLリンク(hoge.jp)

以下のphp内で所得すると
$name = htmlspecialchars( $_GET["name"]);

print $name
の結果が化けるんですが、上手く渡す方法ないでしょうか?



87:nobodyさん
06/12/17 23:42:12
phpがインストールできないから、質問しようと思ったけど、XAMPPでインストールすることにした。
今ダウンロード中だが、激しく遅い。

88:nobodyさん
06/12/17 23:53:00
>>86
2byteコードを渡すときは、予めURLエンコードをすべし

「ほげ」を渡したいなら、
name=%82%D9%82%B0

89:hogeman
06/12/18 00:39:30 P9WLyRRW
88さんの方法で解決しました、ありがとうございますm(_ _)m

90:nobodyさん
06/12/19 13:42:23 Z1TZWbj7
>>61
裁判沙汰になっても安心な鯖会社ってどこっすかね?
2ちゃんが入ってるとこ?

91:nobodyさん
06/12/19 14:10:36
はやく答えろや。時間がもったいないんだけどな・・・

92:nobodyさん
06/12/19 16:48:27
>>90
はいはい、厨な質問が来ましたよ。
裁判沙汰になっても安心な鯖会社とか・・( ´,_ゝ`)プッ

93:nobodyさん
06/12/19 18:00:43
>>92 この板に来てるから要注意

>>90-91 の思考は、全く下記と同じ
URLリンク(xoopscube.jp)

同板のosCommerceスレで基地外omoti大暴れしてる。
スレリンク(php板)l50

放置です


94:nobodyさん
06/12/19 20:50:47
あいあい

95:nobodyさん
06/12/19 21:23:31
>>93
あぁ!omotiか
以前omotiがスレ乱立させてた頃に弄って遊んだ覚えが・・。

まだやってたのか

96:nobodyさん
06/12/19 23:02:10
美乳おいときますね

97:nobodyさん
06/12/19 23:03:49
URLリンク(sports.yahoo.co.jp)

98:nobodyさん
06/12/20 23:14:19
セッション難しいね。
おまいらどうやって勉強したの?
クッキー程度で十分な仕事しかしてないのか?

セッションスレ逝ってくる。

99:nobodyさん
06/12/24 14:31:51 z1YcVJbQ
フォームからのスペース(反核全角)を伴う改行(\n)はどうやって削除してる?
う ん こ    ち ん こ   改行
     改行
   改行
ば か ば か ば か 改行
    改行
しね

みたいなの

100:nobodyさん
06/12/24 21:58:47
ヒィント:正規表現

101:nobodyさん
06/12/25 11:55:32
>>99 うんこはトイレ

102:nobodyさん
06/12/25 21:56:13 uNaG2oXR
可変変数で
$variables = array('test[0]');
${$variables[0]} = 'aaaaaa';
echo $test[0];

はダメ?

103:nobodyさん
06/12/29 01:13:59
ここで聞くのも間違っているかもしれませんが質問です。

phpはサーバーサイドで動くプログラムだそうですが、
同じプログラム文を複数の人がほぼ同時にアクセスしても大丈夫なのでしょうか?
ファイルロックについて調べていたら疑問に思いました。

例えばこういうことです。


<?php   
$a = 1;   (1)
$a = 2;   (2)
print $a;  (3)
?>

といった文があるとして最初にアクセスした[ユーザーA]が(2)の処理まで終わり、
(3)の処理に入る前に(有り得るのか分かりませんが)[ユーザーB]が
(1)の処理をしてしまった場合[ユーザーA]が(3)を処理すると[1]と表示して
しまうか知りたいです。

どうかよろしくお願いします。




104:nobodyさん
06/12/29 01:34:53
>>103
PHPにユーザーからリクエストがある度に新しく生成され、レスポンスを返した後に破棄される。
つまり、同時にアクセスされても全く問題ない。必ず"2"と表示されます。

注意する必要がある物はファイルやデータベースで、これは適切にロックして同時に実行されたPHPを制御してあげれば問題ない。

105:nobodyさん
06/12/29 01:47:21
>>104
回答ありがとうございます。
phpプログラム自体は同時に接続されてもまったく問題ないが
それ以外の部分に関して操作する場合は気をつけなければならない。
というわけですね。

胸のつかえが取れ、プログラム作成もはかどりそうです
ありがとうございました。

106:nobodyさん
06/12/29 10:14:43
シングルクオートとダブルクオートの使い分け方を
簡単におしえてくだちい。
シングルクオートのほうが処理速度が1.2倍速いという事は
ググって分かりましたが。

107:nobodyさん
06/12/29 10:17:39
>>106
文字列内で変数を展開したい時にはダブル

108:nobodyさん
06/12/29 11:03:10
>>107
まりがとう

109:nobodyさん
06/12/29 12:27:29
この年末年始の休暇で、PHPを勉強したいなあと思っています。
CSVの中身をランダムに表示したりとか、そういうことから始めたいなあと思っています。

が、わたしはプログラマーではないので、プログラムをちゃんと勉強したことはありません。
本家のマニュアルとかユーザ会のページとか見ても「この関数を使えばなんとかなりそうだなあ」
という程度にはわかるのですが、その先、実際にプログラムにすることができません。

こんなわたしに、PHPのおもしろさや便利さがわかる書籍やサイトがあったら、おしえてください。

よろしくお願いします。

110:nobodyさん
06/12/31 15:29:32
他人の頼ってる時点でダメポ。

そもそも速度求めるならphpって選択肢無いし。
気にせず使うのが良いよ。

111:nobodyさん
06/12/31 15:41:03
>>109
面白さや便利さなんて人それぞれ。
自分のやりたいことが明確なら、それが実現できたときに面白さや便利さを感じるんじゃないかね?
なら、そのやりたいことを実現するための方法を見つければいい。

サイトをというなら、PHPのオンラインマニュアルをお勧めするよ。
やりたいことから関数をひける非常に良くできたマニュアルだから。

112:nobodyさん
07/01/02 16:59:41
クラスの概念がイマイチ掴めない。
まぁ使わなくても何とかなるようなのしか書いてないけどさ…
やっぱり理解したい。

113:nobodyさん
07/01/03 08:40:02
javaにしとけ。


114:nobodyさん
07/01/03 14:48:50
日曜プログラマな俺もオブジェ糞指向をマスターしようと、
C++(その前にやるC含む)・Java・Rubyの本をしこたま買い込んだが

ほとんど読んでない

今年は頑張って読んでマスター目指すよ('A`)ノシ

115:nobodyさん
07/01/09 23:27:55 k5CRwMBH
思いっきりJavaのパクリです
しかも中途半端ときてます
ほんとうにありがとうございました

116:nobodyさん
07/01/11 15:36:01

$msg_str .= "";
$msg_str .= "<FONT COLOR=RED SIZE=4>";
$msg_str .= "名前が長すぎます。半角20文字(全角10文字)以内で";
$msg_str .= "入力してください。</FONT><BR>";

とある参考書に書いていました。
一行目の意味が分かりません。無くても表示されます。
解説してもらえたらうれしいです。

117:nobodyさん
07/01/11 15:53:20
1行目は
$msg_str .= "";
ではなく
$msg_str = "";
でないか?

もし上なら出版社のミス。
下なら、$msg_strの値を空にしてる。

もしこの行より前で $msg_strに値が入っていたら、続けて表示されてしまうから一旦空にしてるんじゃない?

118:nobodyさん
07/01/11 16:20:20
>>116
$msg_str = "";
がないとNotice errorになる(未定義の変数を使用しましたとか)

119:nobodyさん
07/01/11 17:58:19
>>117 >>118
お返事ありがとうございます。
仰るとおり、一行目は確かに $msg_str = "";  ですた・・・
なんとなく理解できました。

120:nobodyさん
07/01/11 18:18:56
例えば、
あいう123えおかきく234けこさ
という文字から234の数字の部分だけ取り出したいのですが、
どうすればよいでしょうか。
"きく"と"けこ"の間を取得すればいいということだけはわかるんですが、
どう書けばいいのかわかりません。

121:nobodyさん
07/01/12 13:34:49 6+bHJUiK
ドメインの範囲を教えてください

122:nobodyさん
07/01/13 19:39:53 5xFs6m9q
教えてください。
phpでメール送信をしたいのですがまだ環境を全然整えていません。
というか、どの様な環境を構築すればメール送信できるのでしょうか?
鯖用PCはあります。Win2k/AN HTTPDです。
mail()関数を使ったプログラムは書いたのですけど、
  Warning: mail() [function.mail]: "sendmail_from" not set in php.ini
  or custom "From:" header missing in C:\~\index.php on line 23
というエラーが返ってきました。
additional_headers引数にFromを設定し忘れたので当然だとは思うのですが、
SMTPサーバ?も必要なんですよね?
mail()関数とphp標準機能だけでメールって送れないですよね?
くだらない質問ですいませんが、よろしくお願いします。

123:nobodyさん
07/01/13 21:09:08
>>120
正規表現



124:nobodyさん
07/01/14 14:29:07
>>122
windows版phpはsmtpが使える
マニュアルをmailとかで検索しる

125:nobodyさん
07/01/14 14:33:39
あ・あとその英語のエラーをよく読もうな

126:122
07/01/14 23:17:53 3+hBUljF
>>125
ツッコミがいまいち理解できないのですが、ワーニングだから無視できるって事ですか?
それともphp.iniの設定してないからだよ、と?
それともFromヘッダは、設定をしてないのではなくて設定内容が間違っているのだ、
という部分でしょうか?
まさか、sendmail_from≠Fromヘッダなんですかね?
もう少しだけ詳しくご指摘いただけると助かります

>>124
それよりなにより「smtpが使える」とは、mail関数でsmtpを利用できるという意味ですか?
つまりphpとは別にsmtp環境を用意しなきゃいけないという事ですよね?
ちょっとズレますが、本によるとPEAR::Mailはmail/sendmail/smtpの3つのバックエンドに
対応しているらしく、これを目にしたが故に、
ここでいうmailならphp標準機能(よく考えるとPEARは標準機能ではないかf(^^;)だけで
メールが送信できるのかな?これ以上ソフトウェアを入れなくてもいいのかな?
という疑問がわいた次第です。
ご存知の方がおられましたらお願い致します。

127:nobodyさん
07/01/15 15:09:32
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
【桜肉】馬肉大好き【さくら肉】 [珍味]

マジ? PHPとどんな関係?

128:nobodyさん
07/01/15 18:36:46 bXy17Ecq
配列で指定したNGワードを弾きたいのですが下のように書いても上手くいきません。

$ng = array('/SEX/', '/crap/', '/fuck/');
if(ereg($ng, $coment)){
$ck = 1;
$txt .= 'NGワード。<br>';
}

下のように書いても駄目でした。
$ng = array("SEX", "crap", "fuck");

arrayの使い方が間違ってるんでしょうか?

129:nobodyさん
07/01/15 18:40:49
正規表現つかわずにin_array

130:nobodyさん
07/01/15 20:48:45
>>127
腹が減ってたんじゃね?
それともアレか、馬肉のネット通販サイトでも作ってる奴が居r

そんなスレ貼るから、馬刺し食いたくなってきたわ・・馬は乗るものじゃなくて食い物だな。

131:128
07/01/15 23:19:48 bXy17Ecq
if(ereg($ng, $coment)){
をやめにして、

$ng = array("SEX", "crap", "fuck");
if(in_array($coment, $ng)){

としたら上手くいきましたが、入力されたコメントが「SEX」でなく
「SEX SEX」になると弾かないようです。

正規表現を組み合わせて使う方法はないでしょうか?

132:nobodyさん
07/01/15 23:50:38
log/a.log というファイルの中身が一行しかない(2行以上でない)なら、
そのファイルを消すという動作をしたいのですが、
どのようにすればいいのでしょうか?

133:nobodyさん
07/01/16 08:50:28
>>132
ヒント:改行コードの数を数える

134:154
07/01/16 12:33:03 UiU1h66q
a.log 1列ずつ読んで2列目があれば削除でええのでは

135:nobodyさん
07/01/16 14:55:16
ありがとうございます
いちおうこれでいけたような気がいます。精進します

$file = 'a.log';
$fp = fopen($file, "r");
$count = 0;
while(!feof ($fp)) {
if ($line = fgets($fp) and substr($line, -1) == "\n") $count++;
}
fclose($fp);
if ($count == 1) unlink($file);


136:nobodyさん
07/01/16 15:58:40
>>135
最後まで読み込み続けるから行数が多いファイルだと無駄が多いな

137:nobodyさん
07/01/16 18:19:50
なるほど while の中で
if ($count == 2) {
unlink($file);
break;
}


138:nobodyさん
07/01/16 18:29:00
違った

if ($count >= 2) {
break;
}
失礼しました。ありがとうございます。


139:nobodyさん
07/01/17 14:44:03
初心者用の参考書を読んでたら、コードの中に突然見慣れぬ部分が出てきました。

<INPUT TYPE="text" NAME="post_name" MAXLENGTH=20
SIZE=30 VALUE="<?=_hs($post_name)?>>
の VALUE 以降です。

「_hs($post_name)」はユーザー定義関数なんですが、
<?= ?>はショートオープンタグって事なんでしょうか?
「=」って必要なんですか?

140:nobodyさん
07/01/17 17:07:15
今からphpおぼえるなら「php4」と「php5」のどちらが良いですか?

141:nobodyさん
07/01/19 13:11:51
>>139
マニュアルの最初に書いてあるよ

>>140
php5

142:nobodyさん
07/01/19 18:10:13
>>141
「<?= expression ?> は "<? echo expression ?>"のショートカットです。」
とありました。ありがとうございます!
突然説明も無く出て来るんだもんなぁ・・ブツブツ

143:nobodyさん
07/01/21 03:05:55 HMt1hfg+
UDPから情報を取得して表示させたく思い、fsockopenで変数に取り込んでるのですが
表示させると「Resource id #1」と表示されてしまいます
情報を表示させる方法はないでしょうか?

144:nobodyさん
07/01/22 08:07:10 gxeSGDG4
正規表現についてお願いします

$str = "URLリンク(www.google.com)エリミネーター タンク 外す&hl=ja&lr=&client=opera&rls=ja&start=50&sa=N";

という文章からpreg_replaceを用いて「エリミネーター タンク 外す」を$wordとして抜き出したいときは

$str = preg_replace('/q=.*?&/',"q=".$word."&",$str);

これでいいんでしょうか?

145:nobodyさん
07/01/22 14:51:17
>>143
あっちのスレでも言われているけど
マニュアル嫁

146:nobodyさん
07/01/23 05:52:03
preg_match("/\?q=(.*)&/", $str, $matches);
$word = $matches[1];
では?

147:nobodyさん
07/01/24 19:36:17
register_globals をオンにしたいのですが、方法は
php.ini の register_globals = Off を On に
書き換えてPCを再起動すればいいのでしょうか?

148:nobodyさん
07/01/24 20:55:14
>>147
まぁそれでも良いけど…

149:nobodyさん
07/01/24 21:43:08
>>147
PCの再起動でもいいけど、Apacheの再起動でOKだよ

150:nobodyさん
07/01/24 22:11:14
>>147
悪いことは言わないから、今はoffで勉強して、
いろいろなことが理解できてから、onにしてみることを
強くお勧めします。

151:nobodyさん
07/01/25 22:24:09 Ik6V9suO
<html>
<body>

<?php
$time = data(Y);
echo $time;
?>

</body>
</html>

というようにサーバーにアップロードしたんですがエラーになります。
どうしたらいいでしょうか?

152:nobodyさん
07/01/25 22:41:03
>>151
× data(Y)
○ date("Y")

153:nobodyさん
07/01/25 23:07:05 Ik6V9suO
ありがとうございます。
訂正したんですが、Fatal error: Call to undefined function: data() in /home/crom2580/public_html/test/test.php on line 5
こうなるんんですが・・・^^;
転送モードなどパーミッションは関係ありますか?

154:nobodyさん
07/01/25 23:15:14
>>153
だから、dataではなくてdate
最後は「e」だよ

155:nobodyさん
07/01/26 03:35:50
なんで名前の付け方にいちいちケチつけられないといけないんですか?ダメですか?

156:nobodyさん
07/01/26 04:58:03 umJam6Iu
a.txt
 あいうえお(\n)
 かきくけこ(\n)
 さしすせそ(\n)
 ...

上記のような別ファイルの行数を読み込んで、printで表示させたいのですが、
どのような関数を使えば行数をカウントできるのでしょうか?

157:nobodyさん
07/01/26 04:59:27
関数data()を使いたいなら、まず定義しれ。

158:nobodyさん
07/01/26 10:21:11 Z+xlHRql
ありがとうございます^^
次はこのような文をつくったのですがエラーになってしまいます;;
<html>
<body>
<?php
 $word = "さる";
 if($word == "いぬ") {
   $koe = "ワン!";
 } else if($word == "ねこ") {
   $koe = "ニャン!";
 } else if($word == "さる") {
   $koe = "ウッキー";
 } else {
   $koe = "・・・";
 }
 echo $koe;
?>

</body>
</html>
なにがいけないんでしょうか?

159:nobodyさん
07/01/26 10:27:30
もしかしてインデント(段下げ)を全角の空白で入力してない?
インデントはTabキーですよ。

160:nobodyさん
07/01/26 10:49:20 Z+xlHRql
空白でやってたよーです;;
インデントをいれるべきところはどこでしょうか?
おねがいしますm(__)m

161:nobodyさん
07/01/26 10:59:36
<html>
<body>
<?php
■$word = "さる";
■if($word == "いぬ") {
■■■$koe = "ワン!";
■} else if($word == "ねこ") {
■■■$koe = "ニャン!";
■} else if($word == "さる") {
■■■$koe = "ウッキー";
■} else {
■■■$koe = "・・・";
■}
■echo $koe;
?>

上記の(■で表示されている部分=空白)です。
空白を消して、インデントを挿入してください。。

162:nobodyさん
07/01/26 11:26:23
>>158
エラーの内容ぐらい書こうよ
Parse error: parse error, unexpected '@' ~
なら>>159,161

163:nobodyさん
07/01/26 19:15:41 Z+xlHRql
ありがとうございますm(__)m
これからそうします・・・。

164:nobodyさん
07/01/27 12:09:25 bB8XjEV+
str_repalceを使って"ハゲ"というような文字を"(データ無し)"に置換できますが
その逆として、フォーム等から送られてきた"(データ無し)"を"ハゲ"に置換する方法はありますか?
> $hoge=str_replace("","ハゲ",$hoge);
等と書いてみましたが反応が無くて困りました。

165:nobodyさん
07/01/27 12:51:41
>>164
???
if ($hoge == "") $hoge = "ハゲ";
ということかな


166:nobodyさん
07/01/27 16:29:47
>>148 >>149 >>150

お返事遅れました。
ありがとうございます。参考にいたします。

167:nobodyさん
07/01/28 10:56:48
PHP6を使ってます。$_ENVの使い方がわかりません。つかってもARRAYとしか表示されませんでした。

168:nobodyさん
07/01/28 11:59:53 ZCKLGcFE
phpって何ができるの?
一応htmlとcssはできるんだけど、php使えるようになったら
掲示板とか作る以外に何ができるんでしょうか?

自分なりに調べたんですが、
たとえばメニューを左端に全ページにおいて
もしメニューに何かを追加したいと思ったらhtmlなら全ページ
自力で直さなきゃいけないところを、phpならひとつ直すだけで
全部に反映する。みたいなのがあったんですが。

他にもサイトつくりに便利なことできるんですか?

169:nobodyさん
07/01/28 13:15:49
これは便利だな
サーバサイドスクリプトでやってるんだろうな

ってのができるようになります

170:nobodyさん
07/01/28 13:40:32
phpはサーバサイドでは

171:nobodyさん
07/01/28 14:57:56
ある

172:nobodyさん
07/01/29 11:25:24
以下の質問内容をMySqlスレで質問したらこちらへ誘導されました、、。
如何でしょうか?解決方法をお教え頂ければと思いますm(_ _)m

>同一マシンで以下の感じで同時起動を行っています。
>格納ディレクトリはもちろん別々です。
>
>【Mysql4.0】
>--
>port=3306
>socket=/tmp/my4.0.sock
>--
>
>【Mysql4.1】
>--
>port=3307
>socket=/tmp/my4.1.sock
>--
>
>設定を確認すると別々に起動しています。
>しかし、php経由で接続を試みると、
>どうしても4.0の方にしか接続できません。
>分かった事は、何やら適当なポートで接続を試みてもすべて4.0に接続しているようです。
>
>これが原因だとは思うのですが、
>なぜport3306と指定しているのに3306以外でも接続できてしまうのでしょうか?
>どうすれば指定された別々のポートでそれぞれのMysqlに接続させることができるのでしょうか?
>
>どなたかこの解決策をご教授頂ければ嬉しいです!

173:nobodyさん
07/01/29 12:52:46
>>172
「接続を試みた」と言っていますが、
実際にどんなスクリプトで接続を試みたのか判らないと
回答のしようも無いと思いますよ。

174:nobodyさん
07/01/29 23:00:02
php.iniの設定はちゃんとしてるのか?

175:172
07/01/30 00:30:34
>>173
申し訳ないです。
PEAR::DBを利用して以下のように接続しました。
--
include_once 'DB.php';
$res = DB::connect('mysql://root:*****@localhost:3307/test');
var_dump($res);
--

上記で期待した動作は、Mysql4.1への接続です。
しかし、ルートのパスワードに対するエラーが返るばかりでした。

そこでMysql4.0のルートに設定してあるパスワードに変更してみるとMysql4.0へ接続できてしまいました。
それ以降、ポートを3308、3309と変更するとすべてMysql4.0へ接続できます。


176:172
07/01/30 00:31:54
>>174
と言いますと、どの辺りの項目になりますか?
見直してみます!

177:nobodyさん
07/02/01 22:05:46 Ak2sQwef
解らないので教えてください。
只今、PHP5.2をインストールし、<? phpinfo() ? > で
テストしたところ、IE、Operaでは正しく表示されましたが、
Firefoxでは<? phpinfo() ? > とそのまま表示されました。
なぜですか?わかる人おしえてください。
サーバーはアパッチ2.2です。

178:nobodyさん
07/02/01 22:46:52
質問です。
ちょっと限定的なのですが、プロバイダのWAKWAKでホームページスペースを借りて
そこにPHPファイルをアップしてみたのですが、PHPが実行されないです。

WAKWAKのホームページを調べてみたらPHPに関する情報が全くなかったのですが
これはPHPに対応していないということでFAでしょうか?
WAKWAK使いの方いましたらお願いします。

179:nobodyさん
07/02/02 08:49:55
URLリンク(www.wakwak.com)
これ?

ここならPHP使えない

もしかしたらPHPをCGI形式で実行できるかもしれないが、それは問い合わせてみた方がいい。
PHPをCGI形式で実行ってなに?という質問はしないように。

180:nobodyさん
07/02/02 15:25:02
レスありがとう。
そうですか。やっぱりですね。CGI形式ためしてみます。

181:nobodyさん
07/02/04 01:36:25
>>177
<?
phpinfo();
?>
でもやってみた?

182:nobodyさん
07/02/04 02:09:17
>>156
$data = 'a.txt'; //ファイル位置を指定
$file = fule($data); //ファイルを1行ずつ配列に読み込む
$count = count($file); //配列の数をカウント
echo $count; //行数の出力

183:nobodyさん
07/02/10 21:29:22
質問です!!
ユーザー定義関数とinclude(&require)の違いって何ですか?

ユーザ定義関数は使用後関数内の変数は初期化され、
includeは初期化されずに以降も使われる

ぐらいの違いしかわかりません。

速度の違い何かがあるのでしょうか。
馬鹿な質問だと思いますがよろしくお願いします!!

184:nobodyさん
07/02/10 23:36:18
>>183
用途が違う、というか、あなたの考えかたからして間違ってる

ユーザ定義関数はその名の通り「ユーザが定義した関数」
include(require等も同等)は「他のファイルを読み込むために使う制御構造」
基本的に全く別の概念のもの。混同しないように。

>ユーザ定義関数は使用後関数内の変数は初期化され、
>includeは初期化されずに以降も使われる
任意の関数内でincludeを使用して別のスクリプトを読み込めば
(読み込んだスクリプトの)変数のスコープはその関数内のみとなるし、
includeでユーザ定義関数だけを読み込むこともできる(もちろん
この読み込んだ関数内の変数のスコープはその関数内だけで、
includeの外からは見えない)。

>ぐらいの違いしかわかりません。
そもそも基本的な事から間違っているから、分かっていないんだと思う。

185:nobodyさん
07/02/11 11:14:10
>>184
ありがとうございます。別の概念ということですね。
元のphp文で参照できるかできないかもですかね。

でもやっぱりよくわかりません。(別の概念ということは
わかっても本質的な違いが分からないです)


自分の考えではある値AをA'にするユーザ定義関数&別ファイルのphp文と
読み込むincludeを
ユーザー定義関数関数 = ■
include(require)       = ロ
とすると

A→■→A'
A→ロ→A'
のようになりますがこの二つの違いが変数の処理の違い以外わかりません。


よく自分の書いた文章を読むと質問の仕方が悪かったのではと思います。
「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて
それをinclude文で処理することの本質的な違いが分かりませんでした。」

自分が理解していないのだとは思いますが、このまま理解せずにやってくのも
アレだと思うので、違いが書いてあるサイトをリンクしていただけるだけでも良いので
教えてください。


186:nobodyさん
07/02/11 12:52:18
>>185
>A→■→A'
>A→ロ→A'
>のようになりますがこの二つの違いが変数の処理の違い以外わかりません。

↓こういう事かな?(コードは未検証)
---a.php---
<?php
 $c1=$a1+$b1;

---test.php---
<?php
function sub1() {
 global $a2, $b2, $c2;
 $c2=$a2+$b2;
}

$a1=1;
$a2=1;
$b1=2;
$b2=2;

sub1(); // $c1の処理
include 'a.php'; // $c2の処理

echo "\$c1={$c1} \$c2={$c2}";
// $c1=3 $c2=3

a.phpとsub1()は同じ処理だが、関数外で処理(何て言うのか失念)しているか、
関数で処理しているか、の違い。

187:nobodyさん
07/02/11 12:54:13
(´-`).。oO("$c1の処理"と"$c2の処理"が逆だ・・・)

(続き)
そもそもinclude文というのは、includeで読み込まれるファイルの内容を、
include文そのものと置き換える(もう少し厳密に言えば、include文を
"?>読まれるファイルの内容<?php"に置き換える)処理をしているに
過ぎないので(でも本当はちょっと違う。returnで抜けられる等)、
読み込むファイルの内容を一旦ペーストして考えてみては?


>「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて
>それをinclude文で処理することの本質的な違いが分かりませんでした。」

個人的には、複数のphpスクリプト内で同じ処理を行う
(同じ処理のスクリプトが存在する)場合、その関数を
別ファイルにしてincludeで読み込み、複数のファイル間で
共用する、というパターンがほとんど。
人によってはある程度の処理単位で(関数以外も含んでいる)
スクリプトに分割して、それを大元のスクリプトで場合分けして
読み込んで処理、なんて人もいるかも知れない。
この辺は個人の好みのような気がする。

なお速度的にはファイル処理をする関係上悪化してしまう。


参考になりそうなサイト等についてはちょっと分かりません。
個人的には公式マニュアルしか参考にしていないので・・・。

188:nobodyさん
07/02/11 19:14:50
>>186,187
ありがとうございます。>>186そうです
そういった時に結局やってることは同じじゃないかと思ったわけです。

説明を読むと理解できました。
例えば漢字交じりの文、

「いい天気です。」

があったとすると

includeは
外部ファイル「天気」→「てんき」
いい天気です。 →いいてんきです。 → 実行

でユーザー定義関数は
「天気」→「てんき」と設定

いい天気です → 実行

というように違うということですね。(例えが悪くてすみません)

今までは複数回使う部分(関数)を何でも外部ファイルにして
使ってました。でも>>187の後半部分の方がスマートですね。
なんにしろいろいろとありがとうございました。精進します。




189:nobodyさん
07/02/14 12:53:53
全く別の概念だから違いとかいうものじゃないってば。
includeは埋め込むもの
functionは何か引数を与えて処理させて返り値を返すもの(それだけじゃないが)

その例えもあいまいで論理的になってないし
公式マニュアルかプログラミング入門書を読んだほうがいいと思うよ


190:nobodyさん
07/02/15 02:48:47
別のファイルに格納されている文字をばらばらで取り出す方法を教えてください。

別ファイルに
2月12日/豚肉のしょうが焼き/1時30分
2月13日/海鮮丼/2時10分
2月14日/魚の煮付け/1時50分

とデータが格納されていて、
それを表にする

<table>
<tr>
<td>日付</td><td>夕食</td><td>就寝時間</td>
<td>$day</td><td>$dish</td><td>$night</td>
</tr>
</table>
といった感じでわけて取り出したいのです。

191:nobodyさん
07/02/15 06:32:56
ROOMだとカテゴリ追加や検索を付けるの面倒だから
他に携帯対応のランキングないですか?

192:nobodyさん
07/02/16 21:15:51
>>189ありがとうございます。
うーん全く別の概念ですか。処理の速さの違いやどんな目的から発展してきたか、
どんな時に有用性があるかは>>188までで大体理解したつもりでした。
やっぱりまだ理解してないのかな…。とりあえず言葉の行き違いが
あると行けないのでもう少し詳しく自分の疑問を説明します。


とりあえず私が言う違いが感じられないとは
使用例や経緯とかではないです。(>>183は簡単に書きすぎました)

私としてはプログラムはどの一部分をとっても

f:a→b

のようにaからbへの対応にしか見えないです。
なので埋め込みと関数の違いが判らないのです。

この二つはプログラムを処理する上で、どんな形でどこから(どこを経由して)
プログラム文(対応)を持ってくるかの違いだけしかないのではと思うわけです。

その意味で言うなら、print文を使用するのもincludeを入れ子構造で100回
繰り返した後にprint文を使用するのも入力aに対して像bは
違いが無いという意味で違いが無いという言葉を使っていました。

以上から>>183では「どのような用途で使い分けるのか?」と質問したほうが
いいと思いました。反省します。
あまり長々と続けても他の皆さんの迷惑になるのであとは自分で調べてみます。
いろいろとありがとうございました。

193:nobodyさん
07/02/17 19:06:20 3OVOZ2Sy
リンクされている文字が?に文字化けします。回避方法を
教えてください。
Windows XP
PHP 5.0.1

194:nobodyさん
07/02/17 19:14:32
文字コードがあってないとか・・・
すごいアバウトな質問で答えようがありません

195:nobodyさん
07/02/17 19:27:16 3OVOZ2Sy
>>194
「この設定方をすればOK」という文字コードの基本的な設定方法を教えてもらえませんか?
本やネットを見たのですがそれぞれ文字コードの設定が異なっているように思います。
いろいろ試してみたんですが上手くいきません・・・。

196:nobodyさん
07/02/18 01:09:50
>>195
URLリンク(allabout.co.jp)
これじゃねーの?

197:nobodyさん
07/02/18 02:03:20 k8UF3L2w
>>196
「phpiniの文字コードの設定」には4つありますが、どれが最適なんでしょう?

198:nobodyさん
07/02/18 10:04:55
>>197
PCが対象だったらEUC→EUCでいいんじゃない?

199:nobodyさん
07/02/18 13:02:11
<?php
define('NL',"<br />");
function test(){
static $var = 100;
return $var++;
}
echo test().NL;
echo test().NL;
?>
という例文を勉強しているのですが、
実行結果が
100
101
でした。returnのところからすると
101
102
と思ってましたがどういうことでしょう?
ご教授ください。

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のページを出力してるのですが、フォームで機種依存文字(Ⅰ、Ⅱ)を送ると(?)に化けてしまいます。
このような場合はどのようにすればいいのでしょうか?

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させてみます。
色々と本当にありがとうございました。


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