【PHP】下らねぇ質問はここに書き込みやがれ 44
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/04/12(木) 16:54:47ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 43
http://pc11.2ch.net/test/read.cgi/php/1175368910/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0587nobodyさん
2007/04/22(日) 00:54:33ID:Du7ZfW0qありがとうございます。
よくみたら>>1に書いてあったんですね^^;
よく読まずに失礼しました。
0589nobodyさん
2007/04/22(日) 03:43:29ID:???それがJavascriptのことならば、Ajaxでググってみると勉強する必要があるかどうか判断できると思う。
0590nobodyさん
2007/04/22(日) 04:48:40ID:???0591nobodyさん
2007/04/22(日) 05:05:28ID:6BzHCPPl0592nobodyさん
2007/04/22(日) 05:30:29ID:???非同期通信してない普通のJavaScriptつかってる
サイトが増えたけどマジで勘弁してほしい
本気でうっとしいぐらいJavaScriptはちゃんと動かない
0593nobodyさん
2007/04/22(日) 05:41:10ID:???0594nobodyさん
2007/04/22(日) 06:13:24ID:???javaScriptの互換性問題は、ブラウザのベンダーもヘボだからなあ。
標準のテストケースくらい作ってそれにパスしたものだけを
リリースするって態勢を何故とれない。
0595nobodyさん
2007/04/22(日) 07:04:12ID:???そこって関数にポインタもっていくとその関数
マニュアルがポップアップしてくる。(JavaScript)
で、ポインタを関数からはずすとポップアップが
消えるんだけど30%の確立で消えずにずっと画面
に残る
ああいうのが一番イライラする
0596nobodyさん
2007/04/22(日) 09:06:59ID:???Javascriptは
オブジェクト指向の言語だからな。
HTMLをかじったくらいのやつがまともにかけるはずがない。
外出だがブラウザの互換性も面倒だし。
それにまともな書籍がペーパーバックしかないしな。
0598nobodyさん
2007/04/22(日) 09:15:48ID:???0599nobodyさん
2007/04/22(日) 11:46:47ID:b9VJcguV以下のようなエラーが出たんですが、どういう意味なんでしょう?
Warning: Smarty error: unable to read resource: "store.tpl" in C:\php\include\SMARTY\libs\Smarty.class.php on line 1095
"store.tpl"を読み込めない、Smarty.class.php の 1095行目で処理できない って意味でしょうか?
問題があるのは"store.tpl"でOKですか?
0600nobodyさん
2007/04/22(日) 12:00:24ID:???たぶん store.tpl が存在しないか、テンプレートディレクトリの指定とかが間違ってるんでしょ。
0601nobodyさん
2007/04/22(日) 12:20:47ID:ctFC3eVblist($abc,$def) = explode('/',$_SERVER['PATH_INFO']);
として、URLから ?= などを消そうと思っていますが、
www.○○○.jp/abc/def などとしてアクセスすると、
画像やCSSが読めなくなってしまいます。
(実行しているファイルの階層が変わってしまったような感じです)
原因が分からないのですが、パラメータも一つ目しか
受け取れません。
.htaccessは下のようにしています。
<FilesMatch "html$">
ForceType application/x-httpd-php
</FilesMatch>
AcceptPathInfo on
Options MultiViews
考えられそうな原因を教えてください。
0602nobodyさん
2007/04/22(日) 12:30:57ID:b9VJcguVなるほど! すぐ確認してみます!!
ありがとう!
0603nobodyさん
2007/04/22(日) 13:24:04ID:XnNxCKozブラウザの更新ボタンを猛連射すると、セッションが切れる場合があります。
HTTP リクエスト、レスポンス上の Cookie のセッション ID のやり取りには問題はないので、
サーバ側の session_start あたりのPHPの処理が追いつかないからですかね?
他にも session_regenerate_id 等を処理しています
// リロードしまくる相手は切れてしまっても問題ないとは思いますが
0604nobodyさん
2007/04/22(日) 13:43:58ID:???セッションの生存期間はどうしてる?
更新連打でセッションが切れるのは生存期間の切れたセッション
をガーベジコレクタが片付けるからだろう
0605nobodyさん
2007/04/22(日) 13:52:34ID:yrmSDayR用途が違うから出来ないんじゃないの?
>>601
言ってることが不明。
list($abc,$def) = explode('/',$_SERVER['PATH_INFO']);
でなにを取得したいの?
$a = explode('/',$_SERVER['PATH_INFO']);
print_r($a);
してごらんよ。/abc/defなら配列4個になってるはずだ。
パラメタ1つ目(abc)なのはあたりまえだし。
0606603
2007/04/22(日) 14:07:18ID:XnNxCKozsession.cookie_lifetime は 0 でセッションクッキーにしています
GC の動作は、検証用に 100% (1/1) の確率で 4 分経過したものを対象にしていますが、
連続リロードとは関係ありますかね?
「他にも session_regenerate_id 等を処理〜」と書きましたが、
session_start した後、セッション変数 expire (アクセス時間に 3 分追加した有効期限)
をチェックする処理を通しています。
expire が存在しない => 新規で有効期限をセット
存在、有効期限内 => expire を更新し、session_regenerate_id(true)
存在、有効期限外 => 全セッション変数を unset 、expire を再セットし、session_regenerate_id(true)
のようなちょっと回りくどい処理をしていますが、
ここら辺の処理のどこかが追いついていないのかな、と現状想像しています。
書き忘れましたが、PHP 5.2.1 です
0607nobodyさん
2007/04/22(日) 14:17:21ID:dThJ7LN8function hogeHoge($aaa,$bbb,$ccc,$ddd,$eee,$fff,$ggg){
}
とすると、Missing argument 5 というエラーが出ました。
サーバはPHP5です。
0608nobodyさん
2007/04/22(日) 14:30:58ID:???hogeHoge(1,2,3,4);
とかにしているからでしょ
function hogeHoge($aaa='mmm',$bbb='zzz',$ccc=TRUE,....
と、ちゃんと初期値を書くこと。
0609nobodyさん
2007/04/22(日) 14:42:39ID:???もしくは\nみたいなものでも良いんですが・・・
0611603
2007/04/22(日) 15:02:39ID:XnNxCKozPDO で PDO_PGSQL ドライバを使用した際、
prepare() メソッドのパラメータ string statement に
意図時に正しくない、例えばプレースホルダ (:name や ?) がない文を
与えて実行すると、false を返さず、エラーログに
[notice] child pid ***** exit signal Segmentation fault (11)
を吐いて処理が終了します。
PDO::ATTR_ERRMODE を PDO::ERRMODE_EXCEPTION に設定した場合でも
PDOException をスローせずに同じエラーを吐いて終了します。
PDO_MYSQL ドライバでは問題なく false を返す、もしくは例外を投げてくれます。
細かいことだけど、環境と合わせてバグ報告したほうがいいのかな?
(sendpr したことないし、英語も自信ない)
0613nobodyさん
2007/04/22(日) 15:52:39ID:???以下、負け犬の遠吠え禁止
0614603
2007/04/22(日) 16:17:12ID:XnNxCKoz最新の CVS 版入れてもでないか確認して、
PHP を --enable-debug でリビルドして
gdb でバックとレースした内容を添えて、
さらに英語で送るとか、へたれの俺には敷居が高い・・
誰かに変わって報告してもらうにも、環境によって出る出ないがあるかもしれないし。
とりあえず、余裕ができたら自分でやってみます。
>>613
まぁそんな言い方せずに
0615612
2007/04/22(日) 16:36:13ID:???bug reportで、最後の「英語」の敷居それ自体は低い。
むしろ問題は、本当に、snapshot入れて出るのかどうかってことと、
出てレポートした後、feedbackするのを放置しがちってところだと思う。
>>613
segfaultに関するようなことはPHP Bugsとの関係でやることであって、それだけのスキルを
603はもってるでしょ。レス見れば判る。
0618nobodyさん
2007/04/22(日) 17:10:14ID:0zzEw5U5から現在まで何年経っているか
簡単に出力する関数とかないですか
年齢チェックをしたいので…
0619nobodyさん
2007/04/22(日) 17:18:27ID:???0620nobodyさん
2007/04/22(日) 17:26:45ID:???そのフォーマットで、単に年齢出せればいいんだったら日付関数なんかも使わず
$str = '19860523';
$str2 = '20070422';//今日の日付にしたいならdate()あたりで求める
$year = substr($str2,0,4)-substr($str,0,4);
if(substr($str2,4,4)-substr($str,4,4) >0 ){
$year++;
}
echo $year;
でいいんじゃない?。マニュアルってほどじゃない。
グレゴリウス暦1127年3月2日生まれの人間が今生きてたら、何日何秒生きてることになるか
ということになると日付関数じゃ足りずに、オプションのカレンダー関数とかでやるしかないと思うけど。
0621nobodyさん
2007/04/22(日) 18:10:17ID:???substrもつかわず、単に$str2-$str1で終わるような気がする。
0623nobodyさん
2007/04/22(日) 20:59:08ID:bqPmYs5Qなぜか表示ができません。
DBの接続もOKでPHPinfoも出るのですが、
これ文字化けが原因で表示されないということって
ありますか?
0624nobodyさん
2007/04/22(日) 21:04:15ID:???0626nobodyさん
2007/04/22(日) 21:12:30ID:???0627nobodyさん
2007/04/22(日) 21:48:44ID:bqPmYs5Qrequire('./include/init.php');
$name = $_POST{'name'};
$company = $_POST{'company'};
$tel = $_POST{'tel'};
$email = $_POST{'email'};
$address = $_POST{'address'};
?>
<html>
<head>
<meta http-equiv=content-type content="text/html;charset=x-euc-jp">
<title>・譯シ・カ。シナミマソ</title>
</head>
<body>
<b>・譯シ・カ。シナミマソ</b><br>
イシオュ、ホニ簣ニ、ヌホノ、ア、・ミナミマソ・ワ・ソ・。、キ、ニイシ、オ、、。」<br>
0628nobodyさん
2007/04/22(日) 21:49:16ID:???0629すいません。623です。上もソースです。
2007/04/22(日) 21:49:25ID:bqPmYs5Q<form action="ktouroku3.php" method="post">
<input type=hidden name=name value='<?echo $name?>'>
<input type=hidden name=company value='<?echo $company?>'>
<input type=hidden name=tel value='<?echo $tel?>'>
<input type=hidden name=email value='<?echo $email?>'>
<input type=hidden name=address value='<?echo $address?>'>
<tr><td align=center nowrap>、ェフセチー</td>
<td><?echo $name?></td></tr>
<tr><td align=center nowrap>イメフセ</td>
<td><?echo $company?></td></tr>
<tr><td align=center nowrap>」ヤ」ナ」フ</td>
<td><?echo $tel?></td></tr>
<tr><td align=center nowrap>」ナ。ン」ヘ」チ」ノ」フ</td>
<td><?echo $email?></td></tr>
<tr><td align=center nowrap>スサス・/td>
<td><?echo $address?></td></tr>
</table>
<input type=submit value='ナミマソ'>
</form>
</body>
</html>
ちなみにこのソースはPHP&PostgreSQLをそのままんま
コピーしたんですが...
0630nobodyさん
2007/04/22(日) 21:49:49ID:???0631nobodyさん
2007/04/22(日) 21:50:23ID:???並マンコってどんなだよ
0632nobodyさん
2007/04/22(日) 21:53:46ID:???0633nobodyさん
2007/04/22(日) 21:54:31ID:???っていうかそのぐらいの判断が出来ないんなら、一からテキスト買って勉強したほうがいいよ。
いきなり難しい事を飛ばしてやっても無理。
0634nobodyさん
2007/04/22(日) 21:57:51ID:bqPmYs5Qを直せばいいのかな?
PHP&PostgreSQLにはinit.phpはEUC-JPに設定を直しました。
データベースはUTF-8です。
この本のとおりにやったのですが...
0635nobodyさん
2007/04/22(日) 21:59:31ID:bqPmYs5Q文字コードをPHPはなににすればいいのでしょうか?
本見てやったのですが、
すいません。教えてください。
先ほどのカキコミは627です。
0636nobodyさん
2007/04/22(日) 22:01:09ID:???0637nobodyさん
2007/04/22(日) 22:02:19ID:???とりあえずなんでEUCに拘ってるんだ
0638nobodyさん
2007/04/22(日) 22:28:45ID:???0639nobodyさん
2007/04/22(日) 22:36:26ID:bqPmYs5Q文字のめちゃくちゃなところを直せば動くかな?
どうでしょうか?
後、誰も同じ本もっていないのかな?
もしかして俺だけ?
0640nobodyさん
2007/04/22(日) 22:43:52ID:???0641nobodyさん
2007/04/22(日) 22:48:48ID:???eo規制くらったから書き込めない
0642627です。
2007/04/22(日) 23:03:33ID:bqPmYs5Qお願い致します。
0643nobodyさん
2007/04/22(日) 23:26:07ID:???0644nobodyさん
2007/04/22(日) 23:33:09ID:???0645nobodyさん
2007/04/22(日) 23:35:27ID:???0646nobodyさん
2007/04/22(日) 23:45:04ID:iPHGhE3Vclass〜でクラスでライブラリを貯めていくのと、
function〜でユーザー関数をファイルにただ詰め込むのは
どちらが推奨でしょうか?
はやりフレームワークのようにclassを使うのが妥当でしょうか?
ある程度たまってきたら全部公開したいと思っているので、
みなさまのご意見をお聞かせください。
0647nobodyさん
2007/04/22(日) 23:52:34ID:???>>646
どっちでもいいよ好きなように作ってください
0648nobodyさん
2007/04/22(日) 23:56:59ID:???取り出すときにhtmlspecialcharsしなくてもいいと思うのですが
あるスレで格納する前は処理しなくて取り出すときにhtmlspecialcharsするような
ことが書いてあったのですがどちらがいいのでしょうか?
0650nobodyさん
2007/04/23(月) 00:06:03ID:???0651nobodyさん
2007/04/23(月) 00:08:17ID:???0652nobodyさん
2007/04/23(月) 00:09:12ID:???変数を何らかの文法の中に埋め込む(HTMLとして出力する、SQL文を発行する、JSONとして出力する)
際にエスケープ。
理由はエスケープの目的(文法上のエラーや意図しない動作を防ぐ)と手段(エスケープ)
の対応が明確になり、必要十分なエスケープ処理を行えるから。
0653nobodyさん
2007/04/23(月) 00:09:18ID:???結局あれこれあるから、最終viewのところで制御するのが安全だなあ。
0654nobodyさん
2007/04/23(月) 00:11:05ID:???格納前というか発行前か?
0655nobodyさん
2007/04/23(月) 00:16:17ID:???0656nobodyさん
2007/04/23(月) 00:27:38ID:???0657nobodyさん
2007/04/23(月) 00:34:41ID:???ttp://takagi-hiromitsu.jp/diary/20051227.html#p02
>>654-655
prepareStatement使ってればあんま意識しないけどな
magic quoteがONだとややこしいことになるけど
0658nobodyさん
2007/04/23(月) 02:01:49ID:J6ot4vJK627です。
この文字ばけを直せばきちんと表示されるでしょうか?
これが質問です。
よろしくお願い致します。
0660nobodyさん
2007/04/23(月) 02:03:23ID:Ks2m9GLI文字化けで直らないと文字化け直さないの?
見てあげたいけど携帯だしどうしようもない…
0661nobodyさん
2007/04/23(月) 02:18:40ID:???お前あのソースどっからコピーしたの?
エディタからソースをそのままコピー?
それともブラウザで何も表示されてない状態で
右クリックしてソースを表示したのをコピー?
なんか後者の気がムンムンするんだけど・・・
もしそうならちゃんと結果は返ってきてるんだから
100%文字コードの設定だろう。
ちょっとブラウザの表示からエンコード変えてみれ
0662nobodyさん
2007/04/23(月) 02:21:23ID:Ks2m9GLIソースコピーしたらphp表示されなくね?
DWのソースコピーしたらこうなるよ
0663661
2007/04/23(月) 03:03:56ID:???0665nobodyさん
2007/04/23(月) 03:21:53ID:J6ot4vJKありがとうございました。
0666nobodyさん
2007/04/23(月) 08:28:11ID:???というような使い方をしたいのですが、
PHPでもcronなどを使えば実現できますがそういう処理はJAVA Servletやアプリケーションサーバ
向きかなと思いましてどうしようか悩んでいます.
どちらがいいでしょうか?経験者の方などがいましたら違いを教えてください.
0667666
2007/04/23(月) 08:28:41ID:sNG4PNgp0668nobodyさん
2007/04/23(月) 08:47:16ID:LOUhoqIW0669nobodyさん
2007/04/23(月) 09:09:25ID:???0671nobodyさん
2007/04/23(月) 09:27:15ID:???0672nobodyさん
2007/04/23(月) 09:56:28ID:oOc9kXWC他人様が作成したphpスクリプトの一部にHTMLタグを加えたのですが
上手く反映されません…。
スクリプトはこちらの物です。 ttp://www.rocomotion.jp/php/p_link.php
左側のmenuバーの所にだけ<head>用のタグを貼り付けたかったので
#-----------------------------------------------
# フレーム部分(main)
#-----------------------------------------------
と言う項目の下にある<head>の下に付け加えたのですが、反映されませんでした。
アドバイス頂けないでしょうか。 よろしくお願いします。
0673672
2007/04/23(月) 10:05:42ID:oOc9kXWC編集したのはメインスクリプト、
#-----------------------------------------------
# フレーム部分(menu)
#-----------------------------------------------
以下の部分でした。
0675nobodyさん
2007/04/23(月) 10:33:47ID:sNG4PNgpservletやjspに関してあまり知らないので見当はずれなことを言っていたらすみません.
ただ、クライアントのリクエストに関わらず処理させるサーバにWeb特化のPHPは向いてないと聞いたので、
どのようなシステムを使うのが良いのか知りたかったので質問しました。
0677虚弱PHP
2007/04/23(月) 10:42:53ID:???ブラウザの処理の途中でリロードされてるんじゃないかな?
session_regenerate_idでIDが変更されたのに、
変更前のセッションIDを送ってるとか。
0678虚弱PHP
2007/04/23(月) 10:46:04ID:???俺の周りではshellとPerl使ってる人が多かったかな。
俺はPHPのシステムだったら、バッチ処理もPHPで書いてた。
0679nobodyさん
2007/04/23(月) 10:57:35ID:???失礼しました。
#-----------------------------------------------
# フレーム部分(menu)
#-----------------------------------------------
function frame()
{
global $title, $script, $col_devide;
print<<<head
<?xml version="1.0" encoding="shift_jis"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<head>の下に1行だけ加えただけです。
0680nobodyさん
2007/04/23(月) 11:06:44ID:???0681648
2007/04/23(月) 11:07:10ID:???よくわかりました
たかぎさんのサイト面白いです
0683nobodyさん
2007/04/23(月) 15:34:47ID:Ks2m9GLI0685nobodyさん
2007/04/23(月) 15:46:15ID:EsFw1dKU会員登録などしてログイン情報をセッションで持ち回る事で、
会員専用のページなどにもアクセス出来ます。
それはわかるのですが、SSLを使った場合はどうなるのでしょうか?
ただリンクをhttps://aaa .com/にすればいいだけなのでしょうか?
SSLのディレクトリにあるファイルでsession_start()とすれば、公開サイトの
会員IDなどが引き継げるのでしょうか?
独自ドメインでSSLを使ったサイトを作成した事がないので、気になりました。
0686nobodyさん
2007/04/23(月) 15:58:34ID:qAG2+B55参考サイトありますか?
特に動画アップロードの作り方が詳しくでているところ希望します。
■ このスレッドは過去ログ倉庫に格納されています