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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/04/28(金) 04:12:33ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart34【php】
http://pc8.2ch.net/test/read.cgi/php/1142903954/

【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/

過去スレは>>2-3あたり
0709nobodyさん2006/05/19(金) 00:12:04ID:???
メールチェックの際、送り先のアカウントが存在しているか
しらべる方法はあるのでしょうか。
0710nobodyさん2006/05/19(金) 00:45:32ID:???
>>709
ない。

まあMLやメルマガの配送とかやってるなら、
User unknownのエラーメールが返ってきたら
配布リストの休止にマークとかいう処理で良いんじゃない。
配信に影響すんのはそういったエラーリターンとかだから、
相手のメールサーバはUser unknownのエラー返さなくて捨てても
その場合は自分には関係ないと思われ。
0711nobodyさん2006/05/19(金) 00:47:29ID:???
サンプルコードとか書く時、バックスラッシュをわざわざ全角のバックスラッシュ(斜線)で書くのって定石なの?
0712nobodyさん2006/05/19(金) 00:49:27ID:???
>>711
半角のバックスラッシュは表示できないから
0713nobodyさん2006/05/19(金) 00:55:45ID:???
>>711
なんかのブラウザは記事投稿するとき勝手に\を\とか¥にする
0714nobodyさん2006/05/19(金) 01:30:06ID:???
\でいいじゃん
0715nobodyさん2006/05/19(金) 01:36:22ID:???
1:あなたはミスをするのだということを理解し、受け容れよう。物を作る前にこの点をはっきりさせよう。
  幸いなことに、ロケットのガイドソフトをJPLで開発しているような少数の例外を除けば、私たちの職業
  ではミスは滅多に致命傷にはならない。だから、学ぶべきだし、学ぶことができるんだ。そして笑い、前
  するんだ。

2:あなたの書いたコードはあなたの分身ではない。レビューのポイントは、問題を発見すること、そして問題は
  見つけられるのだだということを覚えておくといい。誰かが指摘してくれるときのために、コードを公開しな
  いのは良くない。

3:あなたがどれだけ「空手」について知っていようとも、ほかのだれかがもっと知っているのだ。あなたが教え
  を乞えばだれかが教えてくれる。第三者からの情報を探して受け入れるんだ。特に、もう教えてもらうことな
  んてないと思っていることに対して。

4:会議の一つもしないで、コードを書き直しちゃいけない。「コードを修正すること」「コードを書き直すこと」
  この二つには明確な境界がある。違いを知り、一匹狼としてではなく、コードのレビューという形を通してスタ
  イリッシュな変更を目指そう。

5:あなたよりも知識が劣っていると思う人たちに対して、尊敬、尊重、寛容の気持ちを持つことだ。例外なく、技
  術系でない人間は、次の通説を支持している。できる技術者とできない技術者の違いはプリマドンナと泣き喚く
  赤ん坊ほどの差があると。こんな怒りと絶望に満ちた決まり文句は、広めてはいけない。

0716nobodyさん2006/05/19(金) 01:36:53ID:???
6:唯一不変な法則は世界は変化するということである。笑ってこのことを受け入れ、そして広めて欲しい。仕様や
  プラットフォーム、ツールの変化は、拒否すべき不便なことではなく、新しいチャレンジだと受け取ろう。

7:真の尊厳は地位ではなく、知識にある。知識は権威を起こし、権威は尊敬を起こしてくれる。エゴレスな環境に
  おいて、尊敬が欲しいなら、知を探求することだ。

8:あなたは自分の信じていることを突き崩し、そして敗北を受け入れなければならない。あなたのアイデアはしば
  しば踏みにじられるものだということを理解しよう。あなたの意見が正しかったことがのちにわかったとしても、
  「だから言ったのに」なんてうらみごとは言っちゃいけない。そして葬られたアイデアは、殉教者や、左翼の集会
  のように扱ってはいけない。

9:「引きこもり」になっちゃいけない。真夜中のオフィスで、コーラを買うためだけに部屋をでる、そんなプログ
  ラマになっちゃいけない。そんなことをしていると、コミュニケーションもなく、かえりみられることもなく、
  コントロールも効かなくなってしまう。オープンで、協調的な環境を築くことはできない。

10:人ではなくコードを批判しよう。プログラマには優しく接して、コードには厳しく接しよう。できるかぎり、
  あなたの発言はポジティブでコードを改善するものでなくてはならない。コーディング標準や、プログラムの構
  造、パフォーマンスの改善に向けられた発言をすべきなんだ。
0717nobodyさん2006/05/19(金) 01:52:55ID:???
セッションを使ってログイン処理を実現したいのですが、
これにはクッキーは必要ないのでしょうか?

私が試しに作ったログイン処理コードは、よく見たらsetcookieなどを使っていません。
つまりクッキーを使用せず、セッション関数のみです。
 (※ログインフォームで入力されたIDとパスがDBに保存しているものと一致したら、$_SESSION['login'] = "true"とフラグを立てる。
  そのフラグがtrueでなければログインしていない状態と判断する。)
上記のようにクッキーを使っていませんが、期待した通りの動作(ログイン処理)をしているように見えます。

しかし以前に何かで読んだのですが、「ログイン処理ではセッションIDをクッキーに保存して云々」とか
書かれていたような気もします。

セッションを使ったログインには、クッキーは必須なのでしょうか、必須ではないのでしょうか。
そもそもクッキーが何のためにあるのか、よく分からなくなってきました。
0718nobodyさん2006/05/19(金) 02:06:29ID:???
>>717
PHPではセッションIDの保存は自動でしてくれる
大抵Cookieに保存してるがCookieが使えない場合URLの末尾に自動的に付記される

Cookieはデータをクライアント側に保存する技術
セッションはデータをサーバ側に保存する技術
07197172006/05/19(金) 02:34:29ID:???
>>718
セッションIDはURLの末尾には付加されてませんが。。。。

php.iniではクッキーのみ使うような設定にしてありますが、
実際にスクリプト内で明示的にSetCookie関数を使わないと
クッキーは使用されませんよね??
0720nobodyさん2006/05/19(金) 02:59:03ID:???
>>719
よく嫁
>"Cookieが使えない場合"URLの末尾に自動的に付記される
それとCookieが使える場合はセッションIDはCookieに保存される
SetCookieはコッチがCookieに保存したいときに使う関数だ

マニュアルにもちゃんと書いてあっからまずマニュアル読んで来い
0721nobodyさん2006/05/19(金) 03:59:15ID:???
ttp://php.thm.jp/index.php?know=link
で紹介されていることをやりたいー

ためしにそのページにあるやつコピペして
phpで保存して鯖にうpしたら
そこで説明されてるとおりにならなかった・・・

知りたいのは・・・・
たとえば「ttp://www.japan.co.jp」があるとして
indexページから001.phpに移動したときに
「ttp://www.japan.co.jp/001.php」と表示されますよね?
これを「ttp://www.japan.co.jp/?aaa=link」 ←このような感じにしていんです

知ってるかた教えてください
0722nobodyさん2006/05/19(金) 06:02:21ID:???
>>721
そのページのドコでやってるのか分からんが
ttp://www.japan.co.jp/?aaa=link ってのはレンタルサーバじゃまず不可能
やるとしたらApacheの方でやるしかないが・・・多分そのスクリプト以外動かせないWebサーバになるぞ

ttp://www.japan.co.jp/001.php?aaa=link なら可能

どっちにしろPHPとは関係ない。
CGIの本でも読みなさい。
0723nobodyさん2006/05/19(金) 07:40:11ID:???
>>721
こういうことじゃないの?

index.php
<?php
switch ($_GET['aaa']) {
 case "link":
  include "001.php";
  break;
 case "hoge":
  include "002.php";
  break;
 default:
  header("Location: http://www.2ch.net/");
  break;
}
?>

0724nobodyさん2006/05/19(金) 08:10:56ID:???
>>720
>それとCookieが使える場合はセッションIDはCookieに保存される

いや、自分もそうだと思っていたんですが、
自作スクリプトにアクセス直後(≒ログイン直後)にIEのクッキー保存フォルダを
開いてみても、該当するクッキーが見当たらないんですよ。

でもたしかにセッションによるログインはうまく行ってる・・・だから混乱してます。
0725nobodyさん2006/05/19(金) 08:23:27ID:???
本当に正しいフォルダを見ているのか、setcookie()で明示的にcookieを発行して
ファイルが生成されるかどうか確かめて見ればいいんじゃないかな。
おいらは面倒くさがりなのでproxomitronとかのプロキシソフトを使って直接HTTPヘッダを覗いてるけど。
0726nobodyさん2006/05/19(金) 08:39:57ID:???
質問スレってなくなったの?
0727nobodyさん2006/05/19(金) 09:20:32ID:???
>>726
1000近くなった頃、ここと質問レベルが大差なくなってきたので、次を立てる人がいなかったんだと思います。
0728nobodyさん2006/05/19(金) 11:08:16ID:???
>>724
>>725の言うようにヘッダをダンプしろ。
0729nobodyさん2006/05/19(金) 11:28:09ID:???
前から使用しない意味不明な引数を付けたリクエストがあって
 例)
 index.php?hogehoge
 index.php?you=hage
これ自体は普通にindex.phpが返るだけなのであまり気にしてなかったんですが、
少し前にミスったせいで
 例)
 index.php/hoge.php
 index.php/?/hage
 index.php/index.php/index.php
のようなリクエストが来るようになってしまいました。
前者の原因は不明なんですが、後者はミスって修正するまでの数十分の間に
クロールされてしまい、index.phpで表示するはずの画像ファイルのリクエストも
全てindex.phpに送られちょっと無視できなくなってきました。

これらのリクエストに対し404を返したいのですが、どのような方法がありますか?
apache1.3.34 php4.4.2 です
htaccessの方がいいでしょうか?
0730nobodyさん2006/05/19(金) 11:33:10ID:???
>>727
992で質問したんだけどDAT落ちしちゃったから回答が返ってきたのかすらわからない・・・・・
0731nobodyさん2006/05/19(金) 12:11:12ID:???
>>724
お前
セッション限り(期限の設定なし)のクッキーの場合クッキーファイルは作成されないんだよ
0732nobodyさん2006/05/19(金) 12:43:44ID:???
>>730
過去ログ見たけど、回答はなかったよ。まだ解決してなければ、ここで再質問どうぞ。
0733nobodyさん2006/05/19(金) 12:59:46ID:b+EKMyUQ
フォームから受け取るメールアドレスの値はエスケープする必要はありますか?
0734nobodyさん2006/05/19(金) 13:26:50ID:???
>>733
目的による
0735nobodyさん2006/05/19(金) 13:34:44ID:???
>>733
何のためにどこでエスケープすべきか、
もっと基本から勉強した方がいい。
0736nobodyさん2006/05/19(金) 13:52:56ID:b+EKMyUQ
733です。エスケープしました。
ありがとうございます。
0737nobodyさん2006/05/19(金) 14:46:50ID:???
>>729
$_SERVER['PATH_INFO']あたりで判定できないかな?
phpinfoを呼び出すプログラムを書いて
そのURIにいろいろくっつけて使えそうな引数探してみるといいかも。
404はheaderで飛ばせるはず。
0738nobodyさん2006/05/19(金) 15:33:15ID:???
データベース板って住人が少ないのか、質問への回答が得られない場合があって寂しい
0739nobodyさん2006/05/19(金) 15:33:27ID:???
ログイン判定して、ログイン済の人に内容表示、未ログインの人は飛ばす時って、

if( ログイン判定 ){
内容表示
}
else{
echo 'ログインして下さい';
}

みたいな感じが基本?
if文の中でコンテンツがばーっと続くのがちょっと嫌な感じだったんだけど、どんな風にやるのがいいかな?
0740nobodyさん2006/05/19(金) 15:47:07ID:???
ifでログインしていない場合の処理をすればいいだろ。
07417382006/05/19(金) 15:47:32ID:???
ログイン画面での話なら自分の場合は↓が多い。
・ログインできない人は同じ画面でエラーメッセージ表示
・OKな人は別ページへ飛ばす(飛ばした先でセッション確認)

<?php
if ( ログインできない人 ) { $error="ログインできません"; }
header("Location: ログイン後のページ");
?>
<html>ログインページ内容 <?= $error ?> </html>
0742nobodyさん2006/05/19(金) 15:50:33ID:???
うは、被ったしelse忘れてた
else { header("Location: ログイン後のページ"); }
0743nobodyさん2006/05/19(金) 16:49:30ID:???
phpMyAdmin2.8.0.3で「扱えない拡張子のファイルです、<br>PHPの設定をチェックしてください。」
とでたんですが、
考えられる設定漏れはなんでしょうか?
0744nobodyさん2006/05/19(金) 18:26:48ID:???
たまに$$A=$Zという文をみますが、$が二個ついてるのはなぜどすか?
07457212006/05/19(金) 18:55:41ID:???
>>723

おおお!できました!!^^ ありがとうございます
0746nobodyさん2006/05/19(金) 19:21:00ID:???
>>740
>>741
ログイン画面ならそのような感じでいいんですが
私が今考えているのは、例えば投稿ページのように、ログインしていないとフォームが表示されないように
したいといったページについてです。
そういう場合はどうしていますか?
0747nobodyさん2006/05/19(金) 19:30:50ID:???
ファンクションつかえ
0748nobodyさん2006/05/19(金) 19:35:07ID:???
>>746
既に出ている答えで何が不満なのか良く分からんが、
俺の場合は殆どテンプレートファイルを切り替えるだけだから問題ないな。
あとは、ページ表示を関数化したら?
0749nobodyさん2006/05/19(金) 19:37:08ID:???
今月が30日までなのか、31日まであるかの判定をする方法はないでしょうか?
date関数で日を取得するのはわかるのですが、、、
0750nobodyさん2006/05/19(金) 19:43:21ID:???
>>749 来月の前日が今月の最終日。
0751nobodyさん2006/05/19(金) 19:45:05ID:???
//今月末の日付を取得する
$last_day = date("d", mktime(0, 0, 0, date("m") + 1, 0, date("Y")));
0752nobodyさん2006/05/19(金) 20:05:30ID:???
こんなエラーが出るのですが、
これってどういうときに生じるエラーなのでしょうか。

Warning: pg_query() [function.pg-query]:
Query failed: ERROR:
could not serialize access due to concurrent update in
/phpページのアドレス on line 94

ここでは
Postgresql7.4へupdateのクエリーを送っているのですが、
5人くらいが同時に何度もその問題のページへアクセスしてみると
100回に1回くらいでてきます・・・。
なお、updateするレコードはひとつなので、
取り合いになっていて、その処理がおかしいのかと考えて、
5時間くらいいろいろ試行錯誤してみましたが、
解決していません。

また、このWarning文をブラウザに表示させないようにする方法が
ありましたら教えていただきたいです。

よろしくお願いします。
0753nobodyさん2006/05/19(金) 20:07:12ID:???
HTMLの「<title>2ちゃんねる</title>」のところををphpで取得できますか?
07547522006/05/19(金) 20:10:44ID:???
>>753
文字列を文字列で分割する関数explodeを使ったらどうだろう
0755nobodyさん2006/05/19(金) 20:24:31ID:???
>>752
それ、PHPの問題じゃないじゃん。
「could not serialize access due to concurrent update in 」でぐぐったら?

Warningを表示させたくないなら、
設定のdisplay_errorsディレクティブとか、
error_reporting関数を見てみな
0756nobodyさん2006/05/19(金) 20:52:39ID:???
>>753
preg_match( "/<title>.+<\/title>/i", $data, $matches);
$title = $matches[0];
0757nobodyさん2006/05/19(金) 21:09:19ID:???
久々にきたらマニュアルすら読まねぇ教えてクンが大量発生してんな
なんかの宿題か?
0758nobodyさん2006/05/19(金) 21:18:49ID:???
>>757
おそらく新人。
どうやって仕事のプログラム書いたらいいかわからないんだろうなw
プログラマー以前。
0759nobodyさん2006/05/19(金) 21:44:09ID:???
>>756
preg_match('/<title>[^<>]+<\/title>/i', $data, $matches);

の方がいいんじゃないか
0760nobodyさん2006/05/19(金) 21:47:00ID:???
アドレス帳のようなものを作っています。
例えば、「2006年5月19日〜2006年5月25日までバイト」などの指定が出来る場合、
2006年5月19日〜2006年5月25日までの期間を一度に複数登録出来る必要が
あると思います。

1件ずつデータを追加するのはわかるのですが、どうやって複数の期間を
判別するのかがわかりません。配列に入れてcountで計算?とか思ったのですが、
なんか違うみたいだし・・。登録処理はforでその期間分を回すと思うのですが・・。
0761nobodyさん2006/05/19(金) 22:07:23ID:???
>>760
よくわからん
例キボンヌ
0762nobodyさん2006/05/19(金) 22:10:34ID:???
それのどこがアドレス帳かと。。。
07637602006/05/19(金) 22:13:09ID:???
>>761
すみません、、簡略化しました。

$main_time1= date("Ymd"); //現在の日時
$main_time2= "20060525"; //開催期間の最終日時
$main_time=$main_time2-$main_time1;

for($i=1;$i<$main_time;$i++){
$kaisai=$main_time1+$i;
echo"開催期間は"."$kaisai"."です。"."<br>\n";
}

これでとりあえず開催期間は表示されますが、20060520のような形になります。
これを2006-05-20のように表示出来ないでしょうか?
0764nobodyさん2006/05/19(金) 22:16:16ID:???
>>760
それはスケジュール帳の間違いじゃないのか
07657602006/05/19(金) 22:19:35ID:???
>>764
スケジュール帳の間違いです。。
0766nobodyさん2006/05/19(金) 22:19:53ID:???
>>763
それ、月や年超えたらすごい数値にならないか?
0767nobodyさん2006/05/19(金) 22:21:29ID:???
>>763
substrとかで切ったら?

その前に、$main_timeの内容(中身の意味)は何?
0768nobodyさん2006/05/19(金) 22:24:09ID:???
>>763
だからマニュアルを読め
substrでもstrtotimeでも好きなのを使え

あと日付差分のアルゴリスムはめんどいぞ、と忠告しておく
0769nobodyさん2006/05/19(金) 22:33:13ID:???
unixtimeで計算した方が楽だと俺は思う。
0770nobodyさん2006/05/19(金) 22:38:43ID:???
>>760
20060301-20060228=73
20040301-20040228=73
0771nobodyさん2006/05/19(金) 22:41:49ID:???
>>768
> あと日付差分のアルゴリスムはめんどいぞ
unix秒に変換→計算→再フォーマット
ってだけじゃないのか
0772nobodyさん2006/05/19(金) 22:59:27ID:???
>>768
1ヶ月を30日で計算するか31にするかとかのこと。
3ヶ月単位の作業があって、○月の3ヶ月後とか出すのがめんどかった。
90日後なら楽なんだが、11/29の3ヶ月後が2/28なのか2/29なのか、それとも3/1にするのかとかね。

作ること自体は簡単なんだがな。
その年の月の日数を計算する関数つくるだけだし。
0773nobodyさん2006/05/19(金) 23:10:58ID:???
mktimeの中の人の頭の良さに気づかない馬鹿ども。
0774nobodyさん2006/05/19(金) 23:14:07ID:???
年月日を分解しておいて
$d++;
$main_time1 = mktime(0,0,0,$m,$d,$y);
echo"開催期間は".date("Y-m-d",$main_time)."です。<br>\n";
な感じ
0775nobodyさん2006/05/19(金) 23:16:33ID:???
間違えました


最初の年月日を$y,$m,$d分解しておいて
$d++;
$main_time = mktime(0,0,0,$m,$d,$y);
echo"開催期間は".date("Y-m-d",$main_time)."です。<br>\n";

を最後の日($main_time2)までループする感じで
0776nobodyさん2006/05/20(土) 00:18:10ID:???
配列にデータを格納しようとして

$a[] = 1;

とかをしてみたら

Fatal error: [] operator not supported for strings in *******

というようにその行がエラーだと言われるのですがこれはPHPのバグでしょうか?

PHPは5.0.4です。
0777nobodyさん2006/05/20(土) 00:27:59ID:???
>>776
$a = array(1);
0778nobodyさん2006/05/20(土) 00:45:07ID:???
>>776
それやる前に$a="hoge";とかしてない?
0779nobodyさん2006/05/20(土) 00:48:15ID:???
>>737
PATH_INFOで判別できました。
headerがうまく動いてくれないんですが(他のスクリプトでは問題ないのに)
エラーを表示するようにしました。
助かりました。ありがとうございました。
0780nobodyさん2006/05/20(土) 01:17:33ID:???
久々にここ着たんだけど
くだ質じゃなくてPHP質問スレってどうなったの?
0781nobodyさん2006/05/20(土) 01:24:55ID:???
>>780
16日にpart34が埋まって誰も立ててない。>>726-727な感じ。
07827242006/05/20(土) 01:47:02ID:???
>>731
phpinfoでsession.cookie_lifetimeを調べたところ、値は「3600」でした。
ということで期限の設定もされていると思うのですが、
もしかして調べるべきディレクティブを間違ってるでしょうか??

他には「session.cache_expire」は「60」、「session.use_cookies」は「On」です。
0783nobodyさん2006/05/20(土) 02:57:18ID:???
>>782
おまい、CookieにIDとパスワードが残ってるとか思ってないか?
0784nobodyさん2006/05/20(土) 04:00:40ID:???
2ちゃんのTV番組欄をクリックするのですがファイルが残ってなくて毎回クリックしなきゃならない。なぜ?
0785nobodyさん2006/05/20(土) 04:20:40ID:???
>>784
  ワケ     ワカ     ラン♪
  ∧_∧   ∧_∧    ∧_∧
 ( ・∀・)  ( ・∀・)   ( ・∀・)
⊂ ⊂  )  ( U  つ  ⊂__へ つ
 < < <    ) ) )     (_)|
 (_(_)  (__)_)    彡(__)
0786nobodyさん2006/05/20(土) 04:28:51ID:???
>>749
date('t');
07877842006/05/20(土) 05:03:45ID:???
http://epg.2ch.net/tv2chwiki/
をIE5で開いても番組ファイルが残ってないのでクリックし直さなきゃなんないのです
0788nobodyさん2006/05/20(土) 05:03:45ID:???
>>785
そのAA、確か続きがあったよな。どんなのだっけ。
07897242006/05/20(土) 05:04:48ID:???
>>783
いえいえ、もちろんそんなこと思ってませんよ。
もし何か保存されてるとしたらセッションIDだけですよね。
自分では明示的にクッキーに何か保存するコードは書いてませんので。

っていうか、とにかくIEのクッキー保存フォルダに、該当ドメインのクッキーが
見当たらないんですよね。。。 他のサイト(たとえばyahooとか)のクッキーはもちろんそのフォルダにあります。
0790nobodyさん2006/05/20(土) 06:32:41ID:???
すいません。
スレ違いかもしれないのですが、SQLiteってidentityって使えませんでしょうか。。
SQL文は通るのですが、値が入ってないみたいでして。。
PHPは5.1.4使ってます。
0791nobodyさん2006/05/20(土) 07:23:44ID:???
>>790
identity使えるのはSQL ServerとMS Accessだけ
SQLite含めOracleやpostgreSQL, MySQLでは使えない
0792nobodyさん2006/05/20(土) 09:52:31ID:???
>>787
キャッシュコントロールによるもの
0793nobodyさん2006/05/20(土) 12:09:03ID:???
logファイルから、文字(半角英数字を除く)を呼び出したら、文字化けした。。。。
なんで?
携帯サイトだから、SJISなんだけど
0794nobodyさん2006/05/20(土) 12:11:52ID:???
くだ質があります。

今までで、これは使いやすい・または優秀だと思ったWebアプリのUIは何ですか?
ちょっとPHPとは関係ない感じではありますが、(DHTMLよりかも)
デザイナーではなく、マの視点が聞きたいのもありますので。

Virtual Earth
http://local.live.com/
0795nobodyさん2006/05/20(土) 14:02:30ID:???
>>794
PHPと関係ないってわかってんならココに書くな
0796nobodyさん2006/05/20(土) 14:40:18ID:???
まあ大分類だと UI=HTML だからね
0797nobodyさん2006/05/20(土) 14:58:45ID:???
>>793
解決しました
0798nobodyさん2006/05/20(土) 15:13:58ID:???
<html>
<head>
<title>aaa</title>
</head>
<body>
<?php
$hour = date('H');
if (3 <= $hour < 10) {
$greeting = 'おはようございます';
} else if (10 <= $hour < 18) {
$greeting = 'こんにちわ';
} else {
$greeting = 'こんばんわ';
}

echo $greeting."現在の時刻は".date('H時間')."です";
?>
</body>
</html>

Parse error: syntax error, unexpected 〜と出るんですが
何がおかしいですかね
うんこな質問だったらごめんなさい
0799nobodyさん2006/05/20(土) 15:27:38ID:???
エラーの行数も表示されるはずだが、なんで隠すのかねぇ。
とりあえず、この書き方がキモく感じるから、これが間違ってるんでね?
if (3 <= $hour < 10) {
0800nobodyさん2006/05/20(土) 15:40:19ID:???
if (3 <= $hour and $hour < 10) {
0801nobodyさん2006/05/20(土) 16:30:53ID:???
phpに直接関係ないかもしれないけど、phpで作るつもりなので質問させてください。
ある会社が提供してるサービスを再販するために、システム開発のためのAPI提供してくれてるんですが、
その使用形式ってのが
http://その会社のアドレス/api.php?id=$id&pass=$pass&action=$action
というアドレスへシステム(php等)からアクセスするっていう方式なんです。
ここでかなり不安になったのが、
URLにID/PASSを含んでることです。
まずSSL使用しなければ危険性盛りだくさんな気がしますし、
このシステムはクライアントに対して利用してもらうことになるので
他にもなんかかなり不安です。
(たとえば、php.iniでエラー表示させる設定にしてて
何かエラーが発生したら簡単にID/PASSを漏らしちゃいそうな・・・
これの場合はその設定をoffにすればいいだけですが)


注意点とかあったら教えてください m(_ _)m
お願いします
0802nobodyさん2006/05/20(土) 16:36:01ID:???
>>801
ショルダーハックでググると幸せになるかもしれません。
0803nobodyさん2006/05/20(土) 16:45:50ID:???
>>801
そのURLをPHPの中で使用するという前提でAPI提供してくれているならOKじゃね?
0804nobodyさん2006/05/20(土) 17:02:24ID:???
>>799
ああああ
もしかして最後のline 7とか出てたのがそれだったんですか
>>780

お二人ともありがとうございました
0805nobodyさん2006/05/20(土) 17:09:46ID:???
いっつも preg_match_all 使って特定の文字列抜き出してるんだけど、

例:「COUNT=1 COUNT2=2」のCOUNTの値を取り出したい場合は

$var = "COUNT=1 COUNT2=2";
preg_match_all("/COUNT=([0-9])/", $var, $match_list);
$count = $match_list[1][0];

とやってますが、この $match_listの後ろの配列っぷり([1][0])が苦手です。

もっとわかりやすい方法あったら教えてちょ
0806nobodyさん2006/05/20(土) 17:26:52ID:???
bbsなどで、何処かに 1 2 3 4 5 6.... と数字(アンカー)を出力して、過去ログの各ページに直接ジャンプさせたいんですが、
全てのページ分の数字を出すと、多すぎて邪魔になってしまいます。

そこで、「1 2 (3 表示中) 4 5」や「25 26 (27 表示中) 28 29」のように、指定した数だけ表示させたいのですが、
方法がいまいちわかりません。どのようにすれば良いでしょうか。
0807nobodyさん2006/05/20(土) 17:59:24ID:???
>>805
$var = "COUNT=1 COUNT2=2";
preg_match_all("/COUNT=([0-9])/", $var, $match_list);
これでOKなのかと小一時間?
0808nobodyさん2006/05/20(土) 18:00:15ID:???
>>806
表示中の位置(3とか27とか)はわかるんでしょ
ループの開始値は「現在の位置−2」、ループの終了値は「現在位置+2」
0809nobodyさん2006/05/20(土) 18:08:25ID:???
>>807
言ってることがサニタイズ房と変わらんぜよ
■ このスレッドは過去ログ倉庫に格納されています