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

【PHP】質問スレッドpart24【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/11/01 04:09:15ID:???
・PHP全般の質問スレです。 
・新規質問の方は上げてください。age進行でお願いします。 
・質問する際には環境も明記。 
・正しい日本語で分かりやすく。 
・レスがつかないからって逆切れする厨お断り。 
・解決しなくてもこたえてもらったら礼を。 


■本家 
 http://www.php.net/ ;

■日本 PHP ユーザ会 
 http://www.php.gr.jp/ ;

■PHP マニュアル 
 http://www.php.net/manual/ja/ ;

■PEAR マニュアル 
 http://pear.php.net/manual/ja/ ;

過去スレ, 関連スレ等>>2-4 
0153nobodyさん04/11/03 18:07:56ID:???
つまり、Wikiみたいなの作ろうとしてんのか。
俺もやったことあるけど、151の言う通りだと思う。
0154nobodyさん04/11/03 18:12:37ID:???
いや、激しく違うと思うのだがw
015513104/11/03 18:14:10ID:lSNB2eWk
>151

ディレクトリも、htmlファイルもランダムに変わります。

>152
の言う通りHPの管理を楽にするためです。

>153

どういう手法なのかお教え願えないでしょうか?
お願いいたします。
015613104/11/03 19:11:19ID:lSNB2eWk
>154

何を激しく思うのでしょうか???
0157nobodyさん04/11/03 19:18:08ID:???
変数に入っている複数行のテキストから一行目だけ抜き出したいのですが、

$result = mb_substr($text, 0, mb_strpos($text, "\r\n"));

if (!$result) $result = mb_substr($text, 0, mb_strpos($text, "\r"));

if (!$result) $result = mb_substr($text, 0, mb_strpos($text, "\n"));

if (!$result) $result = $text;

こんな風になってしまいました。。
もっとスマートに書く方法はありませんか?
0158nobodyさん04/11/03 19:56:01ID:???
$testに複数行あるとして(LF改行ね)

list($result) = explode("\n",$test);
015913104/11/03 21:26:46ID:lSNB2eWk
index.phpのiframeをincludeにしてして、仮にiframe.phpとして、
index.phpのリンク先をどこか別のところに書き出し、
さらに、index.phpを再度読みiframe.php内に書き換えたiframe.phpを
書き出せばよいのでしょうか?

こうするには、何が必要になるのでしょうか?
クリック情報を得るには何が必要でしょうか?
0160nobodyさん04/11/03 21:48:55ID:???
うぜーな
iframeとかいってる時点でスレ違いなんだよ
0161nobodyさん04/11/03 23:19:09ID:???
すいません、もう小一時間悩んでるんですが、
1回 addslashes して投稿した本文は
2回 addslashes した検索キーじゃないと同じようにマッチしないんですか?

データは MySQL に入れているのですが……。
0162 ◆.jC7ANgFY. 04/11/03 23:53:52ID:???
>>157
list($result) = explode("\n", $text, 2);
0163nobodyさん04/11/04 00:05:00ID:???
>>161
聞く前に試せ
0164nobodyさん04/11/04 00:09:55ID:???
>>161
MySQLだったら addslashes じゃなくて mysql_escape_string を使えよ
0165nobodyさん04/11/04 03:33:48ID:???
未だに mysql_escape_string と addslashed の効果の違いが分からないので教えてください……
016616104/11/04 05:37:04ID:???
回答ありがとうございます。

>>163
何回も試しましたが、やはり>161のようになってしまいます。
これは常識なのでしょうか……できれば何故そうなるのかも理解したいです。

>>164
試したところ、やはり結果は同じでした。
0167nobodyさん04/11/04 05:42:21ID:???
>>166
magic_quartがONになってない?
0168nobodyさん04/11/04 05:45:01ID:???
漢字、全角ひらがな、全角カタカナをマッチングしたいんですが、
範囲を教えてください
mb_ereg使って正規表現すればいい?
016916104/11/04 07:12:33ID:???
>>167
magic_quotes は Off です。phpinfo() で確認しました。
また、このようなフィルタを使っています。

function safe($text) {
if (get_magic_quotes_gpc()) $text = stripslashes($text);
$text = trim(htmlspecialchars($text));
$text = mysql_real_escape_string($text);
return $text;
}

これを使って例えば \n でそれぞれ投稿、検索すると

insert into テーブル (本文) values ("\\n")
select * from テーブル where 本文 like "%\\n%"

と、このように SQL を作成して送信します。
このとき、上の行はきちんと \n と入力されるのですが、
下の行では改行にヒットしてほぼ全てのレコードを拾ってきてしまうのです。

上を書いた上で気付いたのですが、
本文 like "%\\n%" ではなく 本文 = "\\n" とすればきちんと \n にヒットするようです。
(本文が \n だけの場合は改行は含まれないので、確認できました)
MySQL 側の問題のような気がしてきました……。
0170nobodyさん04/11/04 07:29:40ID:???
>>162
おまいlist理解してるか?
いや、それでも動くけどさ
0171nobodyさん04/11/04 08:45:28ID:???
>>170
お前こそlist()を理解してるのか?と問いたいわけだが。

>>168
ここを読むといい。
http://www.din.or.jp/~ohzaki/perl.htm
preg_match()ならperl互換だからほとんどそのまま使える。
0172軟式PHP04/11/04 09:05:55ID:???
>>170
お前頭固そうw
0173nobodyさん04/11/04 09:27:50ID:???
>>170
がんばれよ
017417004/11/04 10:12:37ID:???
頼むからマニュアル読んで発言してくれ
0175nobodyさん04/11/04 10:19:53ID:???
>>170
>>174
プッ。。。頭悪すぎ。。。w
Hint
1)array explode()
2)要望者は$resultに1行目のデータを入れたい。
0176nobodyさん04/11/04 10:30:26ID:???
explodeで2個に分けてるのにlistが1個だけなら意味がないと思う
list($result, $test) = explode("\n", $text, 2);
なら分かるけど
0177nobodyさん04/11/04 10:35:42ID:???
こんにちはー
Basic認証のことなのですが、
自作スクリプトで

define(PASS, '1234');
define(ID, '1234');
if(!isset($_SERVER['PHP_AUTH_USER']) || !(($_SERVER['PHP_AUTH_USER'] == ID) && ($_SERVER['PHP_AUTH_PW'] == PASS))) {
header('WWW-Authenticate: Basic realm="hogehoge"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
としてphpへのアクセス制限をつけています。
OSX php4.3.9(自前コンパイル)
linux php4.3.9(rpm)
の時は正常に認証後スクリプトにアクセス出来ていたのですが。
OSX php4.3.9をインストーラーで配布されてるものへ、
linux php5.0.2(rpm)へ変更後、
認証パネルが出てきて、IDとPASSを入力送信すると、
永遠にブラウザーで読み込みしたままでスクリプト本文へアクセスできません。
lan越しでつなげてみると、ルーターのアクセスが何かを送受信してる風です。

上記のことで何かチェックする項目などあるでしょうか?
ちなみに、Basic認証部分をコメントすると、問題なく動作します。
よろしくお願いします。
017817604/11/04 10:37:55ID:???
間違えてるし
list($result, $text) = explode("\n", $text, 2);
$resultが1行目$textは2行目以降の残りの部分になる。
0179nobodyさん04/11/04 10:39:57ID:???
>>178必死杉^^(プッ
0180nobodyさん04/11/04 11:27:35ID:???
>>177
自己レス。

上のphp設置ディレクトリーの1つ上のディレクトリ−に
.htaccessがあってそこへも、鯖全体のBasic認証をしています。
.htaccessの方の認証を外すとphp側の認証はパスしました。
認証が重複してる感じですね。
また、apacheのerror_logを見ると、問題のphpと自作エラードキュメントがnot found状態になってて
[Thu Nov 4 10:51:45 2004] [error] [client 192.168.0.28] user moge not found: /hoge/hogehoge.php
[Thu Nov 4 10:51:45 2004] [error] [client 192.168.0.28] user moge not found: /error.php
[Thu Nov 4 10:51:46 2004] [error] [client 192.168.0.28] user moge not found: /hoge/hogehoge.php
[Thu Nov 4 10:51:46 2004] [error] [client 192.168.0.28] user moge not found: /error.php
↓以下永遠に続く・・・・
になってました。
phpの問題ではないようなので、apacheもしくは.htaccessスレの方で聞いてみます。
失礼しました。
0181nobodyさん04/11/04 11:28:28ID:???
>>179必死杉^^(プッ
0182nobodyさん04/11/04 12:54:23ID:???
なんか必死な奴が混ざってるが笑えるな。
マニュアル読むまでも無いと思うが。

list($result, ) = explode("\n", $text, 2);
こんな書き方もある。
それぞれに変数を用意してやる必要はない。
0183nobodyさん04/11/04 13:18:10ID:XSGSYvoF
送られたメールのsubjectをそのまま本文に載せて返したいのですが、
MIMEの文字列をJISに変換するにはどうしたらよいでしょうか
0184nobodyさん04/11/04 13:19:32ID:???
ああやればいいじゃん!
0185 183 04/11/04 13:28:05ID:???
そうですね^^解決しました^^
0186nobodyさん04/11/04 13:29:02ID:???
>>183
取りあえずマニュアルの mail 関数の項に目をとおしては?
0187nobodyさん04/11/04 18:57:14ID:???
どなたかお知恵をお貸しください。

PHPで大量のメールを送信するプログラム作成予定です。
CCやBCCで送信する場合は何件あろうが処理は速く終わるんですが、
宛先にそれぞれの名前だけ表示して送りたい場合は、
やはり一件ずつmail関数で送信をしなくてはいけないんでしょうか。

ちなみに軽く書いてみるとこんな感じでループ回してます。

foreach($str_data as $key => $val){

$to = mb_encode_mimeheader($val['mail']);
mail($to, $subject, $msg_jis, $header);
}

BCCはメアドをつなぎ合わせるから一発。

$mail_enc = implode(",", $mail_str);

$to = mb_encode_mimeheader('[email protected]');
$header .= "Bcc:{$mail_enc}"."\r\n";

mail($to, $subject, $msg_jis, $header);

宛先を各個人にするにはやっぱりループさせるしかないですよね。
これがすさまじく処理に時間がかかるんです。
大量メールの場合や、添付ファイルをつけた場合、
これではサーバーが持たないですかね・・・
宛先に各個人を表示するプログラムってやっぱきついんですかね?
ループさせないで送る方法も考えつかないですし・・・
どなたかよい知恵があれば教えてください。
018817004/11/04 19:22:30ID:???
>>175
とりあえず、動かすぐらいしてみたらどうだ?
ちゃんと1行目だけ入るから
0189 ◆.jC7ANgFY. 04/11/04 19:39:45ID:???
>>187
自分でプロトコル接続プログラムを作成して送信していくのがいいと思う。
サーバーは持つけど長くなるけどね。

うまくPHPを同時に複数走らせたりすればサーバーに適したスピードでの
送信も可能です。そのときは複数送信をしないような方法を考えましょう。
0190nobodyさん04/11/04 20:56:49ID:???
>>187
mail関数使わずに、qmail-queueに投げて処理してる。
リモートにしかMTAが無いなら、>>189の言うようにSMTP話すようにして、
1通毎にコネクション切らないようにしてやれば若干マシ。

ところで、間違っても共有サーバで動かそうと思って無いだろな?



0191nobodyさん04/11/04 21:43:16ID:???
>>187
俺も興味ある話だから便乗させて。

mail関数使わずに、popen()でパイプオープンして内容を投げればええのかな?
何かよいサンプルソースがあればと思い探してるのだが。。
0192nobodyさん04/11/04 22:03:07ID:???
PHPでwmvファイルをダイアログを出してDLさせようと思い

header("Content-type: application/octet-stream");
header("Content-Disposition: inline; filename=\"test.wmv\"");
header("Content-Length: ".50000);
readfile("test.wmv");

としてみたんですが、メディアプレーヤーが起動してしまいます。
検索して
header("Content-type: application/octet-stream");を
header("Content-type: application/octet-stream-dummy");にするとDLされるみたいに書いてあったのですが、
やはりメディアプレーヤーが起動してしまいます。

ネスケだとうまくいくんでIEのバグかなと思うんですが、もしDLできる方法があればご教授お願い致します。
よろしくお願いします。

#くだ質の方に間違って書いてしまいました。ごめんなさい。
0193nobodyさん04/11/04 22:17:46ID:???
>>192
header("Content-Disposition: attachment; filename=\"test.wmv\"");
ならどぉよ。
0194nobodyさん04/11/04 22:21:42ID:???
>>192
マルチしてんじゃねーよ
0195nobodyさん04/11/04 22:24:09ID:???
>>194
間違ったって書いてあるじゃん
019619204/11/04 22:35:49ID:???
>>193
できました。本当にありがとうございました。
0197nobodyさん04/11/05 00:25:22ID:FgI15ehK
一週間ほど前にDB板で質問したのですがこちらで聞いてみろと言われたのでこちらで質問させて下さい。
mysql&phpの方は書き始めてまだ一ヶ月ほどの経験しかありませんが
MySQL 3.23.58とphp4.3.1という環境で簡単な検索システムを作ってみたりしてます。

function print_selectmenu($f_name){
$sql = "select distinct $f_name from HOGE_DB";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<option value=¥"{$row["$f_name"]}¥">{$row["$f_name"]}</option>¥n";
}
}

こんな感じで、プルダウンメニューにしたい内容をテーブルから読み出して
<select></select>の間にはさみ自動でプルダウンメニューに表示させるまでは出来たのですが
レコードの修正画面においては、選択肢をプルダウンで出すだけでなく
既に登録されてる情報どおりにselectedを付けたいのですがなんか良い方法ないでしょうか?
0198nobodyさん04/11/05 00:30:58ID:???
>>197
それはHTMLのお話。
<option 〜 selected>のselectedの部分を ”自分で” 出力すればよい。
他のフォーム要素についても同じ。
019919704/11/05 00:54:35ID:FgI15ehK
>>198
selectedをつければいいということは解ってるのです。
mysql_fetch_arrayで拾い出してくる値のうち、
既に入力された情報のoptionにだけwhileループのなかで
いかにして自動的にselectedをつけるかで悩んでるのです。
0200nobodyさん04/11/05 00:58:36ID:onIpwNyM
perlのサブルーチンに該当するのってphpでは何でしょうか?
0201nobodyさん04/11/05 01:10:19ID:???
>>200
perlのsubはphpではfunction
0202nobodyさん04/11/05 01:11:34ID:???
    ∩___∩           |
    | ノ\   ,_ヽ       |
   /  ●゛  ● |         |
   | ∪  ( _●_) ミ     (>>200)
  彡、   |∪|   |      J
  /     ∩ノ ⊃ ヽ
 (  \ / _ノ |  |
  \  "  /  | |
   \ / ̄ ̄ ̄ /
0203nobodyさん04/11/05 01:13:58ID:???
>>199
pearにそういうこともできるパッケージがあるけど、
selectedを付ける程度だったらarray_mapかなんかで実装した方がいいかも知れない。
0204nobodyさん04/11/05 03:14:21ID:ipfVcK1A
質問です.
自分で作成した(コーディングしてコンパイルしたということです)
SMTPサーバを/usr/sbin/sendmailにインストールしphp.iniで
sendmail_pathを/usr/sbin/sendmailに設定しました.
このときに,PHP(アパッチのモジュールではなくて)で
mb_send_mail()を実行してもSMTPサーバにメールが送られていないようですが,
原因は何が考えられるでしょうか?
エラーメッセージが一切出てこないこともあって,原因がわからなくてこまっています.

(phpインストール時に./configureでマルチバイトストリングが扱えるようにオプションを
つけています.)
0205nobodyさん04/11/05 03:36:57ID:???
>>204
/usr/sbin/sendmail はSMTPサーバじゃない、コマンドだよ。
0206nobodyさん04/11/05 03:37:37ID:???
>>204
> SMTPサーバにメールが送られていないようです
メル鯖のログを見た?
> エラーメッセージが一切出てこないこともあって
mb_send_mail はbooleanを返すけど、それはどうなってるの?
0207nobodyさん04/11/05 04:27:45ID:???
PHPマスター様の(,,゚Д゚)∩先生に質問です
$tset ="
<hr color=#6600ff>
_HTMLEND_;
require 'inc/test.php';
echo<<<_HTMLEND_
<hr color=#6600ff>
";
と書いたtest.incファイルを↓のファイル
<?PHP
// さっきのファイル読出し
require("../test.php");
echo<<<_HTMLEND_
<html><body>
あいうえお<br>
あいうえお<br>
あいうえお<br>
$tset
あいうえお<br>
あいうえお<br>
あいうえお<br>
<hr></body></html>
_HTMLEND_;
?>
てな感じで読み出したい・・・
変数の中に命令文を入れたら
動かないのは分かるのですが
どうすれば出来るのかわかりません
(´・ω・`)ショボーン
初心者ですいませんがお教えい下さい。
0208nobodyさん04/11/05 06:32:47ID:puzbyGUU
今日の寝巻きは赤でした
今日の寝巻きは黄でした
今日の寝巻きは緑でした

っというような文章があり、
色の部分だけ取り出して変数に入れるにはどうすればよいのでしょうか
入門書の正規表現のところを見ても英語の例しかなくうまくいきません
0209nobodyさん04/11/05 08:54:15ID:???
echo str_replace(array('今日の寝巻きは','でした'), '', '今日の寝巻きは赤でした');
0210nobodyさん04/11/05 11:01:51ID:???
foreach($a as $b) {
if ($b==$c) { array_merge($a,$d[$c]);
ここで現在のforeachループを破棄して、
もう一度最初から$aの評価をしたいのです。
($dの内容によっては無限ループに陥る
可能性があるのは目をつぶるとして)
どう書けば良いでしょうか。
0211nobodyさん04/11/05 11:18:35ID:???
$a = reset( $a );
0212nobodyさん04/11/05 11:19:25ID:???
miss
reset( $a );
0213nobodyさん04/11/05 11:26:53ID:???
>>210
do {
 foreach ($a as $b) {
  if ($b==$c) {
   array_merge($a, $d[$c]):
   break;
  } // endif
 } // endforeach
} while(TRUE)

かな?
このままだと常に無限ループだが、
中のforeachから抜けるには break 2; を使えばいい
0214nobodyさん04/11/05 11:29:35ID:vAMAiFLG
ttp://tohoho.wakusei.ne.jp/wwwperl2.htm
こちらのsocket関数の項目に書かれているスクリプトを自分の
スクリプトに組み込んでますが
自分の使っているサーバーでperl -wcでスクリプトチェックを行ったら
Unquoted string "stdout" may clash with future reserved word at aaa.cgi line 543.
このような警告文が表示されました。
select(stdout);
のstdoutをAAAとか別のものに置き換えたらこの警告文が回避できましたが
別のものに置き換えても正常に動くのでしょうか?
perlのバージョンはThis is perl, v5.8.2 built for i386-freebsdです。
0215nobodyさん04/11/05 11:32:48ID:???
>>214
残念ながらここはPHPスレだ。
021621404/11/05 11:34:45ID:???
>>215
申し訳ない
間違えた。。
0217nobodyさん04/11/05 11:39:20ID:???
>>212
うほ。なんて簡単。アリガ�クス

>>213
似たようなのを考えてた。
021821204/11/05 11:52:41ID:???
すまん。かなり嘘教えてた。
while( list( $key, $b ) = each( $a ) )
{
  if( $b == $c )
  {
   array_merge( $a, $d[$c] );
    reset( $a );
  }
}
で、どうだろう。
0219nobodyさん04/11/05 11:54:48ID:???
なんと break 2;でネスト2個抜けれるのか・・便利だ
022020404/11/05 12:22:22ID:ipfVcK1A
>>206
メール鯖のログは昨日みましたが,やはり何ものこっていませんでした.

mb_send_mailがbooleanを返すということでしたので、今試して見たところ,false
が返ってきています.
phpinfo()をすると,mbstringはenableで,sendmail_pathもちゃんと設定されています.
falseが返る原因として他に何が考えられるでしょうか?
0221nobodyさん04/11/05 12:36:58ID:???
>>218
うん。(笑)
試してみたら、resetではforeachはresetされなかった。
>218ならいけそうな予感。
でもいささか古めかしい書き方なのは、仕方ないかな。
無限ループ前提でbreak2で抜けるのとどちらが良いかは、
好みが分かれる所かな?
0222nobodyさん04/11/05 13:29:12ID:???
>>191
>mail関数使わずに、popen()でパイプオープンして内容を投げればええのかな?

そんな感じ。厳密には使ってるのはproc-open()だったり、オリジナルのqmail-queue
ではなかったりしてるけど。後は単純にqmail関係の話だから、そっちの資料(本もあるし)
を当たった方が良いよ。


0223nobodyさん04/11/05 13:49:41ID:???
1を4回echoしたいんだけど

while(4){echo "1";}

これではあかんのかな?
0224nobodyさん04/11/05 14:11:43ID:???
式( 4 ) が真である間 echo "1" を繰り返す、という文だね
0225nobodyさん04/11/05 14:13:42ID:???
$i = 0;
while($i++ < 4){echo "1";}
0226nobodyさん04/11/05 14:20:15ID:???
おお!そうするのか!
225を参考にforを使ったやつも考えてみた

for($i=0;$i<4;$i++){echo "1";}

うーん、いろいろ出来るね。サンクス>224-225
0227nobodyさん04/11/05 14:21:34ID:???
( ゚Д゚)ポカーン
0228nobodyさん04/11/05 14:34:33ID:???
これが噂のVB厨かな?
0229nobodyさん04/11/05 14:47:25ID:onIpwNyM
classとかfunctionって使ったほうがスクリプト自体はサクサクになる
んでしょうか?原理的には変わらん気がしますが。
それとも構造が分かりやすくて編集しやすいって利点のみ?

初心者なんでこれらを使わない方が作りやすいんですが・・・
0230nobodyさん04/11/05 14:48:28ID:???
一生初心者で終わる気なら気にしなくていいよ
0231nobodyさん04/11/05 14:54:19ID:???
>229
どっちもどっち。
作りやすいほうをどうぞ。
0232nobodyさん04/11/05 14:55:41ID:???
>>229
なんとなくfunction使うとちょっと遅くなってclass使うともっと遅くなる、ような気がする。
0233nobodyさん04/11/05 14:58:40ID:???
今じゃ、PCの性能UPしてるからソンナニ変わらん
class使うのは、再利用したい為と
共同開発するときに他人にも分かりやすくする為

どっちにしろ、初心者には関係ない
0234nobodyさん04/11/05 15:15:32ID:???
保守性・生産性を無視するならfunctionもclassもいらないなぁ。
しかし、使わないと吐き気が出るプログラムが出来そうだがw
0235nobodyさん04/11/05 15:20:26ID:???
PHP-5.0.2にPDFlib-Lite-6.0.0p1.tar.gzをいれようと思ってるんですが
PDFLib-Liteを入れた後、PHPを再コンパイルする際に、
--with-pdflib=/usr/localをつけたにもかかわらず、
インストールされないってどういうことでしょうか教えてください。
ちなみに、PHP-4.3.Xでは同じ方法でインストールできたと思います。
0236nobodyさん04/11/05 15:20:40ID:???
二度とそのファイルは開きたくないだろうな
0237nobodyさん04/11/05 15:49:11ID:???
>>235
PHP5に対応しているとはどこにも書いてないようですが?
使うな危険とも書いてないけど。
0238nobodyさん04/11/05 15:51:10ID:???
>>229
OOPできなくても、構造化プログラミングぐらいしてないと、
趣味プログラムでも後で泣くよ。
保守できなくて。

色々と工夫してclassとかfunctionとか作ってると、
新しいプログラムを作るときに
新たに書くコード量が減ってきていい感じになる。

functionとかclass使えば、
普通はパフォーマンス落ちるよ。

そのパフォーマンスの落ちが問題なのかどうかってのも、
普通は検討事項。

職業プログラムなら、悩むまでもなくパフォーマンス落ちを取る。
# そもそも気にするほど遅くならない
0239nobodyさん04/11/05 15:55:45ID:VQSnf7DD
PHPからSQLのデータをCSVファイルとしてダウンロードさせたいのですが
この時に列幅等指定できないのでしょうか?
0240nobodyさん04/11/05 16:08:36ID:???
>>239
列幅を扱えるようなCSVファイルなら、そのフォーマットにそって出力すればよい。
ただ、MS-ExcelのCSV出力のように列幅データを持たないものもある。
0241nobodyさん04/11/05 18:22:31ID:???
PHPのsession_start()ってクッキー使ってるんですか?
0242nobodyさん04/11/05 18:33:36ID:???
使う場合と使わない場合がある。
0243nobodyさん04/11/05 18:45:09ID:???
最近phpを勉強し始めました。
書籍買って、カウンターのコードサンプルみてふと思ったのですが、
perlの場合、lockしてるのをよくみかけますが、
phpではlockする必要ないのですか?
0244nobodyさん04/11/05 18:52:44ID:???
糞サンプル(初心者に分かりやすいように書いてる)だからロックしてないだけだと思われ。
ロックはしないとぶっ壊れるよ。
0245カポコン04/11/05 19:13:17ID:???
>>243
そういう糞スクリプト俺でさえ作らないのに…
どこの出版社よ?この際晒してみてよ。
0246nobodyさん04/11/05 19:23:43ID:???
入門書にまともなコードを書くやつはいない。
なぜなら、まともなコードを書くと入門書では紙面が足りないコードになるから。

一例を挙げれば入力のサニタイジングだって必須だけど省かれるし…・。
文字コードの色々な問題についても省くよね。

初心者になんでもかんでも説明するのは事実上不可能。
しかし、説明の無いコードが大量にあったら糞入門書だ。

つまり、入門書は雰囲気のみ。
実際に使えるコードなど無い。
0247nobodyさん04/11/05 19:41:36ID:QUoZnGJq
array_search で0番めの配列がヒットした場合、
ヒットしなかった時の値(false=0)が返って来ますよね?

みなさんはどうやって切り分けていますか?
0248nobodyさん04/11/05 19:45:12ID:???
>>247
!== と === 演算子
024924104/11/05 20:50:01ID:???
早速session_start()試してみたんですが、
クッキーオフにしたら機能しなかった・・・。
セキュリティリスク高いからできるだけクッキーは
使いたくなかったんですが、これはしょうがないのかな?
初歩的な質問スマソ
0250nobodyさん04/11/05 20:59:16ID:???
マニュアル。
0251nobodyさん04/11/05 21:05:23ID:???
>>249
勘違いしてるようだが、クッキーを使った方がセキュリティリスクが低いぞ。
もちろん、secureフラグを使用した場合だが。
025224104/11/05 21:06:23ID:???
了解、一個だけ質問ヨロシコ。
クッキーを使う場合についての注意点として、
・unsetを忘れない
・時間設定しておく
・パスワードなんかの重要情報は暗号化しておく
くらいしか思いつかないんだが、やばいですか?
■ このスレッドは過去ログ倉庫に格納されています