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

くだすれPHP(超初心者用)

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2006/06/12(月) 14:06:01ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、 
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 
PHP使いが優しくコメントを返しますが、 
お礼はPHPの布教と初心者の救済をお願いします。 

PHP Home Page 
http://www.php.net/
08838812006/11/02(木) 10:38:27ID:???
>>882
ありがとう。
httpで始まるアドレスのソースは取得できました。
httpsが読み込めませんが、もうちょっと考えてみることにします。
でも、これでだいぶ先が見えてきました。
0884nobodyさん2006/11/04(土) 17:56:24ID:???
初心者以下の質問ですまん
インストール時の設定がわからないんだ
どの本にもC:\Apache Group\Apache2\conf\httpd.conの内容を変えろと書いてあるんだが
httpd.txtかhttpd.txt.defaultしか見当たらない だれか助けてくれ
0885nobodyさん2006/11/06(月) 09:42:59ID:???
.conf の間違いじゃないのか?
0886nobodyさん2006/11/06(月) 11:16:32ID:???
拡張子を表示しない設定?
0887nobodyさん2006/11/06(月) 11:24:42ID:???
ははは。まさかこれから
ApacheとPHPをやろうという人間が、
拡張子を表示するとかしないとかのことすら知らないということはないだろう。
あはははは。まさかなw
0888nobodyさん2006/11/06(月) 11:25:24ID:???
>>884
とりあえずファイルをメモ帳などで開いて中身を見てみるとかは当然したんだろうな?
0889nobodyさん2006/11/06(月) 14:37:16ID:???
フレッシュな感じが
゚+.(・∀・)゚+.゚イイ!!
0890nobodyさん2006/11/06(月) 23:37:27ID:???
そしてとりあえず、apacheのフォルダは検索したんだろうな?
0891nobodyさん2006/11/06(月) 23:51:51ID:???
phpで数値と数字を比較すると正しく動くのですが、
これは文法的に正しいのでしょうか?

プログラム例---------------------------
$a = 1;
$b = "1";

if ($a == $b) {
echo "aとbは同じです";
} else {
echo "aとbは異なります";
}

実行結果-----------------------------

aとbは同じです

-------------

数値を数字に変換したり、又はその逆を行ってからif文による
比較を行わないとだめなのかなぁとも思うのですが、、
みなさまの見解を教えていただけますでしょうか?
0892nobodyさん2006/11/07(火) 00:26:17ID:???
ご意見も何も、そういうもん。
ttp://www.php.net/manual/ja/types.comparisons.php
0893nobodyさん2006/11/07(火) 01:19:37ID:???
配列を再利用する場合、どのようにすればよいでしょうか?

例えば
aaa[] = 100;
aaa[] = 200;
aaa[] = 300;
としておいて、
配列aaaをクリアし、
aaa[] = 111;
aaa[] = 222;
aaa[] = 333;
というデータを新しく入れたい場合です。
0894nobodyさん2006/11/07(火) 01:28:58ID:???
要素毎に上書きしていくってのもありだと思うけどunsetするのが良いんじゃないかな
0895nobodyさん2006/11/07(火) 01:34:09ID:???
>>894
ありがとうございます!unsetでクリアできましたー。
ちなみに、
aaa = "";
のようにしても、配列をクリアできるみたいですねー。
あまり、いいやりかたじゃないような気がしますが。。
0896>>8912006/11/07(火) 01:36:04ID:???
>>892さま、ありがとうございます
0897nobodyさん2006/11/07(火) 09:30:57ID:???
>>895
aaa = array();
のほうがわかりやすくね?
08988812006/11/07(火) 10:22:51ID:???
やはり何故かhttpsから始まるアドレスが読めません。
使用しているPHPは5.1.4でapacheは2.058、windows環境です。
PHP5であれば問題なく読めるという記述が散見されたのですが・・・。

現状で、単純にソースを読み込むということで

$url="https://www.xxx/yyy/zzz";;//指定のURL
$source = file_get_contents($url);
print(htmlspecialchars($source));

という一番簡単な形にしているのですが、どなたか
設定等の見直しポイントなどをお教え願えないでしょうか。
よろしくお願いいたします。
0899nobodyさん2006/11/07(火) 11:17:01ID:???
FWかなんかでApacheが外部に接続するのをシャットアウトしてるんじゃないのかな?
0900nobodyさん2006/11/09(木) 17:53:08ID:???
XSLとPEARのXML_RSSを比べると、どちらが早く表示してくれますか?
また、サーバへの負荷はどちらが大きいんでしょうか?

Amazon Webサービスで利用するにはどちらがいいのかと思って。
XSLについてはよくわかりません。(利用したことがないので。)
恐らくXML_RSSの方が便利だとは思うのですが、負荷も大きいような気がします。どうなんでしょうか?
0901nobodyさん2006/11/09(木) 18:57:26ID:pIp40KJ2
$result = mysql_query("select * from XXXX");
$rows = mysql_num_rows($result);
echo $rows,
"件のレコードがあります。";

こんな感じでmysqlのテーブルに格納されているレコードの件数を表示する
プログラムを書いたんですが、これと同じような感じでテーブルに作られているカラム数を表示する
プログラムを書きたいんですけどどうすればいいでしょうか。誰か教えてください。
0902nobodyさん2006/11/09(木) 19:00:23ID:???
SQLにCOUNT(*)ってのがあるよ
0903nobodyさん2006/11/09(木) 19:07:46ID:???
Select * From ... Limit 1;でfetch_row()して、その配列の数をcount()するとか?
09049012006/11/09(木) 19:10:10ID:???
すみません,自己解決しました
09059012006/11/09(木) 19:14:13ID:???
>>902 >>903
もうしわけありません! 返信ありがとうございました
0906nobodyさん2006/11/09(木) 19:21:34ID:???
>>900
何がやりたいかを基準に選べ

負荷的には XSL > XML_RSS だろうけど
この場合、伝送遅延が無視できなさそうな気はする。
0907nobodyさん2006/11/10(金) 10:47:26ID:???
PHPを使用して、指定URLのファイル(もしくは、htmlそのもの)をダウンロードしてくるプログラムを
作りたいのですが、可能でしょうか?
0908nobodyさん2006/11/10(金) 10:54:24ID:???
最短一行で可能 file_get_contents()
0909nobodyさん2006/11/10(金) 11:33:35ID:???
エレガントだ・・・
0910nobodyさん2006/11/10(金) 20:22:47ID:???
エレガントかどうかは・・・簡単ではある。
0911nobodyさん2006/11/10(金) 22:40:54ID:???
あれだろ、ページ収集に使うんだろ。
だろだろ。
0912nobodyさん2006/11/10(金) 23:38:11ID:???
>>908
そんなバカチョン関数よか、wgetやCurlを呼び出して使う方がよっぽどいいだろ。
0913nobodyさん2006/11/10(金) 23:47:53ID:???
あーハイハイw
0914nobodyさん2006/11/11(土) 01:30:51ID:???
>>912
わざわざCurlとか使う利点ないし。
0915nobodyさん2006/11/14(火) 11:39:37ID:Ur4FtKPG
$i=1;
$ans=$i%10;

1割る10の余りがどうして1になるんですか?
$i=11;
$ans=$i%10;
ならわかるんdすが
0916nobodyさん2006/11/14(火) 11:52:59ID:???
1じゃなくていくらだと思ったのか興味があります
09179152006/11/14(火) 12:27:46ID:8CK2Abpk
余りはでないのではないかと・・・
0918nobodyさん2006/11/14(火) 12:29:01ID:???
小学校で割り算習わなかったのか?
0919nobodyさん2006/11/14(火) 13:23:25ID:???
最近は小学校2年生からPHPをやるのか
0920nobodyさん2006/11/14(火) 14:46:25ID:???
>>915
つ 「たのしいさんすう」
0921nobodyさん2006/11/14(火) 15:01:22ID:???
>>915
1 わる 10 は こたえが 0 で あまりが 1 なんだよ
0922nobodyさん2006/11/14(火) 15:34:55ID:???
915が釣りであって欲しいと願う俺であった。。。
0923nobodyさん2006/11/14(火) 18:01:14ID:Ur4FtKPG
釣りではないのであった。。。

いま10歳の甥に聞いたら小ばかにされた。
吊ってくりゅ。。。
0924nobodyさん2006/11/14(火) 21:09:19ID:???
mysqlとphpどちらか解らなかったので、とりあえずこちらでお聞きします。
スレ違いだったら済みません。
ユーザー認証システムのようなものを作ってみたのですが、正しく動作しなくて困っています。

if($_POST['name'] && $_POST['pass']){
$sql = "SELECT name,pass FROM user WHERE name = '".$_POST['name']."' AND pass = '".$_POST['pass']."'";
$res = mysql_query($sql,$conn) or die('nullpo');
if($res){
print('認証成功');
}
}

といった感じに、$_POST(実際のソースでは生でクエリ文に入れませんが)と登録されている
ユーザーデータの照合をして存在した場合は次に進む、という動作をさせたいのですが、
上記のソースでは存在しようと存在しまいとチェックを通過してしまいます。
そこで以下のようにしてみたのですが、存在しないユーザーだった場合
MySQLのエラー文がぽろんと表示されてしまいます。

if($_POST['name'] && $_POST['pass']){
$sql = "SELECT name,pass FROM user WHERE name = '".$_POST['name']."' AND pass = '".$_POST['pass']."'";
$res = mysql_query($sql,$conn) or die('nullpo');
$num = mysql_num_rows($res)
if($num != '0'){
print('認証成功');
}
}

このようなシステムを作る場合、どのように書けば良いのでしょうか。
無い知恵絞って色々試してみたのですが結局八方塞になってしまいました。
宜しければご助言お願します。
0925nobodyさん2006/11/15(水) 04:11:39ID:???
↑マニュアルのmysql_query()をちゃんと嫁。特に戻り値
↓エラー文を嫁。読めばどう扱えば良いか分かる筈
0926nobodyさん2006/11/15(水) 07:17:33ID:???
ウォーニングエラー
勃起しません!
0927nobodyさん2006/11/15(水) 08:22:53ID:???
つo <- バイアグラ
0928nobodyさん2006/11/15(水) 08:43:39ID:???
>>924
・エラーが出ますで分かるわけがありません。どうでもいい擬音付けてないで内容を書いてください。
・nameカラムに存在しないユーザ名が$_POST['name']に入っていても0件ヒットするだけで
エラーは発生しないはずです。原因は複数推測できますがエラー内容が書かれてないので何とも言えません。
0929nobodyさん2006/11/17(金) 05:36:54ID:???
漏れのところでは、重要なエラーはギュイーンって音がするのですぐ分かるようになってるよ。
0930nobodyさん2006/11/17(金) 16:37:09ID:XyuqYnXf
phpinfoで動作確認したのですが
<?phpinfo();?>
とテキストの内容が表示されるだけです
マニュアルどうり設定したはずなのですが・・
0931nobodyさん2006/11/17(金) 16:41:06ID:???
>>930
<?php phpinfo(); ?>
0932nobodyさん2006/11/18(土) 06:20:48ID:hIHZ3hjv
×どうり
〇どおり
0933nobodyさん2006/11/18(土) 09:36:44ID:???
>>929
俺のところでは
「エラーが発生しました、ご主人様」って音声ファイルにしてるよ。
0934nobodyさん2006/11/18(土) 14:31:00ID:KxRRk8/i
Textarea内にimgタグを含んだ文章を送信して画像を表示させようとしたら
imgタグ中に\マークが現れて画像が張れません
文字列を補正するような関数があったと思うんですが忘れてしまって……
誰か知っていたら教えてください
0935nobodyさん2006/11/18(土) 15:08:04ID:???
すとりっぷすらっしゅ
09369342006/11/18(土) 16:30:41ID:KxRRk8/i
>>935
ぉぉそうでした
感謝多謝
09376582006/11/18(土) 18:38:41ID:dtYeCOR7
サーバに送られてきたデータをもとに
あらかじめ用意していたテキストの情報を
組み合わせて表示させたいのですが
どうすればよいのでしょうか?
0938nobodyさん2006/11/18(土) 18:44:59ID:???
>>937
そのまま足せばいいんじゃね
0939nobodyさん2006/11/18(土) 18:55:57ID:???
>>637
str_replace
0940nobodyさん2006/11/18(土) 22:33:45ID:6DbfLQtM
配列の要素に変化を与える関数で
$配列=array_reverse($配列) のように代入しないと動かないものと
array_multisort($配列) のように関数だけで動くものがありますが、
何かの法則があるのでしょうか?
覚えづらくて・・・
0941nobodyさん2006/11/19(日) 01:49:06ID:???
残したいやつと残す必要がないやつ
0942nobodyさん2006/11/19(日) 11:37:43ID:S6DpJ04L
>>941
まりがとう
0943nobodyさん2006/11/19(日) 15:45:50ID:???
微妙にすれ違いかもわからんが。
HTMLでPHPのメニューを呼び出したいんだが
<?php include("menu.php"); ?>
じゃ表示されないんだ。調べてみてもこれであってると思うんだが、
0944nobodyさん2006/11/19(日) 15:56:21ID:???
拡張子htmlのファイルでphpで記述されたメニューを呼び出したいという事ですか?
iframeでいいんでないの?
0945nobodyさん2006/11/19(日) 16:00:22ID:???
>>943
それを記述してるファイルの拡張子が.html(.htm)なら、それをPHPと判断しないわな。
0946nobodyさん2006/11/19(日) 16:48:04ID:???
アッーマジで見落としてたわ。
サンクス
0947nobodyさん2006/11/20(月) 17:39:11ID:y9nxJrBU
php5 mysqlの操作で質問なのです。

select count(*) from table
の結果を表示させるにはどうしたらよいのでしょうか?

$sql = "select count(*) from table";
$result = mysql_query($sql);
$count = mysql_num_rows($result);

if($count !=0){
$row=mysql_fetch_array($result);

ここからどうするのでしょうか?


すみません、よろしくお願いいたします。
0948nobodyさん2006/11/20(月) 17:44:07ID:???
>>947
ttp://jp.php.net/manual/ja/ref.mysql.php
09499472006/11/20(月) 18:22:39ID:???
>948

調べても、わからんです。
0950nobodyさん2006/11/20(月) 18:28:10ID:???
>>949
あきらめろ
09519472006/11/20(月) 18:45:17ID:???
$sql = "select count(*) from table";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count !=0){
$row=mysql_fetch_array($result);
}
echo $row[0];


こんな感じでいいのでしょうか?
もっと効率いい書き方あるのでしょうか?
超初心者なんで、すみません。
ヒントでもいいですので、よろしくお願いします。
0952nobodyさん2006/11/20(月) 18:58:23ID:???
>>949
いやだから>>948の下の方にmysql関数を使った簡単なサンプルが載ってるだろ?
それで分からないならあきらめましょう。
君はもっと別の分野で羽ばたいてください。
0953nobodyさん2006/11/20(月) 22:12:35ID:vMGaJEQ5
preg_match
↑これなんて発音してますか?
0954nobodyさん2006/11/21(火) 04:04:23ID:???
俺は「ぴーれぐまっち」って言ってる
0955nobodyさん2006/11/21(火) 04:55:54ID:???
ぷれぐ
0956nobodyさん2006/11/21(火) 10:26:50ID:???
ぷれっぐ_まっち
0957nobodyさん2006/11/21(火) 16:02:37ID:???
ぴーれぐ
いーれぐ
0958nobodyさん2006/11/21(火) 21:03:49ID:???
プッれぐあんだーばーまっち
0959nobodyさん2006/11/21(火) 23:31:03ID:VIydVpP6
PHPとPerlの違いを簡単に教えて下さい
0960nobodyさん2006/11/22(水) 00:32:21ID:???
>>959
最初のP以外全部違うwww
0961nobodyさん2006/11/22(水) 00:33:02ID:???
>>959
HPとerl
0962nobodyさん2006/11/22(水) 00:33:47ID:???
かぶった・・・ orz
0963nobodyさん2006/11/22(水) 00:59:52ID:???
>960
>961

理系ギャグ キタ━━━━(゚∀゚)━━━━ッ!!
0964nobodyさん2006/11/22(水) 01:29:56ID:???
こんな過疎板でなにやってんだよ
09659592006/11/22(水) 01:40:54ID:Inx/urH+
すいませんが、技術的な話でお願いします
0966nobodyさん2006/11/22(水) 01:51:37ID:???
漠然と違いつっても沢山ありすぎるよ
もう少し何か言うことないの?
0967nobodyさん2006/11/22(水) 06:21:17ID:???
とりあえず「PHPとPerlの違い」でぐぐる
ttp://www.google.co.jp/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-26,GGGL:ja&q=PHP%E3%81%A8Perl%E3%81%AE%E9%81%95%E3%81%84
0968nobodyさん2006/11/22(水) 10:57:41ID:???
普通に使うのなら、perlはCGIとして利用するが、PHPはCGIとして利用しない
0969nobodyさん2006/11/22(水) 11:09:55ID:???
>>968
え、よく使うけど。
大抵の機能が関数として用意されてるから便利だし。
0970nobodyさん2006/11/22(水) 14:33:03ID:???
>>969 を教師にもつ生徒は大変だな
0971nobodyさん2006/11/22(水) 15:08:56ID:???
遠慮せず理由も書けばいいのに。
書けないなら無理せんでもいいが。
0972nobodyさん2006/11/22(水) 15:47:05ID:???
>>969
CGI版PHPを使うのはfastcgiとかを利用するときくらいかと思ったけど
それでも
>大抵の機能が関数として用意されてるから便利だし
のレスの意味がわからない

CGI版PHPをコマンドラインから使うときの話のなのか?
0973nobodyさん2006/11/22(水) 15:50:30ID:???
>>972
あはは。
おっしゃるとおりCLIと読み違えてた。

よって、>>970はそのとおりです。
失礼した。
0974nobodyさん2006/11/24(金) 14:14:09ID:???
>>928
ぽろん?www
0975nobodyさん2006/11/24(金) 17:30:48ID:/pfTXisS
重複カウント防止のアクセスカウンタ作ったんですけど
一度カウントされると二度とカウントされないのです
今日カウントされても翌日にまた一度だけカウントされるような
うまい手立てってないですかね?
0976nobodyさん2006/11/24(金) 17:36:08ID:???
普通(?)は24時間とか、一定時間経てばカウントされるようにすると思うんだけど。
0977nobodyさん2006/11/24(金) 17:36:39ID:???
>>975
どうやって二重防止しれるかによるだろう・・・
IPとかで弾いてるなら、タイムスタンプつけて、
次アクセスした時に1日たったかチェックして判定したら?
0978nobodyさん2006/11/24(金) 17:40:14ID:???
重複確認にクッキーとか凝ったものは使っていないと仮定して答えるけど、

簡単にやるならそのカウンタが最後に起動した日時を記録しておいて
日付が変わっていたら重複予防リストをクリアする。
もっと凝るなら重複予防リストにアクセス日時も併せて記録しておいて
重複アクセスが来たら前回からどれだけ時間が経っているかで判断させる。

まあ負荷と手間と効果のバランスを考えたら前者がお勧めだ。
0979nobodyさん2006/11/24(金) 17:55:01ID:???
200.200.200.100<>10242405422

みたいに IP<>タイムスタンプ でログを取ればおk
どこからかアクセスがあった場合、
2そのIPがロギングされて無いかを調らべ、
あるなら24時間内の判断を行い、24時間内ならスルー。
また24時間以上たっているレコードは全削除する。
カウントアップに該当するIPならIPとその時のタイムスタンプをロギング。
09809752006/11/24(金) 18:51:34ID:???
>>976 >>977
まりがとう やってみます
0981nobodyさん2006/11/24(金) 23:16:24ID:???
うちの場合は日付(曜日)ファイルを用意してある。
月曜→1
火曜→2
:
と毎日記録しておく。曜日とファイルの数字が一致しなければ日が変わったということで日付ファイルを更新する。その時ついでに何かのアクションがあれば起こす。
0982nobodyさん2006/11/25(土) 07:31:04ID:???
普通に日付が変わったら、全IP削除で良いよ。
裏でDB動かすなら簡単。
レス数が950を超えています。1000を超えると書き込みができなくなります。