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

【PHP】下らねぇ質問はID出して書き込みやがれ 93

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/02/15(月) 19:23:06ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 92
http://pc11.2ch.net/test/read.cgi/php/1263035502/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0482nobodyさん2010/03/03(水) 16:00:44ID:???
>>481
それだとhoge.phpが実行されて、すぐにリロードが発生してまたhoge.phpが実行される。
途中からとかは無理
0483nobodyさん2010/03/03(水) 16:02:19ID:???
hoge.phpとhoge2.phpを用意すればいいんじゃね?
0484nobodyさん2010/03/03(水) 16:02:30ID:???
もしかしてAJAXのことを言っているのか
0485nobodyさん2010/03/03(水) 16:03:11ID:???
>>481
そういうのはJavaScriptでやろうか
0486nobodyさん2010/03/03(水) 16:06:41ID:uqAdaiUc
ファックアナルってことですねわかりました。

とりあえずどしろうとなので何ができて何ができないのかがわからなかったのでしつしねもんしてみました

他の方法とかも考えて勉強したいとおもいます。
0487nobodyさん2010/03/03(水) 18:02:39ID:GWDWl4Kw
【OS名】FreeBSD(レンタルサーバー)
【PHPのバージョン】Apache/1.3.41 (Unix) PHP/5.2.11 mod_layout/3.4
【連携ソフトウェア】mysql
【質問内容】
MYSQLのバックアップとミラーへの反映を、異なるレンタルサーバ間でやろうと思っています。

dumpを作成し、ミラー側のphpへhttpアクセスし、ミラー側のphpからdumpを取得するのはセキュリティ的によろしくないっぽいので、
dumpをミラー側へMULTIPART/FORM-DATAでPOSTするのが安全かなと思うのですが、これってソケットからコーディングしなければいけなかった気がします。

もっとスマートな方法があれば、教えてもらえないでしょうか
04884642010/03/03(水) 18:05:45ID:0y5py4rs
>>474
こういう関数があったんですね。参考になります。

とりあえず、464の内容ならファイルが壊れる可能性があるという事で理解します。
0489nobodyさん2010/03/03(水) 18:11:39ID:???
dumpよりも暗号化ZIPとかでコンパクトにした方がいいような気がするけどな
マルチパートで送るにしても結局平文だし
0490nobodyさん2010/03/03(水) 20:27:25ID:p43dWZoR
データベースサーバーにデータを登録してそれをPHPで随時読み込むという方式をとろうと思っています。

データをデータベースにアップロードするさい、たとえば

猫 100円
犬 50円
鳩 20億円
・・・・

みたいなCSVファイルを手元に用意してそれを一気にデータベースにアップロードすることはできますか?
それともアップロードもPHPで一つ一つ行う必要がありますか?

加えてアップロード後にやっぱり

犬 200円

に変更したくなったとき、手元のCSVファイルを編集してそれをもとにデータベースの方にも反映させる
ことは不可能でしょうか?
0491nobodyさん2010/03/03(水) 20:35:44ID:???
データベース使ってる意味ないじゃねぇかw
クエリ発行しろクエリ
0492nobodyさん2010/03/03(水) 21:04:41ID:???
データベースを勉強してらっしゃい
0493nobodyさん2010/03/03(水) 21:31:33ID:???
>>490
「手元」ってのは、DB動かしてるのとは別のマシンってことかいな?

なんにせよ、CSVを読んでその内容をDBに登録するPHPスクリプトを書くのは当然可能。
変更させるのも可能。
0494nobodyさん2010/03/03(水) 22:42:50ID:p43dWZoR
>>493
はいそうです。手元のマシンからレンタルサーバー上のデータベースにデータをアップデートしたり
随時変更したりできないものかなと思いまして。

> なんにせよ、CSVを読んでその内容をDBに登録するPHPスクリプトを書くのは当然可能。
> 変更させるのも可能。

つまり手元のマシンからレンタルサーバー上のデータベースに手を加えるには
PHPを通さないと無理ということですねorz・・・

ありがとうございました(´Д`)
0495nobodyさん2010/03/03(水) 22:46:38ID:???
zend studioの値段すごいな
0496nobodyさん2010/03/03(水) 22:49:17ID:???
>>494
いや直接できるよ?
0497nobodyさん2010/03/03(水) 22:50:51ID:???
フリーのNetBeanseで全く同じ事が出来るのにね
0498nobodyさん2010/03/03(水) 23:17:53ID:p43dWZoR
>>496
どうやったらできますか?
0499nobodyさん2010/03/03(水) 23:31:37ID:???
>>498
マニュアル読むかぐぐれ
0500nobodyさん2010/03/04(木) 00:19:57ID:Xd0cEYC5
アクセスログをとるスクリプトをPHPで書いています。
問題はログファイルでしてPHPスクリプトから読み書きできるような属性にしているため(646:rw-r--rw-)
ログファイルのURLさえ分かってしまえば一般ユーザーからもログファイルの中身が盗み見されてしまいます。

ログにはアクセスしてきた人の個人情報(ホスト名や検索語)が載っているためできれば
あまり第三者に公開したくありません。だからといって属性を640:rw-r-----とかにすると
PHPスクリプトからもそのログファイルにアクセスできなくなります。

こういうときはどうしたらいいでしょうか?
0501nobodyさん2010/03/04(木) 00:28:51ID:???
だからデータベース
0502nobodyさん2010/03/04(木) 00:29:17ID:???
公開ディレクトリに置かなきゃいいだろ
もしくは直接ファイルをapacheでアクセスできないようにする
0503nobodyさん2010/03/04(木) 00:42:56ID:???
このスレになってから3回目だなこの質問
0504nobodyさん2010/03/04(木) 00:56:27ID:???
フリーでころがってるスクリプトを参考にしようとも思わないのかね。
0505nobodyさん2010/03/04(木) 01:12:06ID:???
・ルートの上に置く
メリット:簡単
デメリット:パスが変わるので変更が面倒 サーバによってはルートより上に置けない

・先頭に.htをつけたファイル名にする
メリット:簡単
デメリット:Apache限定かつサーバの設定次第で出来ない

・htaccessで制限する
メリット:配布する形ならもっとも一般的
デメリット:Apache限定かつサーバの設定次第で出来ない htaccessの知識が必要

・データベースに突っ込む
メリット:管理がし易い データ膨大になるほど処理速度が有利
デメリット:若干面倒 セキュリティリスクが増える DBが使えないサーバでは出来ない SQLの知識が必要
0506nobodyさん2010/03/04(木) 01:17:07ID:/m9H2563
拡張子をphpにする
0507nobodyさん2010/03/04(木) 02:02:32ID:???
あかんがな
0508nobodyさん2010/03/04(木) 02:04:24ID:???
中身全部出力されるがな
0509nobodyさん2010/03/04(木) 02:12:32ID:???
cgiにする
0510nobodyさん2010/03/04(木) 02:15:10ID:Xd0cEYC5
そうですか、データベースか.htaccessでフォルダ自体にアクセスできないようにするかしたほうがいいということですね。

>>504
フリーで転がっているものでログファイルをデータベースにしてあったり.htaccessでアクセス制限
してくださいね、と主張しているものはあまり見たことがないもので・・・
0511nobodyさん2010/03/04(木) 02:17:12ID:???
いいえ
特定の拡張子だけアクセスできないようにすればいいんです
ていうか>>503の発言から察してこのスレのログぐらい嫁
>>28
0512nobodyさん2010/03/04(木) 02:23:39ID:???
見せたくないファイルは公開ディレクトリに置かないってのが
基本中の基本なんだけどそれはスルーするの?
0513nobodyさん2010/03/04(木) 02:25:54ID:???
基本であるけど配布されてるものは全部ルート下のディレクトリに収める感じに構成されてるし
このファイルはルートの上におけなんてわざわざreadmeに書かないんじゃないかね
まぁ自サイトで使うのみなら定石だよな
05145062010/03/04(木) 02:35:41ID:/m9H2563
>>506です
あかんな
反省々々
0515nobodyさん2010/03/04(木) 02:46:35ID:Xd0cEYC5
>>511
これは失敬、特定の拡張子にだけアクセスできないよう設定するという意味でしたか

>>512
レンタルサーバーなんで公開ディレクトリ以外のディレクトリにファイルを置くことはできないんです
0516nobodyさん2010/03/04(木) 02:47:33ID:???
ほうほうそれで?
0517nobodyさん2010/03/04(木) 02:50:28ID:???
どこのサーバよ
0518nobodyさん2010/03/04(木) 02:50:50ID:???
そんなとこあるか?
05195112010/03/04(木) 02:54:09ID:???
>>515
こちらこそ失敬
よく流れ読んでなかった
BASIC認証のことかと思ったすんませぇん
0520nobodyさん2010/03/04(木) 02:55:58ID:???
えっ
0521nobodyさん2010/03/04(木) 02:58:43ID:???
ん?
0522nobodyさん2010/03/04(木) 02:59:43ID:???
あ?
05235112010/03/04(木) 03:00:44ID:???
いやぁ・・・
>そうですか、データベースか.htaccessでフォルダ自体にアクセスできないようにするかしたほうがいいということですね。
これだけ見てBASIC認証の話してると思ったけど
よくよく考えてみたら
特定ディレクトリにログファイル集めてDrectoryMatchのことを言ったのかなぁと思って
0524nobodyさん2010/03/04(木) 03:16:11ID:???
logfile
public_html
  └index.php


public_html
  └index.php
  └.htaccess
  └logfile
0525nobodyさん2010/03/04(木) 09:37:38ID:???
>>498
レンサバが、DBへの外部からのアクセスを許しているなら、手元のPC上のDBクライアントから
レンサバに繋いでDBの操作も可能。

上が駄目でも、レンサバにtelnetなりSSHなりでアクセスでき、レンサバ側にDBクライアントも
乗っているなら、それを使うという手もある。

上記がどっちも駄目なら、DBアクセスする(PHPに限らず何らかの)コードをサーバ上に置いて、
そのコードを(CGIなり何なりで)起動させる。

これら以外は俺も知らない。
0526nobodyさん2010/03/04(木) 10:16:46ID:???
hogeってなんですか?
0527nobodyさん2010/03/04(木) 10:18:29ID:???
http://kmaebashi.com/programmer/hoge.html
0528nobodyさん2010/03/04(木) 10:38:17ID:???
<?php

mb_language("japanese");
mb_internal_encoding("UTF-8");
$to = "xxx@yyy.com";
$name = $_POST["name"];
$from = $_POST["mailaddress"];
$subject = $_POST["subject"];
$message = $_POST["message"];
$header = "From: " . mb_encode_mimeheader (mb_convert_encoding($name,"UTF-8","AUTO")) . "<" . $from . ">";

//入力チェック
if ($name == "") {$errMsg .= "名前が入力されていません。";}

if (mb_strlen($name) > 20) {$errMsg .= "名前は20文字以内で入力して下さい。";}
if ($from == "") {$errMsg .= "メールアドレスが入力されていません。";}
$ret = preg_match("/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/", $from);

if (!$ret) {$errMsg[] = "メールを正しい形式で入力して下さい。";}
if ($subject == "") {$errMsg .= "件名が入力されていません。";}

if ($message == "") { $errMsg .= "本文が入力されていません。";}
mb_send_mail ($to, $subject, $message, $header);
?>

メール送信の前にチェックをして未入力の項目があったら画面にエラーメッセージを表示し、
送信出来ないようにしたいのですが、何を追加したら良いのでしょうか?
0529nobodyさん2010/03/04(木) 10:49:47ID:???
$errMsgは配列なのか違うのかはっきりしろや
0530nobodyさん2010/03/04(木) 11:08:43ID:???
はじめてのプログラムがメールフォームかよ
0531nobodyさん2010/03/04(木) 12:31:00ID:???
スレタイ読め
0532nobodyさん2010/03/04(木) 12:42:44ID:???
スレタイ読めとか言っても読まないやつは後を絶たないし、それに答えるやつもいるし
もうこのスレの存在意義ないよ
0533nobodyさん2010/03/04(木) 12:55:01ID:???
正規表現滅茶苦茶だな
0534nobodyさん2010/03/04(木) 14:43:21ID:iGtVy898
MYSQL5とPHP5の環境で質問です。

写真とそのコメントを登録するアプリがあるとします。
更新時、必ずクエリの成功と画像登録の成功をセットで行いたいです。
1)コメントと画像を変更する時は、
 if($updateRS==1){?画像登録処理} //$updateRSはupdate文の返り値
 という流れで問題ないです。
2)コメントは変更しないけど画像だけ変更するとき、この場合はどうしたら良いんでしょう?

2)の場合、mysqlは更新前後で値の変化がない時はupdateの返り値が0なので、
if($updateRS==1){?画像登録処理}という流れができません。
値の変化を伴う場合、変化がない場合にも共通して使えるような
update〜画像登録の処理はどうしたら良いでしょうか?

自分で考えたのは、テーブルに適当なダミーカラムを持たせて、
UPDATE $table SET `dummyC` = time() とかすればとりあえず更新が常に発生するかと思ったんですが
そんなことのためにカラム作るの嫌だなと…
どうしたら良いか、ご意見お願いします。

if($updateRS==1)のチェックをしなきゃ良いんですけど、2)のケースの時に
クエリエラーで文章が変化ないのに写真だけ更新される問題が発生しかねないので避けたいです。
それともそんなの気にする必要ないんでしょうか?
0535nobodyさん2010/03/04(木) 14:46:10ID:???
phpの質問じゃないだろ
0536nobodyさん2010/03/04(木) 14:49:08ID:???
ん?よく読んでないけどなんで画像登録処理単体で実行しちゃだめなの?

>2)コメントは変更しないけど画像だけ変更するとき、この場合はどうしたら良いんでしょう?
>
>if($updateRS==1)のチェックをしなきゃ良いんですけど、2)のケースの時に
>クエリエラーで文章が変化ないのに写真だけ更新される問題が発生しかねないので避けたいです。

コメントは変更しないのに何のクエリを発行するの?
文章が変化なくて写真だけ更新されるなら2)の目的を達してるのでは?
05375362010/03/04(木) 15:03:12ID:iGtVy898
ありがとうございます

>>535
sql板で聞くかこちらで聞くか悩んだ末でした。ずれてたらすみません。

>>536
たしかに、コメントが変更されないとわかってればif($updateRS==1)のチェックせず
ストレートに画像登録単体ですれば良いんですが、
その場合コメントがdb登録済みコメントと同じことを確認する処理が必要になるので。。

とりあえず、コメントと画像が更新される前提としてif($updateRS==1)を用意して、
コメント変更がない場合にも柔軟に対応させたいんです。
「画像だけを変更する」「コメントだけを変更する」って機能にすればいいんですけどね…
実際にはコメントにあたるupdate対象のtextarea や inputが30個くらいあるので難しいです。
0538nobodyさん2010/03/04(木) 15:04:03ID:iGtVy898
あ、間違えた 上の名前欄は >>534です。
わかりにくい文章でごめんなさい
0539nobodyさん2010/03/04(木) 15:04:30ID:???
毎回コメント変更すればいいんじゃね
0540nobodyさん2010/03/04(木) 15:08:51ID:???
time()デリミタコメントで更新して、取り出す時分解すればいいんじゃないか?
普通は更新日時付ければいいものだけどな
0541nobodyさん2010/03/04(木) 16:01:07ID:iGtVy898
>>539
それはちょっとw
>>540
やっぱり更新日付いれますか…
mysqlのtimestampで設定してるのでムダになっちゃうんですけどね
みんなこういうのどうやってるのかなぁ、ありきたりな処理のはずなんだけど
0542nobodyさん2010/03/04(木) 16:05:12ID:???
トランザクション使え
0543nobodyさん2010/03/04(木) 16:12:54ID:???
>>537
普通にコメントを上書きすればいいんじゃね?
それが嫌なら、コメントを取得して比較して、同じだったら画像登録処理だけ、違ったらコメント更新と画像登録処理をやればいいのでは?
0544nobodyさん2010/03/04(木) 16:36:30ID:???
mysql_query() は DML なら True/False を返すみたいだから、
それで判断すればいいんじゃない?
PDOもexecuteは True/False を返すみたいだね。
どっちも使ったことないけど。。。
0545nobodyさん2010/03/04(木) 16:41:13ID:???
あ、UPDATEならTrue/Falseなのは間違いじゃないですけど、
DMLてのは間違いでした。すんません。
05465412010/03/04(木) 17:01:20ID:iGtVy898
どうも皆さんすみません
なんか、解決じゃないですがアプローチを変えることにしました
皆さんのアドバイス見てるうちに問題の切り分けができてきました。ほんとにありがとう。

以下雑記。。
今までpearのadodbの$db->execute("update〜〜")でやってて、それならupdateでも
クエリ成功したら1が返って来てたんですが、zendFWのupdateメソッドに変更したら
行数しか返ってこなくてif($rs==1)の確認ができなくなってたわけです。
問題はFWの知識不足に行き着きそうなので、そっちで考えます。ありがとうございました。
0547nobodyさん2010/03/04(木) 17:06:50ID:???
失敗したら例外投げるんじゃね?
0548nobodyさん2010/03/04(木) 17:18:27ID:???
うんこ漏れそうなんですが・・・
05495412010/03/04(木) 17:32:05ID:???
>>547
そうなんでしょうか? わざとエラー起こして検証してみます
ありがとう
0550nobodyさん2010/03/04(木) 17:52:18ID:???
>>548
質問ならID出してね
05515482010/03/04(木) 18:23:07ID:???
漏れたwwwwwwwwwwwwwwwwwwwwww
0552nobodyさん2010/03/04(木) 21:45:50ID:???
自治厨惨めでちゅう
0553nobodyさん2010/03/04(木) 22:18:10ID:Xd0cEYC5
アクセスログを取るPHPスクリプトを書いていてログファイルを一般ユーザーに閲覧してくないという
質問をしたものです。

あのあとPHPファイルとログファイルを置いてあるフォルダに .httacces ファイルを設置し

order allow,deny
deny from all

と設定することで無事ログファイルを非公開にすることが出来ました。

ところでログファイルを置いているフォルダにアクセスログを取るPHPスクリプトも同居させていますが
このファイルをサイトから include する分には問題無いんですね。非公開フォルダに置いてあるphpファイル
はもしかしたらインクルードできないのではと思っていましたが杞憂のようです。
0554nobodyさん2010/03/04(木) 22:35:25ID:???
もうちょっとWebサーバを学んだほうがいいよ
0555nobodyさん2010/03/05(金) 00:15:54ID:???
554はチンピラ
0556nobodyさん2010/03/05(金) 01:25:28ID:???
チンピラではないがよくわかってないのに知ったかっぽい書き方されるとイラッとくるのはわかる
口にはわざわざ出さないけどな(今出しちゃったけど)
0557nobodyさん2010/03/05(金) 01:26:04ID:???
require_onceについて質問なのですが、
/home/lib/にlib.phpとlib2.php
/home/www/にhtml.php
あるとしてhtml.phpに
require_once("../lib/lib.php");
require_once("../lib/lib2.php)";
と書いているのですが、lib.phpとlib2.phpがお互いに参照したくなったので
lib.phpにrequire_once("lib2.php");
lib2.phpにrequire_once("lib.php");
と書いても問題ないでしょうか?
0558nobodyさん2010/03/05(金) 01:35:35ID:???
>>557
>>1
0559nobodyさん2010/03/05(金) 05:59:48ID:8KOlP1UU
postfixで受信したら、phpを起動して実行するということをやりたいのですがうまくいきません。
aliasesには  hoge:"|/usr/bin/php /var/www/hogehoge.php"
と設定し、newaliasをしてあります。
/var/wwwにあるhogehoge.phpには
<?php
$pointer=fopen("./test.txt", "w+"); //ファイルを開きます
flock($pointer, LOCK_EX); //ファイルをロックします
$ntime = date("Y年n月j日h時i分s秒");
fputs($pointer, $ntime."\n");
flock($pointer, LOCK_UN); //ロックを解除します
fclose($pointer); //ファイルを閉じます
?>
と記述してあります。
コマンドラインからhogehoge.phpは正常に実行でき、test.txtにはタイムスタンプが出力されるのですが、hoge宛にメールを送ってもphpは実行されていません。
postfixのログには
postfix/local[28018]: 1EBB65F8269: to=<hoge@****>, relay=local, delay=0.08, delays=0.04/0.02/0/0.02, dsn=2.0.0, status=sent (delivered to command: /usr/bin/php /var/www/hogehoe.php)
とあるのでパイプ処理は通ってる気もするのですが。
なにか考えられる原因ってありますでしょうか?
0560nobodyさん2010/03/05(金) 06:02:58ID:???
>>559
postfixのログ、
status=sent (delivered to command: /usr/bin/php /var/www/hogehoe.php)
の最後hogehoe.phpとありますが、hogehoge.phpの間違いです。
0561nobodyさん2010/03/05(金) 06:51:16ID:???
DB に不正なデータが入っていなかを監視する必要があるのですが、
それを PHPUnit を使ってやっている、という方はいませんか?

自分でバッチ処理を書こうかとも思ったんですが、それでいけるんなら
それでやってみたいなと・・・。

本来の使い方とは違う気もしますが、運用の実績があれば聞いてみたいです。
よろしくお願いします。
0562nobodyさん2010/03/05(金) 07:05:12ID:???
>>559
実行時のカレントディレクトリにtext.txtができる
./test.txt を /var/www/test.txt にしてみるとか
0563nobodyさん2010/03/05(金) 08:42:39ID:oScRDulS
【OS名】FreeBSD
【PHPのバージョン】5.2.12
【質問内容】
文字列をASCII値に変換したいと思っています。
1文字ならord()で可能だと思うのですが、複数文字からなる文字列の場合はバラバラにして各文字を変換するしかないのでしょうか?
適切な関数または良い方法があったらお教えください。
よろしくお願いします。
0564nobodyさん2010/03/05(金) 09:47:15ID:???
>>563
無い。それがベスト
0565nobodyさん2010/03/05(金) 10:16:24ID:???
>>563
unpack('C*', $str)
0566nobodyさん2010/03/05(金) 10:16:56ID:???
print_r ( unpack("c*","abcd"));
0567nobodyさん2010/03/05(金) 11:29:22ID:oScRDulS
>>564>>565>>566
ありがとうございます!
うまくいきました!!
0568nobodyさん2010/03/05(金) 11:59:02ID:nN2jzBk7
WebクリエイティブのためのPHPサンプルブック(マイコミ)という本を買って、そのCDからサンプルをダウンロードし「001」の「input.html」を実行し「送信」ボタンを押しました。
するとブラウザに、「
90){ $err.="年齢が適切な値ではありません\n"; }; if(!ereg("^[0-9]{3}$",$_POST['zip1'])){$err.="郵便番号(前半)が適切ではありません\n";} 〜 header("Location: thanks.html"); exit; }
」、と「formmail.php」の内容が途中から全て表示されて意図した動作になりませんでした。
コレはどういう事で、また、どのようにすれば解決するのかを教えて頂きたいです。
色々と試しましたが解決しませんでした。

何か自分のPHP、Apacheの設定がおかしいのでしょうか?
それとも、このサンプルのコードがおかしいのでしょうか?

サンプルのソースは100行以上あるのでどう説明したらいいのか分かりませんが、ブラウザに表示される前後のコードを書いておきます。

<?php

.......

if($_POST['age']<10 || $_POST['age']>90){
$err.="年齢が適切な値ではありません\n";
};
if(!ereg("^[0-9]{3}$",$_POST['zip1'])){$err.="郵便番号(前半)が適切ではありません\n";}

........

header("Location: thanks.html");
exit;
} //ここで最後です。 ZFで学んだ通り、?>は省略しております。省略しなくても結果は同じでした。
05695682010/03/05(金) 12:01:29ID:nN2jzBk7
書き忘れましたが、PHPとApacheのバージョンは最新版です
0570nobodyさん2010/03/05(金) 12:08:47ID:???
eregは非推奨で将来消えるから使うな
0571nobodyさん2010/03/05(金) 12:14:35ID:???
コメントアウトしてあるけど、省略しているというのはショートタグなのか?
0572nobodyさん2010/03/05(金) 12:15:52ID:???
>>568
ファイルうp
05735682010/03/05(金) 12:16:54ID:???
すみません、解決しました
大馬鹿でした

そのままサンプルをクリックしたのでURIが「file:///C:/Apache2.2/htdocs/Mycomi/01/formmail/input.html」のようになっておりました
http://localhost/Mycomi/01/formmail/input.html」と自分で打ち直したらちゃんと動作しました
ご迷惑おかけしました
0574nobodyさん2010/03/05(金) 12:21:43ID:???
せっかく本買ったならちゃんと最初から読めよw
0575nobodyさん2010/03/05(金) 12:23:32ID:???
書籍でログといった複数のプロセスに読み書きされるファイルはflock関数を使って
ロックしてから読み書きすると言いと書かれていました。

既に他プロセスによってロックがかけられていればflock関数は失敗するので
そのときはsleep(1)で1秒待ってから再度ロックをチャレンジする。そういうのを3回くらい
繰り返すプログラムが書籍に紹介されていました。

でもこのスレではなぜかflock関数は忌み嫌われている印象を受けます。
便利な関数だと思うのですがこのスレでの受けが良くないのはなぜでしょうか?
0576nobodyさん2010/03/05(金) 12:25:29ID:???
スレタイを読まないから
0577nobodyさん2010/03/05(金) 12:25:59ID:???
apache&PHP環境をセットアップ後に、付属CDから直接PHPファイルを開いて動かないというのは稀によくある
0578nobodyさん2010/03/05(金) 12:26:09ID:???
http://fumidai.net/
これってどうやってるの
05795682010/03/05(金) 12:26:09ID:???
>>574
もうしわけないです
ただ、このような事やサンプルの置き方は本には書かれておりませんでした
今まであまりにもサンプルをクリックしただけで動作するものに慣れていたので、パスがおかしいとか気が付きませんでした
自分の不注意でした、すみません
0580nobodyさん2010/03/05(金) 12:27:25ID:???
flockを使いたければ使えばいいよ
作るのも管理するのもあなたなのだから誰も止めやしない
05815682010/03/05(金) 12:27:58ID:???
>>577
まさに自分がそうでした
今まで全く知りませんでした
お恥ずかしい
■ このスレッドは過去ログ倉庫に格納されています