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

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

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

PHP Home Page 
http://www.php.net/
0811nobodyさん2006/10/18(水) 15:12:18ID:???
if ($contents == "")
08128062006/10/18(水) 15:26:29ID:3inEdCG7
>>811
if ($contents) {
に代入するんですよね?
今試したのですが書き込まれてしまいました。
0813nobodyさん2006/10/18(水) 15:33:52ID:???
>>809
<?php
if ($_POST['contents'] == "") exit;
08148062006/10/18(水) 15:38:40ID:3inEdCG7
>>813
白紙ページに飛ばされてしまいました・・・・・・・・・・・
書き込みはされていなかったのですが・・・・・・・・
0815nobodyさん2006/10/18(水) 15:44:07ID:???
>>814
あとは自分で、マニュアルで exit の意味など、使われている関数それぞれの働きを調べよう。
08168062006/10/18(水) 15:49:08ID:3inEdCG7
ありがとうございました、
ご協力感謝します。
08178062006/10/18(水) 17:49:45ID:3inEdCG7
なんとか思い通りになりました、
本当にありがとうございました。
0818nobodyさん2006/10/18(水) 19:45:35ID:7mti2GK8
メールフォームはPHPで作ったらって意見をWEB板で聞いてきたんですが
どこか作り方がのってるお勧めのサイトはないでしょうか?

あとPHPはインストールしたんですがアパッチって必要ですか?
0819nobodyさん2006/10/18(水) 20:00:25ID:???
PHPには非常に良くできたマニュアルがあるからとりあえずざっと読んどけ。

http://www.php.net/manual/ja/

アパッチは無しでもPHPがちゃんと動いてるんなら別にいいんじゃね?
…動くのならな。
0820nobodyさん2006/10/19(木) 06:13:33ID:???
アパッチ(httpサーバ)無くてもPHPは動くだろ。
「メールフォーム」として機能するかどうかは別だけど。
08218062006/10/19(木) 11:14:20ID:hbO6oYme
if (!empty($_POST["message"])) {//もしフォームのメッセージ部分が無記入でなかった場合
$items = explode("$sep", $fname[0]);
$no = $items[0] + 1;
$name = htmlspecialchars($_POST["name"]);//$_POST["name"]に特殊文字があればhtmlで表記できるように,かつタグを無効化し$nameへ
if (!$name) {
$name = "名無しさん";
}
$reference = htmlspecialchars($_POST["reference"]);//$_POST["reference"]に特殊文字があればhtmlで表記できるように,かつタグを無効化し$referenceへ
if (!$reference) {
$reference = "未確定情報";
}
$message=htmlspecialchars($_POST["message"]);//$_POST["message"]に特殊文字があればhtmlで表記できるように,かつタグを無効化し$messageへ
if (get_magic_quotes_gpc()){
$name = stripslashes($name);
$reference = stripslashes($reference);
$message = stripslashes($message);
}
$message = str_replace("\r\n", "\r", $message);
$message = str_replace("\r", "\n", $message);
$message = str_replace("\n", "<br>", $message);
$string = $no.$sep.$name.$sep.$reference.$sep
.$message.$sep.date("Y:m:d: H:i:s")."\n";
$lines = file($fname);//$name(gbook.txt)を読み込み$lineへ
$file = fopen($fname, "w") or die("OPENエラー $fname");
flock($file, LOCK_EX);//ファイルを排他ロックする=この処理が終わるまでファイルのロックを継続
fputs($file, $string);//$fileに文字列バイナリモードで書き込む?
for($i=0; $i<10; $i++)
fputs($file, $lines[$i]);
flock($file, LOCK_UN);//ファイルのロックを解除する、この場合排他ロックを解除する
fclose($file);//$fileを閉じる
}
08228062006/10/19(木) 11:15:45ID:hbO6oYme

if(file_exists($fname)){//もし$fnameが存在するならば
$file = file($fname);//$fname(gbook.txt)を読み込み$fileへ
for($i=0; $i<8; $i++){
@list($no, $name, $reference, $message, $date)=explode($sep, $file[$i]);
echo $no;
echo $name;
echo " $reference";
echo " $date";
echo "$message".'<br>';
}
}
?>
08238062006/10/19(木) 11:17:35ID:hbO6oYme
記事に番号を割り振るのがうまくいきません、
申し訳ないのですがお力添えいただけませんか?
0824nobodyさん2006/10/19(木) 11:26:14ID:???
い や だ
0825nobodyさん2006/10/19(木) 13:08:24ID:???
これは嫌だ
0826nobodyさん2006/10/19(木) 14:08:33ID:G4Zd3K8e
フォームを設置したページform.phpで
$_SESSION["test"] = $_POST["test"];
とした$_SESSION["test"] の値を別のページで参照したいのですが
例えばindex.php(ベースとなるページ)の中にincludeで読み込んだaaa.phpでも参照できる方法はないでしょうか?

aaa.phpの表示内容の一部をisset($_SESSION["test"])で切替えたいのですが
$_SESSION["test"] の値がindex.php(ベースとなるページ)では参照できるのですがaaa.phpでは参照できません。

関係ないかもしれませんがsession_start();をaaa.phpに記述した場合、しなかった場合、記述位置等試してみましたがどうにもうまくいきません。
何かよい方法があればご指導お願い致します
0827nobodyさん2006/10/19(木) 19:25:38ID:???
>>826
いいか、落ち着いてソースを見るんだ。
aaa.php では $_SESSION['test'] じゃないものを参照してるだろう?
0828nobodyさん2006/10/19(木) 19:49:15ID:G4Zd3K8e
>>827
有難うございます。もう一度よく見直してみます。
0829nobodyさん2006/10/20(金) 03:26:13ID:NpR8vlmi
http://3d.skr.jp/2d/
このサイトのように記事の先頭のラジオボタンにチェックを入れて
下部に送信ボタンをつける場合、
このページの書き込みフォーム以降〜最後尾まで削除用フォームで囲まないと
いけないのでしょうか?
それともjavaなど以外で何かコツがあるのでしょうか?
0830nobodyさん2006/10/20(金) 03:29:20ID:vHyympME
>>829
PHP以前の問題、HTML勉強してソース嫁
0831nobodyさん2006/10/20(金) 04:39:06ID:???
htmlspecialchars呼ぶだけの行にあのコメントは、すごいなとおもた。
0832nobodyさん2006/10/20(金) 06:56:53ID:BjlN/o9s
>>827
有難うございます。落ち着いてソースを見直したおかげで解決しました。
実は$_SESSION['test'] は見直してもそこはなんとか正しく記述できてました。
その為にますますどうしたらいいかわからなくなって、ただただ見直して意味の無い変更を繰り返す事しかできなかったのですが、やっと見つける事ができました。
includeのファイル名の指定が絶対パスで指定してしまっていたところを相対パスに修正したら参照できるようになりました。
相対パスと絶対パスでこんなにも結果が違ってくるものなんですね。(初心者ですみません)勉強になりました。ソースを見直したおかげです。本当に有難うございます。
0833nobodyさん2006/10/20(金) 10:50:17ID:???
>>831
ワラタw
これじゃコメントじゃなくて関数の説明だww
0834nobodyさん2006/10/21(土) 10:04:19ID:???
basicって関数みたいな概念無いからな。goto制御の世界。
グローバル変数しか有りません。

socket_listen()で80番ポートを掴めば、phpだけでウェブサーバも作れるよね。
ttp://jp.php.net/sockets のサーバプログラムの$portを80にすればウェブサーバの出来上がり。
ブラウザでつなげてきたら、好きな文字列を返せばブラウザが表示してくれる。
ブラウザが送ってくる、GET /とかの文字列を読み込んで、返す文字列を変えればいろんなページが有るように見える。
0835nobodyさん2006/10/21(土) 10:13:53ID:???
PHPでウェブサーバって、できるけどあまり向いてないよ。
そういう用途なら、rubyかperlの方がいいね。
0836nobodyさん2006/10/21(土) 11:19:04ID:???
向いてる向いてないなんて誰も問題にしてないのにruby房必死だな
0837nobodyさん2006/10/21(土) 16:23:58ID:???
っていうかapache使えばいいだけの話なのに、
なぜ>>834みたいな話題になるんだろう・・・
0838nobodyさん2006/10/22(日) 01:05:21ID:???
きっと>>834は初めてソケット関数を見て、ウェブサーバも作れちゃうぜ!って思ったのさ

まぁ、突然basicの話を振る所からしてお察し
0839nobodyさん2006/10/24(火) 20:43:21ID:???
そう言えばgotoってPHP6で登場とかってどこかで見たけど、どうなの?
0840nobodyさん2006/10/24(火) 21:20:36ID:???
gotoなんて使い道あんのか・・
0841nobodyさん2006/10/24(火) 21:55:55ID:???
gotoはフレームになるから、どっかに仕舞っておきたい。
0842nobodyさん2006/10/25(水) 01:41:19ID:xzcKcppx
この表に記入してくださいおねがいしますおねがいします。


       PHP4   PHP5
信頼性    -      -
速度      -      -
簡単性    -      -
将来性    -      -

 凡例
 ・すごく勝ってる ◎
 ・勝ってる ○
 ・引き分け -
 ・負けてる △
 ・すごく負けてる ×

あー、なんか相対評価と絶対評価があいまいですが、超スーパー素人なのでゆるしてくださいゆるしてください。
0843nobodyさん2006/10/25(水) 07:31:16ID:???
       PHP4   PHP5
信頼性    △     △
速度      -      -
簡単性    △     △
将来性    ×     △
08448422006/10/25(水) 11:17:33ID:???
>>843
ありがとござますありがとござます。

・・・なんとゆーか・・・悩ましいです・・・この表で答えが決まると思ったのに・・・ぅぅ・・・
0845nobodyさん2006/10/25(水) 13:39:01ID:???
答えが知りたきゃ預言者にでもなるか、変な宗教に入れば
0846nobodyさん2006/10/25(水) 13:55:40ID:???
答えを知りたければ、まず覚えろ、そして感じろ。
0847nobodyさん2006/10/25(水) 14:37:09ID:???
これでいいんじゃね
       PHP4   PHP5   PHP6
信頼性    △     ○    ◎
速度      △     ○    ◎
簡単性    △     ○    ◎
将来性    △     ○    ◎
0848nobodyさん2006/10/25(水) 16:57:31ID:???
4と5の相対的な比較を知りたいんだよな? だったら・・・

       PHP4   PHP5
信頼性    -     -
速度      ○     ?
簡単性    ◎     -
将来性    -     ○

4は枯れてるので将来性はむしろ不要。
0849nobodyさん2006/10/25(水) 19:24:34ID:???
決定版>>842
       PHP4   PHP5   Ruby
信頼性    ×     ×    ◎
速度      ×     ×    ◎
簡単性    ×     ×    ◎
将来性    ×     ×    ◎
0850nobodyさん2006/10/25(水) 19:57:38ID:???
>>849
はいはい、燃料投下乙乙
0851nobodyさん2006/10/25(水) 20:11:23ID:???
>>842
信頼性:大差なし
速度:自分でベンチマークとってください
簡単性:基本的に下位互換性あり
    (5でオブジェクト関係等が強化され作り易くなったとも言えるし、使いたくなければ使わなくても・・)
将来性:>>848 もしくはPHP6に期待

まぁあれだ、PHP4とPHP5で比べてもそこまで大きな違いはないよな
08528422006/10/25(水) 20:24:10ID:xzcKcppx
みなさん、あっりがとぅぉうございまぁっす!!!!!
感動しますた。
ぅ私のあいまいフィルターをろ過した結果、ルビー・・・じゃないPHP5を選ぶこととしましとぅあ!!!
やっと先に進めるぜー!
0853nobodyさん2006/10/25(水) 20:32:26ID:CtdvutIa
『->』の意味を教えてください。
あるいは検索のポインタを示していただけますか。

google先生は記号を無視なさるので検索できません。
phpマニュアルも言語リファレンスの章を読みましたが載っていませんでした。
0854nobodyさん2006/10/25(水) 20:38:52ID:???
キーワード

php クラスの基礎
0855nobodyさん2006/10/25(水) 21:03:26ID:???
>>853
JAVAの本一冊読んでからPHPに戻ると理解が早い
08568532006/10/25(水) 21:09:23ID:???
>>854-855
ありがとうございました。
JAVAの「.」のようなものと判断しましたがいかがでしょうか。
0857nobodyさん2006/10/26(木) 06:21:20ID:???
javaの本よりPHPの本読むほうが理解が早いに決まってんだろ
0858nobodyさん2006/10/27(金) 16:50:44ID:if5gMbam
掲示板作ったんですけど書き込んだ内容が
たまに反映されないときがあります。
ログファイルには書き込まれててブラウザの更新を押せば
反映されるんですけど自動的に更新させるにはどうすればよいのでしょうか。
0859nobodyさん2006/10/27(金) 17:17:35ID:???
ブラウザ キャッシュ とかで検索すると幸せになれそうな気がします
0860nobodyさん2006/10/27(金) 18:24:46ID:???
引数の参照渡しはわかるんですが
最初に&が付けられてる関数はどんな意味があってどういうときに役立つんですか?
0861nobodyさん2006/10/27(金) 21:50:08ID:???
返り値 参照渡し とかで検索すると幸せになれそうな気がします
0862nobodyさん2006/10/27(金) 22:42:17ID:???
親切にすぐ検索語句を教えていただき有難いのですが
でもそれだと引数の参照渡ししかヒットしません・・・
0863nobodyさん2006/10/27(金) 22:49:16ID:???
おれのぐぐるは
参照 戻り値 php
で一番上にまさにそれが出てきたぞ
0864nobodyさん2006/10/28(土) 15:06:32ID:???
PHPでアップローダーを作ってみたのですが、アップロードされたファイルは一度メモリに格納されるみたいで
ソースの中で制限を大きくしても、巨大なファイルのアップロードはできないみたいなんです。
こういった場合直接HDDにコピーできるような方法はないのでしょうか?
ちなみに鯖はwindowsなのでmod_uploaderが使えません・・。
0865nobodyさん2006/10/28(土) 16:34:13ID:wEQaPP90
blognというblogを少し改造して、トップケージ(index.php)と個別記事(index.php?e=数字)とで違う
処理をさせたいと思っています。URLで分岐すればいいと思うのですが、どうすればいいのでしょうか?

$url = $_SERVER[REQUEST_URI];
if ($url = ??) {
}
こういう感じだと思うのですが。
0866nobodyさん2006/10/28(土) 17:05:13ID:???
index.phpの後ろの?e=hageが無ければという意味なら

if (!$_GET) {}
0867nobodyさん2006/10/28(土) 18:03:24ID:???
>>864
phpinfo()をチェック
0868中三2006/10/28(土) 19:33:32ID:???
?以降の文字列の最初の一文字が'e'なら
$query_e = substr($_SERVER['QUERY_STRING'],0,1);

if($query_e == 'e'){おっぱい括弧}
0869nobodyさん2006/10/28(土) 19:47:27ID:???
switch ($_GET['e']) {
 case 0:
  おまんこ;
 break;

 case 1:
  おちんちん;
 break;
}
08708652006/10/28(土) 23:13:08ID:???
ありがとう皆さん。感謝します。
0871nobodyさん2006/10/28(土) 23:24:46ID:???
エロいのはいけないとおもいます。
0872nobodyさん2006/10/29(日) 03:00:59ID:???
ちんこ require まんこ
0873nobodyさん2006/10/29(日) 07:38:47ID:???
php4前提のフレームワークって結構多いよ。
フレームワーク無しで書くなら、php5でもいいけど。
0874nobodyさん2006/10/29(日) 22:34:07ID:???
PHP5ならSymfony使うな
0875nobodyさん2006/10/31(火) 00:37:34ID:5vaTIA8W
PHPでトラックバックPingの送信を実装したいと思っています。
フォームなどを使わずにスクリプトを実行するだけで、送信するような
プログラムを書きたいのですが、どなたかアドバイスいただけませんか?
よろしくお願いします!
0876nobodyさん2006/10/31(火) 00:55:42ID:???
それくらい自分で考えよう
0877nobodyさん2006/10/31(火) 01:35:29ID:???
>>875
オープンソースのブログとかのコードを見てみれば??
0878nobodyさん2006/10/31(火) 01:51:38ID:5vaTIA8W
>>875
下記を参照しましたができませんでした。
下記のプログラムでできますでしょうか?

http://otokunikim.seesaa.net/article/1631941.html

http://fstyle.ddo.jp/archives/2005/09/php_-_1.html

このプログラムを実行しても、エラーが出てしまい、トラックバックしてくれません。
なぜでしょうか?
0879nobodyさん 2006/10/31(火) 02:04:41ID:F9LjnucE
PHPファイルと同じディレクトリにある、テキストファイルを読み出して、
文章中に含まれるカタカナの語句を全て抜き出し、コンマ区切りで別の
テキストファイルに書き出すということをしたいのですが、ちょっと
手詰まりな状態です。どうか、ご教授願えませんか?

こんな感じですが・・・
$text=fopen("bunsyou.txt","r");
$text2=fread($text,filesize("bunsyou.txt"));
//echo "$text2<br>\n";

for($i=1; i<=10; i++){
if(eregi("[ア-ン]",$text2));

}
fclose($text);
これからどうしたらよいのやらという感じでして。。。
他もあたったのですが、なんとも・・・
どうすればいいんでしょうか?
0880nobodyさん2006/10/31(火) 03:15:53ID:???
マルチ氏ね。向こうのスレで回答者に礼ぐらいもいえねーのか。
http://pc8.2ch.net/test/read.cgi/php/1161733546/486
http://pc8.2ch.net/test/read.cgi/php/1161733546/492
0881nobodyさん2006/11/01(水) 18:11:40ID:???
不特定のwebサイトのソースを変数に読み込んで、その中から
特定のタグの使用回数を求めるプログラムを作りたいんですけど
ソースとして読み込むってのはどうすれば良いのでしょうかね。。。
0882nobodyさん2006/11/01(水) 18:55:55ID:???
file_get_contentsかな
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:???
エレガントかどうかは・・・簡単ではある。
レス数が900を超えています。1000を超えると表示できなくなるよ。