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

【PHP】初心者コーナー 2 Released

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/03/24 03:06ID:???

PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。
アホな質問であっても詳しく質問すること。

PHPが大嫌いなPerl信者もぜひご参加ください。

前スレ
http://pc2.2ch.net/test/read.cgi/php/1011550860/l50  関連>>2-10

普通の質問はこっちな、【PHP】質問スレッド Part7
http://pc2.2ch.net/test/read.cgi/php/1044478561/l50
00232103/03/25 20:03ID:???
>>22レスどうも。
えーとDBって、データベース使えと言う意味でしょうか。スマソ。
0024nobodyさん03/03/25 20:23ID:???
>>23
ドラゴンボールのことですよ。
0025nobodyさん03/03/25 20:39ID:???
DataBaseですね。
00262103/03/25 21:25ID:???
ドラゴンボールなら7つ揃ってます。
DataBaseでユーザーテーブル作って自分で認証プログラム
組めってことかな。
LIBがそのまま使えれば楽なのかなって思ったもので。
と言っても、LIBの中身も何も分かっていませんが、、、
0027nobodyさん03/03/25 21:31ID:???
>>26
どうでも良いけどDatabase
0028nobodyさん03/03/25 22:17ID:uCxA2hMQ
さっそくですが質問があります。

PHP.INIでアップロードファイルの最大サイズを制限
できるようですが、ふつうのサイト利用者はPHP.INI
を変更できないと思います。
アップロードファイルの最大サイズをPHP.INIの設定値
より大きくしたいのですが、可能でしょうか?
0029nobodyさん03/03/25 23:10ID:???
ini_set()
0030nobodyさん03/03/25 23:13ID:???
分割してうp汁
0031nobodyさん03/03/26 01:39ID:???
>>29
それ意味無い・・・(;´Д`)
0032nobodyさん03/03/26 06:27ID:l1CVp/e0
>29
init_set() で設定しても設定値が変わりませんでした。。。
0033 ◆Kiss.FX29M 03/03/26 07:45ID:???
>>32
post_max_sizeはphp.iniか.htaccessに記述しないとダメ。
0034nobodyさん03/03/26 14:39ID:???
>>22

ありがとうございました。
非常に助かりました!
0035nobodyさん03/03/26 19:33ID:???
>>22

リンクの中にPHPから出力したい部分があり、下のように
print 文で出力されるリンクの中にセッションを埋め込みたいのですが
これは可能でしょうか?

<?
// 動かないです
print "<a href=\"***.php?page=$page&session_name();=session_id();\">";
?>

<?
// エラーは出ませんが Not Found になります
$s_name = session_name();
$s_id = session_id();
$link = "<a href=\"***.php?page=$page&".$s_name.'='.$s_id.'>;
print $link;
?>

とすると $s_name や $s_id の部分がHTMLソースに展開され、
( PHPSESSID=53ebfdbdc6583facf4ab5328379022b96 といった感じです )
結果 Page Not Found になります。

ちなみにショートタグは <??> のことですよね?
これについてですが、他の箇所では正常に動作しています。
かつ、<?php ?> に変えて試しました。

0036nobodyさん03/03/26 20:07ID:???
>>35
セッションってクッキーかURLに自動的に埋め込まれるんじゃないの。
0037nobodyさん03/03/26 21:29ID:???
デザインパタンというものに興味を持っています(が、良く分かってません)。
ttp://ns1.php.gr.jp/pipermail/php-users/2002-March/006009.html
にあるIterator って、これを使うことでどういうメリットがあるのでしょうか?

#class も良く分かってないけど。。。
0038nobodyさん03/03/26 21:41ID:???
>>35 普通に
<?
print "<a href=\"***.php?page=$page";
?>
として、リンク先のページで
print $_SESSION['PHPSESSID'];
するとどうなります?
0039nobodyさん03/03/26 21:45ID:???
>print "<a href=\"***.php?page=$page";

普通?
0040nobodyさん03/03/26 21:53ID:???
あ。。ぜんぜん普通じゃないですね、ごめんなさい(汗
セッションを渡そうとせずにそのまま、ってな意味のつもりでした。

print "<a href= '***.php?page=$page' > xxx </a>";
0041nobodyさん03/03/26 22:14ID:???
GDライブラリ使って日本語をjpegデータに書きたいんだけど

$im = imagecreate (200, 50);
$blue = imagecolorallocate($im,0,0,255);
$black = imagecolorallocate($im,0,0,0);
$ff = ;
$result = imagettftext($im,25,0,20,30,$black,
    "/usr/share/fonts/ja/TrueType/kochi-gothic.ttf"
    ,mb_convert_encoding("日本語",'UTF-8'));
Header ("Content-type: image/jpeg");
imagepng($im);

これで日本語が文字化けすんのは何がいけないのだろう。
makeオプションはこんな感じです。
--with-gd=/usr
--with-jpeg-dir=/usr
--with-freetype-dir=/usr/share/fonts/ja/TrueType
--with-ttf
--enable-exif
--enable-zendmultibyte
--enable-mbstring
--enable-mbregex
00424103/03/26 22:38ID:???
>>41
>GDライブラリ使って日本語をjpegデータに書きたいんだけど
思わずpngに出力してた・・。自己修正mOm
×imagepng($im);
○imagejpeg($im);
0043nobodyさん03/03/26 23:23ID:2rsm8GBO
自分はこんな感じでコード書いてました。
$str = "????";
0044nobodyさん03/03/26 23:24ID:2rsm8GBO
ユニコードは?になっちゃうのね
$str = "&#12461;&#12515;&#12525;&#12523;";
これでどうだ
0045nobodyさん03/03/26 23:35ID:???
>>44
haihai
00464103/03/26 23:59ID:???
gdlibを削除して一から入れ直してみたけど
やっぱり、文字化けしたぁ・・。
>>43 >>44
一応やってみたけど、文字化けしたよ。
http://ns1.php.gr.jp/pipermail/php-users/2002-July/008634.html
これも参考にしたが解決しなかった。
藁をも掴むとはこういう事だな・・。
0047nobodyさん03/03/27 00:13ID:3Dt/2EFv
http://www.agemasukudasai.com/bloom/
0048nobodyさん03/03/27 13:55ID:6mlQgSS/
ちわっす、宜しくお願いします
PHPにも,まだ未熟ですがぼちぼち慣れて来たのですが
関数の書方や、クラスの概念というか具体的な使い方ができません
例えば以下の同じような処理をしょっちゅう使うのですが、最初の頃は
動いた動いたと悦んでいたのですが最近はなんか食傷ぎみといううか
なんかかっこ悪いし、同じ処理なんだからもっとスマートにできないかと
悩んでいます、2chの皆さんかっこよくしてもらえませんか?
おねげーしますだ。
<html>
<span class="text">商品名</span>
<input type="text" name="gname" size="20"
value="<?php print(stripslashes($_SESSION["post"]["gname"]))?>">
<br>

<span class="text">コード</span>
<input type="text" name="code" size="20"
value="<?php print(stripslashes($_SESSION["post"]["code"]))?>">
<br>

<span class="text">画像のURL</span>
<input type="text" name="img" size="20"
value="<?php print(stripslashes($_SESSION["post"]["img"]))?>">
<br>
.....続く
0049nobodyさん03/03/27 17:27ID:???
>>48
関数やクラスの前に、ループぐらい覚えた方がいいぞ。
0050nobodyさん03/03/27 17:29ID:???
>>49
ループの意味を考えるとなぁ。
0051nobodyさん03/03/27 17:49ID:???
>>50
じゃー繰り返し処理と言って見る。
0052nobodyさん03/03/27 17:54ID:???
>>51じゃらちがあかん。もうちょっとできる奴はおらんかのう?
005349≠5103/03/27 18:03ID:???
>>52
PEAR::HTML_Template を使ったとしてもループするだろ。
何が気に食わん?
0054nobodyさん03/03/27 18:04ID:???
じゃー反復処理と言って見る。

繰り返しだと思うんだが。
0055nobodyさん03/03/27 18:30ID:6mlQgSS/
みなさんあんがとう^^
requireを使って、
function sbmitInput(arg_1, arg_2)
と関数にしてもみたんですがうまくいかんですたい、とほほ
<span class="text">arg_1</span>
<input type="text" name="arg_2" size="20"
value="<?php print(stripslashes($_SESSION["post"]["arg_2"]))?>">
<br>



0056nobodyさん03/03/27 18:34ID:6mlQgSS/
function sbmitInput(arg_1, arg_2) {
"<input type="text" name="arg_2" size="20"
value="<?php print(stripslashes($_SESSION["post"]["arg_2"]))?>">
<br>";
}
すんませんこうでした。
こういう感じで関数にしたんだけどうまく行かないんです
おねげーします。
0057nobodyさん03/03/27 19:03ID:???
>>55
しらないのはプログラミング言語だけにしとけ。
人に質問するなら丁寧に話せ。おちゃらけてんじゃねぇよ。
0058nobodyさん03/03/27 19:06ID:???
どっちゃにしろ、本でも買って読んだ方がいいよ。
ちょっとひどすきる。
0059nobodyさん03/03/27 23:43ID:???
>>56
斬新な発想に感心しますた
0060nobodyさん03/03/28 00:00ID:???
>>57
素直に僕では分かりません。と言った方が潔い。
0061nobodyさん03/03/28 02:06ID:???
>>60
ちょっとまてw
判らない奴がいるのか?
と煽ってみる。

必死だな
>>56=>>60
0062nobodyさん03/03/28 09:19ID:???
>>61
残念ながらはずれだ。
0063nobodyさん03/03/28 09:56ID:???
>>62
もっと捻れ
0064nobodyさん03/03/28 16:00ID:NJ3N9Tri
動的に生成されるセッション変数の数及びセッション名を知ることって
できるんでしょうか?
なんとも例えようがないんですけれど。
0065nobodyさん03/03/28 16:05ID:TDAPKVtP
http://homepage3.nifty.com/digikei/sample/sample.html
00665703/03/28 16:09ID:???
>>64
セッション変数の数
count($_SESSION);

セッション名の取得
session_id();

じゃダメかい?
00676503/03/28 16:27ID:???
>>64
すいません、訂正が・・・。
セッション名→セッション変数名でした。。・゚・(ノД`)・゚・。
セッション変数の数は助かりました!
$_SESSIONそのものでよかったんですね〜。
00686403/03/28 16:28ID:???
>>67
>>64>>66
そして自分は>>64
なんてこったい。
00696403/03/28 18:06ID:???
自己解決しますた。
foreach($_SESSION as $key => $value){
echo $key;
}
でできました!
0070nobodyさん03/03/28 18:16ID:ZCrkR7Y/
PHPをプログラミングしてOSXでチェック,動かす環境設定が出てる
サイトは?
0071nobodyさん03/03/28 18:21ID:???
理解不能…ピーガガガガ
0072nobodyさん03/03/28 23:08ID:???
>70 "PHP OS-X 環境設定" で健作汁
00737003/03/30 01:31ID:LPZR1jku
>>72 Thanks!
http://www.macfeeling.com/database/database01.html
でうまく行きますた!
0074nobodyさん03/03/30 15:10ID:???
超がつく初心者質問で恐縮なのですが
1.MacOS 9.2でphpを書いてみたい
2.phpを覚えるのに何から最初は初めてみるのがベストか
(例えばcgiだったらフォームメールや掲示板を設置してみる、とか
改造してみながら触れてみるといった具合に)
ご教授いただけませんか?
phpに関してはデータベースと相性が良くて、cgiより処理が早く
htmlの中に記述できるweb専用のスクリプト、ということしか
知りません。比較的簡単な記述で出来るとどこかで読んだので
覚えてみたいなと思っています。
ですが、どこから手をつけたら良いのかわからないのです・・・。
検索したらOS Xでの情報は色々ありますがOS9とかだとダメなのでしょうか。
よろしくおねがいします。
0075nobodyさん03/03/30 15:15ID:???
>>74
とりあえず

>超がつく初心者

ここから脱しろ。OSの勉強したりプログラムとは何かを学んだり。
0076nobodyさん03/03/30 15:56ID:4oa/HCMj
>>74
>1.MacOS 9.2でphp
どこかでバイナリ作ってる人がいないとも言えないが
http://www.php.net/manual/ja/faq.installation.php
の最初の文を見る限り、公式バイナリはなさそう。

他にもWebサーバと連携させるなら、その辺も関わってくるだろうし情報も少ないと思われるので、
MacOS Xを入れるか(これならむしろWindowsより相性が良い)、ハードが対応しないのなら
安いPC買ってPC-UNIX(PHP開発者はLinux使用が多いので、これの適当なディストリビューションを薦める)
入れた方が楽できるし、コスト(=時間)も低いと思います。
0077nobodyさん03/03/30 16:09ID:???
>>65535
0078nobodyさん03/03/30 16:09ID:???
>>11111111111111111111111111111111111111111111111111111111111111111111111
0079nobodyさん03/03/30 18:05ID:8gZxLTYu
<form action="test.php" method="post">
name:<input type="text" name="name" value=""><br>
password:<input type="password" name="passwd" value=""><br>
<input type="submit" name="cmd" value="submit"><br>
</form>


<?php
foreach($_POST as $key => $val){
print $key . ":" . $val ."<br>";
}
?>
このページを表示して「更新(リロード)」すると
ページの下に
name:
password:
cmd:
が表示されてしまうのはなぜですか?
0080nobodyさん03/03/30 18:10ID:???
>>79
一回送信ボタンを押した後にリロード。の間違いじゃないですか?
0081nobodyさん03/03/30 18:19ID:???
>>74
何をしたいか、という目的をはっきりするのが先だろう。
DBと連携したBBSを作りたいとか、Webメールサイトを作りたいとか。
0082nobodyさん03/03/30 18:29ID:8gZxLTYu
>>80
そうです。
でも、どうしてそういう動作をするのか理解できないのですが、
そういう仕様ですか?
0083nobodyさん03/03/30 18:40ID:???
>>82
IEならそういう仕様です。
0084nobodyさん03/03/30 18:41ID:wfManVtB
箱庭諸島PHP版で登録者のIPがわかる方法とかありませんか?
あらしが出て、、
0085nobodyさん03/03/30 18:43ID:???
>>84
消えろ。
0086nobodyさん03/03/30 18:44ID:SkR8REgM
var_dump(system('ls'));
system('ls',$disk);
var_dump($disk);

みなさん どんな結果がでますか?
どうもsystem関数がうまくいかないっす
0087nobodyさん03/03/30 18:46ID:???
>>86
開発環境はWIndowsです。とか。
0088nobodyさん03/03/30 18:48ID:SkR8REgM
>>87
環境は freeBSDです
0089nobodyさん03/03/30 18:50ID:???
>>88
セキュリティ上禁止されてるとか/binにパスが通ってないとかは?
0090nobodyさん03/03/30 19:01ID:SkR8REgM
/binにパスってどういうことですか?
0091nobodyさん03/03/30 19:06ID:???
>>90
悪い、俺自分が使ってるOSのことも知らない奴って初心者とは認めたくないのよ。
0092nobodyさん03/03/30 20:17ID:SkR8REgM
>>91
safeモードが原因でした すんまそ
0093nobodyさん03/03/30 22:10ID:8gZxLTYu
>>83
なるほど。
ありがとうございました。
00947403/03/31 04:04ID:???
>>76さん
ありがとう。OS Xに移行してから手を出すほうが良いんですね。
今ちょっと金銭的に余裕がないからしばらく先になっちゃうなぁ。
残念だけど。

>>81さん
目的を定めたくてもどこに照準をあわせたら良いのか
わからない段階なんです。phpのことをよくわかっていないので・・・。
(でも興味を持っている)

phpってwebプラグラマーとかプロの人じゃないと敷居が高いですか?
htmlはわかる(あとcgiの設置くらいなら)程度の素人なんですが・・・。
0095nobodyさん03/03/31 04:53ID:???
>>94
いまのところ、phpの習得が目的で具体的に作りたいサイトはまだないってことだよねぇ。
そんなんでつづくのかなぁ。
パソコンには興味あるけど、具体的な用途はなくて結局ゴミになっていくパターンて
よくあったじゃない。それに似ているなと老婆心ながらそう思った。

言語的には全然難しくない。敷居は非常に低い。よって厨房が大量発生中...
htmlしか知らないのは痛いかもしれないけど、phpはサーバサイドで動く言語
と言うのを理解した上で頑張ってくれ。
0096nobodyさん03/03/31 06:49ID:z41dsEAY
今度ISPにレンタルサーバ立ててPHPを使ったWebアプリを作る予定です。
そこではPHPLib, Smartyを使いたいと思っています。
コンパイルなどは許可されないと思うのですが、PHPLibって、そういう
環境でもインストールして利用できるのですか?
0097nobodyさん03/03/31 06:53ID:???
>今度ISPにレンタルサーバ立てて

自宅鯖?ならコンパイルできるだろ。
0098nobodyさん03/03/31 07:25ID:???
>>96
>今度ISPにレンタルサーバ立てて

そんな権限があるのだからコンパイルくらいなんぼでもやらせてもらえるだろ。
0099nobodyさん03/03/31 07:56ID:???
>>97-98
春だなぁ
0100nobodyさん03/03/31 08:00ID:???
>>99
>>96が春満開だからな。陽気に誘われた。
0101nobodyさん03/03/31 12:00ID:bvUigJQk
phpでhogeディレクトリー以下にどれぐらいの容量を使用しているかを
調べるのはどうすればよいでしょうか?
0102nobodyさん03/03/31 12:16ID:???
お前はここ見てゼロからやり直せ!
…みたいな初心者向けの解説サイトありませんか?
0103nobodyさん03/03/31 12:58ID:???
>>102
マンモス本ぐらい買えよ。
0104nobodyさん03/03/31 13:24ID:???
買うなんてもったいない。
0105nobodyさん03/03/31 15:08ID:BOUrZzjH
PHP4.3.1を使っているのですが
リファラーはどのように取得するのでしょうか?

$referer = getenv("HTTP_REFERER");
print "referer:".$refere."<BR>";

これでは取得できないようですが
0106nobodyさん03/03/31 15:13ID:???
>>105
そのページに直接(リンクを介さずに)アクセスしているからでは・・・
それと、本当にその通りに書いたのなら表示されるわけがない。
0107nobodyさん03/03/31 15:35ID:wTMBGJsI
★みんなの情報局★みんなのリンク集★ココ最高★
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
0108nobodyさん03/03/31 15:45ID:???
FreeBSD 4.8-PRERELEASE を使っています。
namazu モジュールを組み込もうとしているのですが、
buildconf を実行するとlibtool のバージョンチェックに引っかかって
しまいます。php のソースを展開したディレクトリには、
libtool 1.4.2 が入っていますが、こっちは使ってくれないようで、
/usr/local/bin/libtool 1.3.4 が使われるようです。
/usr/ports/devel/ に入っている3種類のlibtool は、distinfo を
見る限りいずれも1.3.4 でした。
PHP のソースに含まれている1.4.2 バージョンのlibtool を使用するには
どこをどう設定すれば良いのでしょうか?
0109nobodyさん03/03/31 17:26ID:1OU1azxz
ある文字列から,たとえば最初の10文字を取り出したいときはどうすればよいですか?
0110nobodyさん03/03/31 17:40ID:???
>>109
substr()
マニュアル嫁
0111nobodyさん03/03/31 17:43ID:1OU1azxz
>>110
ありがとうございます.わかりました.
もう一つ,Perlでいうところのs/hoge/foo/はどうすればいいでしょうか
0112nobodyさん03/03/31 17:46ID:???
>>111
わかってない
マニュアル嫁
0113nobodyさん03/03/31 17:49ID:1OU1azxz
ごめんなさい.逝ってきます.
0114nobodyさん03/03/31 17:49ID:???
>>109-112
コントですか?
0115nobodyさん03/03/31 17:51ID:???
>>111
まず調べ

                        Perlがでれば・・・
0116nobodyさん03/03/31 18:07ID:1OU1azxz
ごめんなさい.調べたら分かりました.許してください.すみません.
0117nobodyさん03/04/01 01:04ID:???
い、い、いぬが出てきた! phpinfo()
0118nobodyさん03/04/01 01:25ID:???
ワン!
0119nobodyさん03/04/01 02:11ID:???
>95
人によるんじゃないのかな。
最初はただPCでプログラム組んで、それがちゃんと動くだけでも
結構楽しいもんよ。そこで楽しさが感じられない人なら、
何か他の理由付けがないと難しいと思うけど。

>74
折りも、Mac OS X は個人的に結構興味がある。中古のMac買おうかと思ってるぐらい
ただ現行ハードのデザインが好きになれなくてね…せめてG3-266ぐらいのデザインの
機械を一機種でもラインナップに置かないのだ?
なので、取り合えずDarwin/x86で遊んでます。
0120ど素人03/04/01 04:41ID:XkDgOhTm
今日PHP始めました。
以下のようなものを組んだのですが常に『型が違う』と表示されます。
何がおかしいのかご指摘ください。

<FORM METHOD="POST" ACTION="index.php">
▲<INPUT TYPE="TEXT" NAME="a"><BR>
▼<INPUT TYPE="TEXT" NAME="b">
<INPUT TYPE="submit" VALUE="入力">
<INPUT TYPE="reset" VALUE="クリア">
</FORM>

<?php

if ($_POST["a"] !== $_POST["b"]) {
print "型が違う";
} elseif ($_POST["a"] == $_POST["b"]) {
print "▲と▼は等しい";
} elseif ($_POST["a"] > $_POST["b"]) {
print "▲の方が多い";
} else {
print "▼の方が多い";
}

?>
0121nobodyさん03/04/01 04:53ID:???
>>120
> if ($_POST["a"] !== $_POST["b"])

if ($_POST["a"] != $_POST["b"])
0122nobodyさん03/04/01 04:56ID:???
ちょいまて、

!== って型の比較検証する演算子じゃないよ。
■ このスレッドは過去ログ倉庫に格納されています