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

【PHP】下らねぇ質問はここに書き込みやがれ 73

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/09/03(水) 20:14:53ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん2008/09/03(水) 20:15:41ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
0003nobodyさん2008/09/03(水) 20:16:28ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん2008/09/03(水) 20:17:18ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん2008/09/03(水) 20:18:07ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0006名古屋(`・ω・´)2008/09/03(水) 23:20:49ID:CEvMO3N0
こんにちは。

PHPで、同じ変数から受け取ったファイルを同時に削除するにはどうしたらよいでしょうか?

たとえば
form.htmlには
<form action="form.php" method="POST">
<input type="hidden" name="file" value="test1.dat">
<input type="hidden" name="file" value="test2.dat">

<input type="hidden" name="file" value="test3.dat">

</form>



そして、これのfileをすべて削除するために、forで回しましたが、一番上のtest1.htmlしか削除できません。
何か方法を教えてください。

0007名古屋(`・ω・´)2008/09/03(水) 23:27:46ID:CEvMO3N0
※訂正
×test1.html
○test1.dat

続き
$file = $_POST['file'];
for($i=,$i<10,$++){
if(file_exists($file){
unlink($file);
}else{
die('File Not Found');
}
}

0008名古屋(`・ω・´)2008/09/03(水) 23:29:22ID:CEvMO3N0
※文法ミスです。度々すいません


続き
$file = $_POST['file'];
for($i=0,$i<10,$i++){
if(file_exists($file){
unlink($file);
}else{
die('File Not Found');
}
}

0009nobodyさん2008/09/03(水) 23:36:01ID:???
前スレの難読化のヤツをパクってみた。後悔はしていない
http://php.s201.xrea.com/
0010nobodyさん2008/09/04(木) 00:10:17ID:???
>>6
そりゃ3つ渡してるようだが上書きして最後のtest3.datしか渡してない
配列で渡せばいい
<input type="hidden" name="file[]" value="test1.dat">
<input type="hidden" name="file[]" value="test2.dat">
<input type="hidden" name="file[]" value="test3.dat">
0011102008/09/04(木) 00:15:54ID:???
すまん、挙動的にそうかと思ったらどうやら違うみたいだな
最後のじゃなくて最初の1つしかわたってないということに置き換えて読んでくれ
0012nobodyさん2008/09/04(木) 00:30:07ID:???
>>6
nameで配列指定する時はクォートが不要だと言うことをついで言っておこう
いつか役に立つってことで

例:
name="file[0]"
name="file[1]"
name="file[first]"
name="file[second]"

[]だけの場合は0からの連番になるさね
0013nobodyさん2008/09/04(木) 03:30:18ID:lh9zI60y
ユーザー定義関数のfunctionステートメントについて質問します
function 関数(){
}
関数()
で実行されると思うのですが

function 関数(){}は 後ろでまとめて記述してもいいのでしょうか?
0014nobodyさん2008/09/04(木) 03:39:43ID:???
うん
0015nobodyさん2008/09/04(木) 03:45:05ID:lh9zI60y
ありがとうございます
0016nobodyさん2008/09/04(木) 03:53:03ID:???
>>13
ただし、関数内に関数を作った場合は呼び出すところに注意

# a();←ここはおk

function a(){
# test():←ここはエラー
 function test(){}
# test();←ここはおk
}

# a();←ここもおk
0017nobodyさん2008/09/04(木) 04:34:06ID:E6nU21xk
質問です。

1.<form><input type="button" value="back" onclick="history.back()"></form>
これで前のページに戻ることは出来るのですが

2.<form><input type="image" src="back.jpg" onclick="history.back()"></form>
これで前のページに戻ることが出来ません。

というか引数無しで同じページ(form.php)に戻ってしまいます。
スレチかもしれませんがそれでもよろしくお願いします。
0018nobodyさん2008/09/04(木) 04:36:00ID:lh9zI60y
>>16
ありがとうございます
また疑問があったら質問させていただきます
0019172008/09/04(木) 05:57:33ID:E6nU21xk
自力で解決しますたw
0020nobodyさん2008/09/04(木) 06:46:07ID:???
>>17
板違いうぇb板に池詩ねこのやろう!
0021>>6名古屋(`・ω・´)です2008/09/04(木) 07:49:22ID:0aaRnDY5
PHP 複数操作

前回も似た質問をしましたが、何かHTML根本から間違ってた模様でした。

回答者様に指摘頂き、間違いを気付ました。

name属性file[]
でしていされたファイルが存在すれば、すべて削除するスクリプトですが、自分なりに考えてみました。

forで回す場合と
foreachで配列回回す場合を考えてみました。
ご教授お願いします。

【form.html】
これは2つとも同じです。
<form action="./roop.php" method="POST">
<input type="hidden" name="file[]" value="test1">
<input type="hidden" name="file[]" value="test2">
<input type="hidden" name="file[]" value="test3">
続き1へ
0022>>6名古屋続き2008/09/04(木) 07:50:37ID:0aaRnDY5
※続き
【roop.php】

$file = $_POST['file'];
for($i=0,$i<count($file),$i++){
if(file_exists('/home/test/www/'$file.'.html')){
unlink('/home/test/www/'.$file.'.html');
}
}
【foreachで回す場合】

foreach($file as $list){if(file_exists('/home/test/www/'$file.'.html')){
unlink('/home/test/www/'.$file.'.html');
}
}
ご教授お願いいたします。

0023nobodyさん2008/09/04(木) 07:52:50ID:???
何を教えればよいのだろう・・・
0024nobodyさん2008/09/04(木) 08:00:44ID:???
>>16=>>18=>>20
0025nobodyさん2008/09/04(木) 08:01:25ID:ocojec00
画像のアップローダーを作成しています。
というよりすでに一般的なアップローダーとしては完成しているのですが、
ここからさらに色々な機能を付け加えたいと思っています。
手始めに画像の判別処理を入れてみたいのですが、
どういった関数を用いてどのように処理をすればよいのか見当がつかなくて困っています。
例えばグロ画像などの判別を行い、グロ画像と判断した場合は投稿できない、
といったような感じの機能をつけたいです。
サンプルになる画像と比較して判別したり、
画像の色合い(肌色と赤色が多く混じってるなど)で判別するのでしょうが、
どういった処理を行えばよいのでしょうか?
0026nobodyさん2008/09/04(木) 08:28:15ID:???
>>22
forで$iをまわしても一度もループで$iがでてこないし、
foreachで配列変数$fileを$listでだしてんのに、ifでなんで$fileがでてくんだ
根本的に文法をしっかりマスターしなさい




<form action="./roop.php" method="POST">
<input type="hidden" name="file[]" value="test1.html" />
<input type="hidden" name="file[]" value="test2.html" />
<input type="hidden" name="file[]" value="test3.html" />
<input type="submit" value="ボタン" />
</form>

$ads = "/home/test/www/";
$file = $_POST['file'];

foreach($file as $v) {
if(is_file($ads.$v)) {unlink($ads.$v); }
}
0027nobodyさん2008/09/04(木) 08:31:42ID:???
修正版

<form action="./roop.php" method="POST">
<input type="text" name="file[]" value="test1.html" />
<input type="text" name="file[]" value="test2.html" />
<input type="text" name="file[]" value="test3.html" />
<input type="submit" value="ボタン" />
</form>

$ads = "/home/test/www/";
$file = $_POST['file'];

foreach($file as $v) {
if(is_file($ads.$v)) {unlink($ads.$v); }
echo "ファイルを消しました<br />";
}
0028nobodyさん2008/09/04(木) 08:34:39ID:???
【roop.php】

<form action="./roop.php" method="POST">
<input type="hidden" name="file[]" value="test1">
<input type="hidden" name="file[]" value="test2">
<input type="hidden" name="file[]" value="test3">

//ここまではいいだろう

$file = $_POST['file'];
for($i=0,$i<count($file),$i++){
if(file_exists('/home/test/www/'$file.'.html')){←$file[$i]
unlink('/home/test/www/'.$file.'.html');←$file[$i]
}
}
【foreachで回す場合】

foreach($file as $list){if(file_exists('/home/test/www/'$file.'.html')){←$list
unlink('/home/test/www/'.$file.'.html');←$list
}
}
0029nobodyさん2008/09/04(木) 10:13:08ID:???
>>25
ヒストグラムでググるとやり方はいくらでも出てくると思うけど、
ヒストグラムだけでは画像の内容推定はちょっと難しい。

画像の意味をコンピュータが知るというのは、
ロボットブームなんかの影響もあって学問的にもホットな分野なので、
画像認識とか、CVとかの論文を読んで、どうぞロバストなシステムを作ってください。
0030nobodyさん2008/09/04(木) 16:14:13ID:EDn9ySYG
フォームで日にちと時間を指定して
その日時にメールを送信したいのですが、
cronとやらを使うのが一般的なやりかたですか?

よろしくお願いします。
スレ違いだったらごめんなさい。
0031nobodyさん2008/09/04(木) 16:45:32ID:???
はい
0032nobodyさん2008/09/04(木) 17:28:02ID:47sdiIYk
MySQLとPdoMySQLとMySQLiの違いがわかんね
またPEARのDBとMDBとMDB2と違いもわかんね

誰か簡潔に説明うp!
0033名古屋(`・ω・´)2008/09/04(木) 17:33:56ID:0aaRnDY5
>>26
>>27
>>28
ありがとうございます。
完璧な回答です。
感謝いたします
0034nobodyさん2008/09/04(木) 20:47:50ID:pK7kGRJt
ttp://sinri.net/n/nikki33-shobu.htm

ここにあるようなチャットシステムで、
文字入力時間の表示が可能なチャットってどんなのがありますか???
調べているのですが、それらしいのが見付かりません><
現在時間が表示されるのはいっぱい・・・というか、そういうのしかないのですが・・・
教えてください。
0035nobodyさん2008/09/04(木) 21:00:55ID:???
>>34
POSTデータ送信時間 - 最終レス時間 = もうわかるよな
0036nobodyさん2008/09/04(木) 22:25:53ID:iLS2IK5b
掲示板を作成してるんですが、auの携帯で書き込みを行った際に
どうしても余分な1文字が付与されて、その1文字がどうしても
文字化けしています。

やっていることとしては、
formで、書き込んだデータをurldecodeかけた後に、文字エンコードを変更
して、レンタルサーバのMysqlのDBに書き込んでおります。

formで入力値が"あ"だった場合、phpmyadminで確認しますと、
"あ?"と表示されてしまうんです。。。

レンタルサーバのOSは、UNIX系のFreeBSD 6.2というOSです。

教えてください。。。;
0037nobodyさん2008/09/04(木) 22:36:31ID:???
BOM
0038nobodyさん2008/09/04(木) 22:40:27ID:???
>>36
「x-up-destcharset=17」でググってみ
0039nobodyさん2008/09/04(木) 23:07:04ID:lh9zI60y
<?php
$str = array("りんご","くり","かに","足");
$result = implode(',',$str);
print $result;
?>

のデータを実行すると????????になりました
いつもはちゃんと実行されるので
言語コードはあっているはずなのですが
よろしくお願いします
0040nobodyさん2008/09/04(木) 23:10:25ID:???
あってないんでしょう
0041nobodyさん2008/09/04(木) 23:15:09ID:lh9zI60y
なんでですかね。。。
突然変わってしまってました php エディタ standaloneってソフトです

ありがとうございました
0042nobodyさん2008/09/04(木) 23:16:59ID:???
いつもはちゃんと実行されてると言っているでしょう。
あなたとは違うんです。
0043nobodyさん2008/09/04(木) 23:28:58ID:???
>>41
スクリプトの文字コードと、ブラウザの表示エンコードをうp
output_bufferが有効ならhttp_outputの文字コードもチェック
0044392008/09/05(金) 00:00:28ID:eRsrgvQw
>>43
EUCです エディタソフトは
なぜかプラウザはシフトJISでも表示されてました

output_bufferが何か分かりませんが
とりあえず表示できたのでよかったです
0045nobodyさん2008/09/05(金) 00:01:35ID:???
ヘッダでちゃんとContent-Type送ってやれ
0046392008/09/05(金) 00:03:39ID:eRsrgvQw
>>45
そうすると その結果が出たあとはどうしたらいいのでしょうか?
0047nobodyさん2008/09/05(金) 00:12:36ID:???
0048392008/09/05(金) 01:02:33ID:eRsrgvQw
勘違いしてました
すいません
また質問させてくださいね
ありがとうございました
0049nobodyさん2008/09/05(金) 01:53:14ID:eRsrgvQw
ttp://www.phppro.jp/phpmanual/php/function.print-r.html
をみたのですが
print_rの使えるときがよく分かりません
printとはどう違うのでしょうか?

<?php
$str = array("りんご","くり","かに","足");
$result = implode(',',$str);
print_r ($result);
?>

をしてもprintと同じ結果になりました
0050nobodyさん2008/09/05(金) 01:58:26ID:???
同じ結果にならないだろカス
0051nobodyさん2008/09/05(金) 02:00:57ID:???
print_rがprintと同じ結果になるわけがない
printはただ出力を行うのにたいしprint_rは変数の詳細を出力する
print_rは配列の値がどのような構造になってるか等の確認するために使う
デバッグ用の関数みたいなもの
似たものにvar_dumpがある
マヌアルを読みなさい
0052492008/09/05(金) 02:01:34ID:eRsrgvQw
どちらも りんご,くり,かに,足  になりました
0053nobodyさん2008/09/05(金) 02:09:42ID:???
>>52
じゃこうしてみなさい

$a = array("りんご", "くり", "かに", "足");
print $a ."<br>\n";
print_r($a);

配列はprintじゃArrayと表示され
print_rは配列の詳細が出力される
非配列の変数に対してprint_rを使うことはない
ちなみにprintで上記のを表示させたい場合配列をループで展開する必要がある

for ($i = 0; $i < count($a); $i++) {
print $a[$i];
}
0054492008/09/05(金) 02:15:34ID:eRsrgvQw
おおー ありがとうございます
でもなぜ>>49では出なかったのか 少し考えたいと思います
私の中ではimplode ([0] => りんご,くり,かに,足)と出ると思っていたのですが
0055nobodyさん2008/09/05(金) 02:29:30ID:???
>>54
だから>>1のマヌアル読んでよ
http://jp2.php.net/manual/ja/function.implode.php

> string implode ( string $glue , array $pieces )
>配列の要素を glue 文字列で連結します。
て書いてあるでしょ

最初のstringっていうのはimplode使ったときのreturn値のことで
implodeを使用したら文字列が返ってくるということ

glueで連結した文字列ということはカンマを指定した場合
"りんご,くり,かに,足"という文字列が返ってくる

$result = implode(',',$str);
これに何の値が入ってるか全然把握してないじゃん

そういうときにこそvar_dump($result);を使って中身を確認する(マヌアル見れば不要なんだけど)
string(19) "りんご,くり,かに,足" って返ってくるでしょ?(Shift_JISの場合で19文字 UTFなら27文字)
これは$resultには19文字の文字列"りんご,くり,かに,足"しか入ってないということだ
0056552008/09/05(金) 02:31:49ID:???
失礼ちょっと訂正
19文字じゃなくて19バイトね
0057552008/09/05(金) 02:35:58ID:???
さらに付け加えると>>49でprint_rで詳細が出力されなかったのは
$resultが文字列であったからそのまま表示されただけ
これはprint_rの仕様

http://jp2.php.net/manual/ja/function.print-r.php


>返り値
>string、integer, float を指定した場合はその値が出力されます。
> array を指定した場合、キーと要素を表す形式で値が 表示されます。
>object に関しても同様の表示形式となります。

マヌアル読んだらほとんど解決できるんだから頼むで
0058nobodyさん2008/09/05(金) 05:10:12ID:???
もう釣りにしか見えない俺がいる
0059nobodyさん2008/09/05(金) 05:35:50ID:???
夏は終わったというのにマニュアルも読まない馬鹿ばっかか
0060nobodyさん2008/09/05(金) 08:30:53ID:4RcyHbzx
こんにちは
携帯のブックマーク増強のために

フォームから「タイトル/URL」記入/登録 ⇒ 指定HTMLファイルにリンクとして作成
登録するたび、上から順にそのリンク(ブックマーク)を羅列していく、などのPHPは簡単でしょうか?

よければやり方も教えてくれるとありがたいです。
よろしくお願いします。
0061nobodyさん2008/09/05(金) 08:48:01ID:???
>>60
簡単。

1.必要な入力項目を備えたフォームを表示する
2.POSTされてきたデータをデータベースあるいはテキストファイルに格納する。
3.データベースあるいはテキストファイルから登録されたデータを読み出して、
 リンク集のような体裁を作る。

以上。
0062492008/09/05(金) 08:51:45ID:???
みなさんありがとうございます
マニュアル読んでもわからないときは利用させていただきます
0063nobodyさん2008/09/05(金) 09:40:26ID:???
×マニュアル読んでもわからないときは利用させていただきます
○マニュアル読んでもわからないときはググって調べま
0064nobodyさん2008/09/05(金) 09:46:32ID:???
×マニュアル読んでもわからないときはググって調べま
○お前ら便利なので利用させていただきます
0065nobodyさん2008/09/05(金) 12:08:11ID:???
$int = 1-1;
switch($int) {
case $int == 0: $a ="ゼロ";break;
case $int <= -1: $a ="マイナス"; break;
case $int >= +1: $a ="プラス"; break;
default: print($int.'<BR>=$int'."数値外");
}
print $a;

この式でですが
1-1=0なのにこれを実行すると
マイナになってしまいます。
なんでゼロにならないのかわかりません
わかる方居ましたらお願いします。
0066nobodyさん2008/09/05(金) 12:15:02ID:???
switch-case文の使い方がおかしいだけ
0067nobodyさん2008/09/05(金) 12:27:14ID:???
>>65
switch()内がおかしいやるなら以下のように・・・

$int = 1-1;
switch(true) {
case $int == 0: $a ="ゼロ";break;
case $int <= -1: $a ="マイナス"; break;
case $int >= +1: $a ="プラス"; break;
default: print($int.'<BR>=$int'."数値外");
}
print $a;

0068nobodyさん2008/09/05(金) 13:35:20ID:???
一応↓で自己解決できたけど
case 0: $a ="ゼロ";break;
case $int <= -1: $a ="マイナス"; break;
case $int >= +1: $a ="プラス"; break;

なぜ0 の時は $int == 0:で評価されず
$int <= -1:
$int >= +1:
の時は正しく分岐してくれるんだろう?
0069nobodyさん2008/09/05(金) 13:36:50ID:???
>>67
あっそれだとわかりやすいです ありがとうございます。
0070nobodyさん2008/09/05(金) 13:40:08ID:???
(true)でやるならif文でいいよなー
0071nobodyさん2008/09/05(金) 14:26:11ID:???
>>61
ありがとうございます。
簡単だということなので、早速調べてみます!
0072nobodyさん2008/09/05(金) 14:34:33ID:cIVxkT8T
htaccessの質問ですが、

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*?)$ test.php?params=$1

にすると、http://example.com/test/
では、正常にtest.phpにアクセスされるのですが、
http://example.com/test/index.html
とすると、既にhtmlファイルがあるときにtest.phpにアクセスされず、
index.htmlにアクセスされてしまいます。

これの優先順位はどうやって変更するのでしょうか?
0073nobodyさん2008/09/05(金) 14:43:28ID:???
>>72
スレ違いな上に、↓を書いてるからと言うオチ
RewriteCond %{REQUEST_FILENAME} !-f
0074nobodyさん2008/09/05(金) 15:40:50ID:???
PEAR::MDBやPEAR::MDB2ってドライバ必要だけど、
今あるレン鯖でこのドライバ入ってるとこないよな

おとなしくPEAR::DB使うか・・・
0075N − 12008/09/05(金) 16:51:26ID:S0wC6xrr
PHPで同じようなページを大量に作りたい。

HTMLは分かるのですが、PHPは前の会社で少し使っただけで、きちんと理解していません。

タイトル
------

サブタイトル

本文〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

上記のような単純なページをタイトルごとに100ページ作るとして、これをHTMLで作ると、タイトルと本文以外のところをコピーして、そこにタイトルと本文を打ち込むようになりますよね?

HTMLで作ったすべてのページのフォントを変更したい、となった場合は、100全てのページを手作業で一つ一つ作り直さなければならないですよね?

そこでPHPを使いたいと思ったのですが、前の会社で理解しないまま使っていた下記のphp構文を見てください。
0076N − 22008/09/05(金) 16:54:35ID:S0wC6xrr
<?

if($_GET[pgfile]=="001"){
//だいこん
$title="だいこん";
$subtitle="おいしいだいこん";
$naiyo="だいこんは〜〜";
}elseif($_GET[pgfile]=="002"){
//みかん
$title="みかん";
$subtitle="おいしいみかん";
$naiyo="みかんは〜〜";




?>

これを「keyword.php」というファイル名で保存し、「index.php」にて「keyword.php」のファイルを読み込み、

<?
print $title;
?>
このようにすると、
http://○○○○.com?001
みたいにすると、だいこんのページが表示され、
http://○○○○.com?002
にすると、みかんのページが表示される。
の、ように使った覚えがあるのですが、何せ、理解しないままに使っていたので、
半年ほどphpに触れていないだけで忘れてしまいました。様々なページを見て、調べてみたのですが、わかりませんでした。keyword.phpを読み込む構文もどれを使えばいいのかわかりません。お力をお貸しください。よろしくお願いいたします。
0077nobodyさん2008/09/05(金) 16:54:41ID:???
断る。
0078N − 12008/09/05(金) 16:55:37ID:S0wC6xrr
補足

keyword.phpは、メモ帳に残してあったのでそのままコピーしたのですが、

index.php

に書くphpがわからないということです。

■index.phpにてkeyword.phpを読み込む方法
http://○○○○.com?001とすると、だいこんのページが、002だとみかんのページを表示させる方法

index.phpの書き方が何もわからない、と言うべきでしょうか。
お力をお貸しください。

宜しくお願い致します。

改行が多い、文字数が多いという制限で、このように3つに分けて書き込むことになりました。
見にくくなりまして申し訳ございません。
0079nobodyさん2008/09/05(金) 17:07:34ID:???
読むのがめんどくさいので要点だけまとめたコードを書け
ここはおまえだけの質問スレじゃねえんだよクソがっ!
0080nobodyさん2008/09/05(金) 17:24:29ID:???
>>78
ちいたん使って最初から構築し直せ。
中途半端によく分からないコードをコピペしたところで、
オマイにとって何の役にもたたん。
0081nobodyさん2008/09/05(金) 17:36:16ID:???
phpでメールフォームの作りかたを勉強しようと思って、
ttp://www.sapphirus.biz/php/sformmail/
↑こちらのテンプレ(utf-8))を使わせていただいたのですが、
$mail_to の中身を自分のアドレスにしても
メールが届きませんでした。

あと
ttp://techblog.ecstudio.jp/tech-tips/mail-japanese-basics.html
などを見て( mail() で日本語は使えないということで)
<?php
 mail('(メールアドレス)','test','testtest','(自分の別のメールアドレス)');
?>
としてみたんですが、これもメールが届きませんでした。


もしかしたら 自分が使っている hotmail でフィルタリング
されているのかもしれませんが
もし上のphpの使い方で間違っているところがあったら
教えてください。お願いします。

ちなみに実行環境は
land.to鯖(アップロードして実行)です
0082nobodyさん2008/09/05(金) 17:38:57ID:???
なぜこうもマニュアルを見ないやつが多いんだ
釣りなのか?
0083nobodyさん2008/09/05(金) 17:46:06ID:???
> もしかしたら 自分が使っている hotmail でフィルタリング
> されているのかもしれませんが

だったら、自分で確認出来るだろ。
0084nobodyさん2008/09/05(金) 17:59:08ID:???
文面からして同じやつが複数の質問してるようにみえるんだが・・・気のせいか?
0085nobodyさん2008/09/05(金) 18:01:18ID:???
>>81はスルーしよう
最低限>>1も読んでないし、上の質問者と同一人物な・・・
0086nobodyさん2008/09/05(金) 18:51:27ID:???
>>75みたいにデータを一つにまとめて何かメリットってあるの?
0087nobodyさん2008/09/05(金) 18:52:35ID:???
>>86
100ファイル書き換えろ
0088nobodyさん2008/09/05(金) 19:35:24ID:???
>>87
keyword.phpに一まとめするメリットって意味。
アクセスされるたびに全部読み込むのは無駄じゃない?
0089nobodyさん2008/09/05(金) 19:37:39ID:KqF5VkrU
81へ
まちがっている
0090nobodyさん2008/09/05(金) 22:21:02ID:???
>>75
これがもっとも単純な例(普通はissetで$_GETのチェックするけど省略)

[index.php]
<html>
<head>
<title><?php echo htmlspecialchars($_GET['title']); ?></title>
</head>
<body>
<h2><?php echo htmlspecialchars($_GET['title']); ?></h2>
<hr>
<h3><?php echo htmlspecialchars($_GET['subtitle']); ?></h3>
<pre>
<?php echo htmlspecialchars($_GET['body']); ?>
</pre>
</body>
</html>

http://example.com/?title=baka&subtitle=aho&body=shine

GETだと渡せる値は制限あるので本文が長い場合は向いていない
0091nobodyさん2008/09/05(金) 22:58:06ID:???
>>74
腐るほどあると思うが。
無ければ置けばいいだけだし。
0092nobodyさん2008/09/05(金) 23:45:46ID:2tnTw7Tu
PHPの入門者HPを読み漁り、初歩的なことはできるようになったんです。

で、掲示板とかショッピングサイトとか作ってみたいんですが、
そういうのの作り方とかサンプルソースがあるHPをおしえてください。

ちなみに、貧乏なのでできることなら本でなくネットで済ませたいです。
0093nobodyさん2008/09/06(土) 00:23:00ID:???
>>91
無ければ置けばいいってそんな簡単に設置できるのか!?
0094nobodyさん2008/09/06(土) 00:25:32ID:???
>>92
グーグル先生でおk
0095nobodyさん2008/09/06(土) 00:32:12ID:???
>>92
おまえさ、最近よく質問しにくるやつだろ
何でもかんでも聞くクセ直せよ
貧乏なら働けよ
金ないなら検索ぐらいしろよ
0096922008/09/06(土) 00:37:14ID:D1i3e/MK
>>94
グーグル先生に聞いても見つからないんです><;PHPのページが多すぎて何がいいかわからん。。

>>95
全然違います。見えない敵とあまり戦わない方がいいっす。
0097nobodyさん2008/09/06(土) 00:39:11ID:???
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
[あなたと違う専用しおり]  /  ̄ヾ)   ,彡 ,,,,,、 ,,,,、、 ミ;;;::::::::::::::::::::::::::::
 i゙i ,,,ノ 、,,-=、 ミミミ!     □c□6    ゞi" ̄ フ‐! ̄~~|-ゞ:::::::::ここまで::
 {_i=・}-{_=・`} ̄レゥ:}     ヽ┴`ノ,   ヾi `ー‐'、 ,ゝ--、' 〉;:::::::::::::::::::::::::::::
  l ̄,,,,_,゙ ̄` :::ン フフッ  /<θ>\  `,|  / "ii" ヽ  | 客観的に見た
  |/ _;__,、ヽ..::/l    / ̄ ̄T ̄ ̄\ 't ←―→ )/イl::::::::::::::::::::::::::::::
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
0098nobodyさん2008/09/06(土) 00:41:16ID:???
>>92
PHPで出来てる掲示板とかダウンロードしてソース見てみれば?
本買ったほうが早いと思うが、金無いならググレ
0099922008/09/06(土) 00:43:16ID:D1i3e/MK
>>98
なるほろ。。そういえば、PHPでできてる無料レンタル掲示板とかありますね。

そこいらをちょろっとダウンロードすればいいのか。参考になりました。ありがとう。
0100nobodyさん2008/09/06(土) 00:48:43ID:???
>>96
自分で調べられないならこのスレで質問できるレベルではないね
0101nobodyさん2008/09/06(土) 00:50:27ID:???
しょうがねぇな「PHP 掲示板 作成」でググレ
金無いならこのぐらい工夫しろ
■ このスレッドは過去ログ倉庫に格納されています