トップページ⇒php
986コメント299KB

【PHP】初心者コーナー 

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/01/21 03:21ID:???
長島も阪神のコーチになった。
仕方ない、人気のないPHPを応援してやる。 

データベース禁止 MySQL PostgreSQL はどっかいけ。
純粋にPHPプログラミングだけ。
初歩的な事ならWebProg板の誰かが素早く教える。
もちろんPerlプログラマーも手伝ってくれ。
ほんじゃ質問してみ。

 >>2-9 誰か情報かいてくれ。
0478nobodyさん03/02/10 22:37ID:???
>>472
??と思ったら、PHP4以降は置換文字列それぞれのところに配列で指定ができる!OK!
あーでも、この関数マルチバイト対応のが見当たらない。
対象となる文字によってはこれでいけるだろうけど。


>>475
トリップ生成の類のプログラムにはPHPはあまり向いてないと思う。
0479nobodyさん03/02/10 22:44ID:???
>>477
スピードはともかくとして、
>for内でincludeしてるのがいけないのだろうか。
は穏やかじゃないなぁ。

>>478
>トリップ生成の類のプログラムにはPHPはあまり向いてないと思う。
そのこころは?
0480nobodyさん03/02/10 23:16ID:???
include先の中の変数のパースってどうやったらいいものなんでしょう…。
変数の中身が決まるfor文内でincludeしないとうまくいかん。当たり前か。

配布されてるような、テンプレート用のクラスを使うほどのものでもないんですよねぇ。
0481nobodyさん03/02/11 12:50ID:???
最近PHP始めたのですがみなさんテキストエディタで開発してるんですか?
プロっぽい(?)開発ツールとかあるんでしょうか(高くないやつ)
0482nobodyさん03/02/11 12:58ID:???
>>481
完成度の高い物はあまり存在しない現状。

ちなみに俺、秀丸。
0483nobodyさん03/02/11 13:13ID:???
>>481
俺も秀丸。

なんかJビルダーみたいなclass管理のできるエディタってないもんかね。
PHP5を見越してさ。
0484nobodyさん03/02/11 13:44ID:???
webstudio(Eclipse)を使い始めたけど、クラス管理があるよ。
Visual.NETもいいって話を聞いたけど、使ったことないので分かんない。
前に調べた時は、PHPEdit、PhpIDEってのがあったけど、日本語通るかどうかちょっと不安。

でも普段は秀丸。
0485nobodyさん03/02/11 14:27ID:???
VisualStudio.NETでもPHP使えるの?
0486nobodyさん03/02/11 15:09ID:???
>>485
どんな言語用にも使える仕組みがあるみたいだけど。
0487nobodyさん03/02/11 15:25ID:???
漏れもeclipse(webstudio)を使ってみているがメインは秀丸。>>484と一緒だね。
webstudioはどっちかってゆーとビューワーとしての使い方かな。

webstudioの開発元
http://www.xored.com

日本サイト
http://webstudio.japansite.org
0488nobodyさん03/02/11 15:28ID:???
秀丸とPHPの関係を激しく追求したくなったw

俺、メインが秀丸ってだけで使ってるけど。
0489nobodyさん03/02/11 15:53ID:wdU5WL5+
俺はサクラエディタとK2Editor
0490nobodyさん03/02/11 15:54ID:???
thk!
webstudio使って見るYp!

>>488
ていうか
使いやすいエディタ == PHPで使うエディタ
になってるようなw

ほんとはね〜秀丸+EMエディタみたいなエディタが欲しいんだ〜
0491nobodyさん03/02/11 16:09ID:???
いや一応表明しておこうかなと思うだけなんだが、
俺も秀丸なんだよ。。
Webstudioっていうのはちょっと見た感じではよさそうだな。
時間があったら使ってみるよ。使った人はレポよろしこ〜
0492nobodyさん03/02/11 16:16ID:???
>>491
スレの流れ的にwebstudio使ってる人多いと思うよ。
自分も使ってる。
実行前に文法チェックしてくれるのはまぁ助かるからね。
でも、javacみたいなちゃんとしたコンパイラがないから
あくまで簡単な文法チェックだけなんだよね。
そんなクラスないからnewできません!とかは言ってくれない。
0493nobodyさん03/02/11 16:18ID:???
>>492
それ考えるとJBuilderって良い子だな。
0494nobodyさん03/02/11 16:26ID:???
で、たった今エクリプスからinstallしようとしているわけですが。

http://download.eclipse.org/downloads/index.php
陥落?

何時までたってもDownLoad pageに逝けねぇ。
0495nobodyさん03/02/11 16:35ID:???
>>494
このスレで話題になったからだな。
さすが2ちゃん効果だ(藁
0496nobodyさん03/02/11 16:38ID:???
>>495
プログラム板のエリクソスレも大騒ぎな訳だが。
0497nobodyさん03/02/11 21:40ID:???
別に大騒ぎって程でも
0498nobodyさん03/02/11 21:42ID:???
ていうかマジで逝くりぷすのmirrorがみつからねぇ。
鬱。

どなたかmirrorのURIご存知ありませんか?
0499nobodyさん03/02/11 21:56ID:???
DBGのDLサイトにも繋がらないんだけど・・・
0500nobodyさん03/02/11 22:02ID:???
>>498
ダウンロードページ復活しないねぃ。。。
ミラーは聞いたことない。ないんじゃないかな。。。
明日にしよう。
0501nobodyさん03/02/11 23:11ID:???
DBGは繋がるな。逝く梨婦守はダメだね。
0502nobodyさん03/02/12 09:44ID:???
>>494

これって関係ありますか?

■スラマー対策が原因でネット接続の障害も JPRS
http://www.mainichi.co.jp/digital/network/today/1.html
0503nobodyさん03/02/12 10:02ID:???
>>492
1週間くらい使ってみてるわけですが、
文法チェックと言ってもちょっとまだ構文解析が弱いね。
書き方によってチェックしてくれたりokになってしまったりすることがある。
ツールを信頼しすぎるのは危険ですね。
今後に期待・KANA。
0504nobodyさん03/02/12 14:31ID:???
>>494
ダウンロードページ復活したみたいだよ。
今落としてる途中。これからやってみよう。
わかりやすい日本語解説ページある?
0505nobodyさん03/02/12 14:49ID:???
echo や print で生成したフォームからは値を受け取ることは出来ないですか?

0506nobodyさん03/02/12 14:57ID:???
webstudio動かねえ・・・(泣
0507nobodyさん03/02/12 16:59ID:???
>>506
eclipseを閉じる
↓
eclipse再起動
↓
webstudioを読み込んでくれる
↓
(゚д゚)ウマー
0508nobodyさん03/02/12 17:24ID:nLK1CfSF
すいません、先輩方質問させて下さい。
フォームからの入力をCSVで保存していくものを作ったのですが

$str = $str1.",".$str2.",".$str3.",\n";
fputs($fp , $str);//ロック処理してますけど省略

$str3の内容がマルチラインのテキストフィールドから取っているため、
改行が途中で入りCSVファイルが崩れてしまいました。

マルチラインテキストフィールドから取得した値から改行を抜き取るためには
どうすれば良いのでしょうか?すいませんが、ご教授下さいm(_)m
0509nobodyさん03/02/12 17:29ID:vTGUnIYC
>>508
eregi_replace
0510nobodyさん03/02/12 17:29ID:???
>>508
preg_replace("/\n/s","",$HTTP_GET_VARS["testfield1"]);
0511nobodyさん03/02/12 17:44ID:???
>>509-510
ありがとうございますー!
さっそく試してみますです
0512nobodyさん03/02/12 18:19ID:cvCvqBKN
先ほどPHPインスコしたばっかりのperl厨です。
PHPの場合どう書くのでしょうか?

--- unko.txt
123
456
うんこ
りんご
--------------

my @array=();
my $filename='unko.txt';
open (UNKO,"<$filename");
while (<UNKO>){
 chomp;
 push (@array,$_);
}
close (UNKO);

foreach (@array){
 処理・・・
}
0513nobodyさん03/02/12 18:41ID:???
<?php
$array = file("unko.txt");
foreach($array as $tmp) {
$tmp = chop($tmp);
処理
}
?>
051450603/02/12 18:46ID:???
>>507
なんか再度立ち上げたら更新マネージャーっていうのが出てきたから
チェックつけてまた再起動したらwebstudio入ったよ!ありが�d。
手持ちのスクリプトを読み込んでみたけど、表示がカラフルで、これだけでもメロメロだわ。
051551203/02/12 18:58ID:???
>>513
thanks
0516nobodyさん03/02/12 20:07ID:???
>>514
それどこで手に入るのですか?無料?アングラ?商用?
0517nobodyさん03/02/12 21:08ID:???
>>516
>>487
0518nobodyさん03/02/12 21:59ID:???
>>517
スマソ. . . . .
0519nobodyさん03/02/12 22:20ID:???
突然、お邪魔します。
phpをはじめたばかりの初心者ですが、
フォームリクエストの受取りができなくて困っています。
参考書に付いているサンプルプログラムも動きません。
なにか受取れない原因になるようなことがあれば御教えください。
0520nobodyさん03/02/12 22:22ID:???
>>519
まずはソースだす!
(ブルドッグ不可)
052151903/02/12 22:28ID:???
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp">
<title>一行テキストボックス</title>
</head>
<body>
<form method="GET" action="15-2-1.php">
<p><input type="text" name="text1" size="40"> <input type="submit"
value="送信します" name="b"></p>
<p><input type="text" name="text2" size="40" value="<? echo $text1 ?>"></p>
</form>
</body>
</html>

ソースです。
0522nobodyさん03/02/12 22:36ID:???
× $text1 , $text2
○ $_GET['text1'] , $_GET['text2']

は僕がかつて嵌ったところ。
0523nobodyさん03/02/12 22:37ID:???
まぁ予想通りのソースですね
052451903/02/12 22:43ID:???
>>522
ありがとうございます!
フォームリクエストを取得できました。

>PHP でのフォームリクエスト取得は実に簡単である。
>name に指定した名前に $ を付けた変数として渡ってくる。

と説明しているサイトもあるのですが、
なぜ$text1では駄目だったのか、よろしければ御教えください。
0525nobodyさん03/02/12 22:49ID:???
>>524
GET出来たhogeとPOSTで来たhogeとcookie出来たhoge

全部$hogeになるんですわ。困るでしょ?それに気付いて仕様変更。
052651903/02/12 23:31ID:???
>>525
納得しました。ありがとうございました。
0527nobodyさん03/02/13 00:05ID:???
>>524
ていうかそれ、securityhallになるから・・・
0528nobodyさん03/02/13 00:16ID:???
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
0529nobodyさん03/02/13 00:27ID:???
あーすまんすまん悪かったよ
Holeな。

間違ってることが判るなら正解を仕込む位の芸を見せろよ。
0530nobodyさん03/02/13 00:35ID:???
>>524
元のソースで動かしたかったら、php.ini の設定で
register_globals を On に設定すると動きます。
>>525さんの言うとおりセキュリティホール:-)になるので Off にしとくのがいいです。
0531nobodyさん03/02/13 01:38ID:???
動かないサンプルって、逆引き大全かな。
無理やり

extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SESSION);
extract($_FILES);
extract($_SERVER);
0532nobodyさん03/02/13 08:05ID:???
>>531
へぇ、ハッシュを展開する関数なんてあるんだね。
0533nobodyさん03/02/14 12:24ID:pEDzFCHD
PHPは配列のスライスは出来ないのでしょうか?
0534nobodyさん03/02/14 12:27ID:???
>>533
できますよ。
053553303/02/14 12:34ID:pEDzFCHD
お、はやっ。バカ丸出しな質問でした。
とりあえず、
foreach ($abc[5,6,7] as $tmp){
ではエラーでした。

で、PHP 配列 スライスでぐぐって見てもそれらしいサイトは見つかりませんでした。
何か見本を見せてください。
0536nobodyさん03/02/14 13:39ID:L0Vo5dGR
array_slice($abc, 6, 3)
0537nobodyさん03/02/14 13:48ID:???
Perl:あらゆる機能を構文化->楽だが非常に品雑
PHP:なるべく関数化->きれいだがちょっぴり面倒
053853303/02/14 14:01ID:???
>>536
ありがとうございます。

何かちがうなぁと思いながら、
foreach (array($abc[5],$abc[6],$abc[7]) as $tmp){
のようなことやってました。

array_sliceで検索してたら
php.s3.to/man/
のようなサイトを発見できたので、ちょっと感動

>>537
こんなに関数があるのにびっくり。
PHPにはまってきた・・・
0539nobodyさん03/02/14 18:08ID:???
セッション変数について教えてください。

www.xxx.co.jp/~hoge1/
www.xxx.co.jp/~hoge2/

この二箇所に全く同じPHPプログラムを置いてるんですが、
hoge1では変数をちゃんと取得出来て問題ないんですが、
hoge2では、セットしたはずの変数がなくなてるんです。
こんな現象って起こるもんなんですか?????
0540nobodyさん03/02/14 18:34ID:???
session.cookie_path をちゃんと/~hoge2/ にしてあげる、とか?
関係ないかなあ??
0541nobodyさん03/02/14 20:14ID:???
hoge1とhoge2両方でphpinfo()して
sessionの項目を見比べる。
0542nobodyさん03/02/14 23:39ID:EY8KLa0R
今PHPで簡単な掲示板を作っているのですが、書き込みの内容から
htmlタグを取り除く定石のような物はあるのでしょうか?
0543nobodyさん03/02/14 23:43ID:???
>>542
$apreg_replace("/<[^>].>/"."".$a);
0544nobodyさん03/02/14 23:43ID:???
$a = preg_replace("/<[^>+]>/"."".$a);

失敗。
0545nobodyさん03/02/14 23:49ID:???
普通にstrip_tagは駄目?不完全なタグだとエラーだすから危険かも?
0546nobodyさん03/02/15 00:12ID:???
htmlspecialcharsで(´・ω・`)ショボーンさせるに一票。
054754203/02/15 10:48ID:???
>>543-546
ご返答ありがとうございました。
とりあえず、htmlspecialcharsを使ってみようと思います。
0548nobodyさん03/02/15 14:28ID:ZanyH2qR
PHPの本を買って勉強しているのですが、ひとつ疑問があります。
最新版のPHP4.3を入れたのですが
これって動作不安定なのでしょうか?
と言うのも正常に動かないプログラムがありまして。
本のサンプルをコピーしてみましたが、それでも動きません。

なので、PHP対応しているサーバにアップして動作チェックしてみたら
ちゃんと動きました。バージョンは4.2.2でした。

どうなのでしょうか?
0549nobodyさん03/02/15 14:30ID:???
>>548
mbstring辺りでバグがあるとか小耳に挟んだことあるけど。
0550nobodyさん03/02/15 15:29ID:???
エラーの内容とかを書いて欲しいよね。
0551nobodyさん03/02/15 15:46ID:ZanyH2qR
>>549
549マジですか?やっぱ戻した方が良いんですかね。。
>>550
エラーと言うか例えばユーザー認識プログラムがあったとして
最初にアクセスしたらユーザー認証フォーム?みたいなのが
出るのですが、私のサーバでは出ません。
で、プロバイダのサーバでは出ます。

あと、文字が変になるときがあります。
更新ボタンを押さないと通常の日本語に戻りません。
0552nobodyさん03/02/15 15:57ID:???
>>551
自宅サーバで散々ふざけたこと抜かしてるanhttpd厨ですか?
0553nobodyさん03/02/15 16:00ID:qpbVFxqP
>>552
全く動かないといっているので、違う人でしょう。
てか、他板の話題を無闇に持ってこなくても・・・
0554nobodyさん03/02/15 17:00ID:???
>>552
Apacheを使ってますが・・・。
0555nobodyさん03/02/15 17:58ID:???
本のサンプルが動かないのは日常事
0556nobodyさん03/02/15 19:10ID:ZanyH2qR
549さんの言われたとおり
バグがあるかな?と思って4.2にしたら問題なく動きました。

やっぱり、4.3ってバグが多いんですね。。。
0557nobodyさん03/02/15 19:52ID:???
逆。
バグが大幅に削られてしまった。
0558nobodyさん03/02/15 21:36ID:???
逆かな?例えば新しいバージョンのパッチとか必ず出るだろ?
OSであれ、プログラムであれ。
だから実は新しいバージョンほどパッチが無いと危険な罠。
0559nobodyさん03/02/15 23:46ID:???
逆だな。んで、それが問題だということだろ。
548さんのケースがどちらかは知らないが。

リリースアナウンス読むのが手っ取り早いとは思うけど、
こまかな変更に対応するのは面倒だな、、、。
0560nobodyさん03/02/15 23:56ID:???
>>559
けっきょくどっちかは分からないよ。総体としてバグは減ったんだろうがあたらしい問題は起きるんだから。
そのうちの一つに遭遇したからといって「多い」と感じるのはどうかと思うけど。
他に3.0特有のエラーとか起きてる人居ないのかな。理由もレポしてくれるとありがたい
0561nobodyさん03/02/16 00:09ID:ZJtTCIZO
ワケワカラン
0562nobodyさん03/02/16 00:27ID:???
だからさあ、どこがどう動かないのか分からないと
バグなのか何なのか分からないじゃん。
エラーメッセージとか動かない部分のソースとか
何か情報を提示してよ
0563nobodyさん03/02/16 12:27ID:???
社内で閉じたWEBアプリを作りたいんですが、ユーザ認証でWindowsの
ドメインコントローラーが保持しているパスワードリストを利用することは
可能でしょうか?
0564nobodyさん03/02/16 16:45ID:???
LogonUser
0565nobodyさん03/02/16 16:52ID:???
>>562
実は「どうこがどう動かないか」というのを
ちゃんと説明できる初心者っていないこと無いか?
それがわかれば自分で解決できるよ。
ただ「掲示板が動きません」とか「echoで書いたのに表示されません」
とか簡単な事しかわからないと思うよ。

漏れ自身も詳細にエラーを説明しろと言われても
なぜそのエラーが出てるのかわからないときがあるし。
0566nobodyさん03/02/16 17:35ID:sdGJ0v3u
すまんが教えてくれmOm
コマンドライン用にインストールしたphpで日本語のメール送信したいのだが
mb_send_mail()
が普通に使えない。いろいろ調べてみたんだが関数オーバーロード?しなきゃ
ならないらしい、どういう意味だろう?
0567nobodyさん03/02/16 17:37ID:???
>>566
よく知らんが状況から考えてオーバーロードしたところで何も解決しない予感。
0568nobodyさん03/02/16 17:38ID:sdGJ0v3u
反応してくれてありがとう。
だが、オーバーロードって何?
056956603/02/16 17:39ID:sdGJ0v3u
とりあえず、エラー内容は「その関数は存在しない」というメッセージだった。
0570nobodyさん03/02/16 17:41ID:???
>>569
とりあえず、Windowsならmb系はphp.iniいじらんと使えんよ。UNIXだとコンパイルオプションだわね。
0571nobodyさん03/02/16 19:53ID:tLSm4jGJ
すみません、質問させてください。

最近PHPを触り始め、いくつかサンプルスクリプトを書いてみました。
最初はソースをShift_JISで書いていたのですが、知人にPHPのソースは
EUC-JPで書いたほうがよいと言われ、EUCで保存して実行したところ、
出力される文字コードもEUC-JPになってしまいました。
(charsetはShift_JISで設定しています)

htmlとして出力する文字やデータファイルに書き込む文字のコードは
Shift_JISにしたいのですが、このようなことは可能でしょうか?

環境は自宅サーバにWin2000+Apache1.3+PHP4.0.2です。
よろしくおねがいします。

0572nobodyさん03/02/16 20:42ID:???
>>571

mb_convert_encoding()
ちょっとは調べたら?
057357103/02/16 21:12ID:tLSm4jGJ
>>572
すみません、自分では調べたつもりでいました。
mb_convert_encoding()で変数等の文字コードを変更できるのはわかっていました。

ソースをEUCで書いて、Shift_JISでブラウザに表示したい場合は
出力文字列をすべてmb_convert_encoding()で変換しなければならないということでしょうか?

たとえば、

$dat = "あいうえお";
echo $dat;

としたい場合でも、すべて

$dat = "あいうえお";
$dat = mb_convert_encoding($dat, "SJIS", "EUC-JP");
echo $dat:

としなければならないのでしょうか?
057457103/02/16 21:21ID:???
ちなみに、

mb_http_output("Shift_JIS");

を指定しても、ブラウザにはEUCで出力されてしまいます…
0575nobodyさん03/02/16 22:19ID:???
>>573
そらそうでしょ。
0576nobodyさん03/02/16 22:30ID:???
>>574
内部EUC
出力SJIS
出力ハンドラmbなんたら
他。
ちゃんと設定すればいちいち変換しなくていいはず。
0577nobodyさん03/02/17 04:49ID:???
>>575
ここは「初心者コーナー」で
>574は自分で調べて分からないっていってるんだから
そういうただ馬鹿にしてるだけのようなレスはやめてけれ。
まあ俺には答えられないんで引っ込んでます。
■ このスレッドは過去ログ倉庫に格納されています