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

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

■ このスレッドは過去ログ倉庫に格納されています
00019092006/06/23(金) 01:59:03ID:lPdqGX0Z
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

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

過去スレは>>2
03313172006/06/28(水) 02:27:20ID:???
>>327
フォローありがと

>>325
それ、テンプレートとPHPが1つのファイルに混ざって書いてあるのね。
>>308の方は見て無かったよ。ゴメン

HTML部分とPHPの関数部分を切り離して、HTMLはincludeで何度も出力、
PHP関数部分はsubroutine.phpとかにでも移してinclude_onceで読み込むのがいいと思うよ。
0332nobodyさん2006/06/28(水) 02:27:39ID:???
requireだな
0333nobodyさん2006/06/28(水) 02:27:59ID:???
>>304
よし、俺様がまともな解決法を教えてやるよ!
これでも使っとけ!
拡張組み込む必要はあるが、お前のやりたいことがそのまま叶うからな!
http://www.php.net/manual/ja/function.runkit-function-redefine.php

じゃ、もう二度と来るなよ!
0334nobodyさん2006/06/28(水) 02:30:33ID:???
>>330
もうちょい言うなら、それに加えてテンプレートと中で使う固有処理はファイルを分けて、
template1.php
<?php
require_once("template1func.php");
?>
<html>
:
</html>

template1func.php
<?php
function template1() {
固有処理
}
?>
として、template1.phpはrequire()で読み込む、って感じで
require()とrequire_once()をちゃんと使い分けるべきなんだよね。
0335nobodyさん2006/06/28(水) 02:36:14ID:???
なんか急に人増えたな
0336nobodyさん2006/06/28(水) 02:36:33ID:???
全部同じ人だよ
03373042006/06/28(水) 02:36:54ID:???
>>327
create_functin なんてものがあるんですね!
長い関数になると少々厳しそうですが、名前のダブリを心配しなくていい方法として大変有力ですね!

でもこれ、同じ引数で複数回呼び出したときって、同じ内容の別名の関数がどんどんできていくのでしょうか?
リファレンスをちょっと見た範囲では、特に寿命について書いてあるわけでもなく、また関数を削除するアクションについても
書いてないので、スクリプトの実行が終了するまでメモリに留まるんでしょうね。
戻り値が「関数オブジェクト」みたいなものなら良かったんですけどね・・・

さらに >>333
runkit_function_redefine なんてのがあるのですか。
というか、runkit_function_remove なんてのがあるんですね!
これが正解な気がしますね!
ただ、runkit の使い方について不勉強なもので、ターゲットの環境で使えるかどうか不明なのがナニです。
とりあえず実験してみます。

なんにしても、新しい材料が手に入ったので、何かいい実装方法があるか検討してみます。
ありがとうございました。
0338nobodyさん2006/06/28(水) 02:37:58ID:???
>>337
> これが正解な気がしますね!
だって。
はいはい、終了。
0339nobodyさん2006/06/28(水) 02:39:17ID:???
>>これが正解

いや、いいけどね。
0340nobodyさん2006/06/28(水) 02:39:48ID:???
ごめん、かぶった
0341nobodyさん2006/06/28(水) 02:43:09ID:???
初級者が初心者を輪姦中と聞いて�dで来ました!
0342nobodyさん2006/06/28(水) 02:44:09ID:???
includeで自動出力させる理由がわからない・・・
template.phpをtemplate.class.phpに書き換えるスクリプト一つ用意すれば何もしなくても解決できる・・・
そもそもtemplateに関数定義とか入ってる時点でtemplateじゃないと思うし、分離すりゃいい・・・
標準出力使う理由も不明・・・

なんか、ものすごく間違った覚え方したまま成長しちゃって取り返しが付かなくなってる感じ。
手軽さとか利便性とか分かりやすさを重視するため!って思いこんでるだろうけど、
あんたの考え方さえ変わればすぐに手軽で分かりやすいシステムになるよ。
自分がその作業の一番のボトルネックだって認識するところからはじめるべき。
03433042006/06/28(水) 02:44:19ID:27YOZKQj
あー
関数名(あるいはクラス名)がユニークになるようなルールを定めて実践しろというのも正解だとは思いますが、
今回の意図としては、どちらかといえば関数名のダブリを避けるというよりは、関数のプライベート化という方が近いので、
関数エントリの削除という手段が正解だと判断したものです。
0344nobodyさん2006/06/28(水) 02:45:30ID:???
>>343
じゃあ、ユーザが「include」って名前の関数を作りたいって言ったらどうするんだ?
0345nobodyさん2006/06/28(水) 02:45:41ID:???
>関数のプライベート化という方が近いので、
クラスって聞いたことない?
>関数エントリの削除という手段が正解だと判断したものです。
みんなそれが間違ってるって指摘してんのに、一人固執してるから進まないんだよ
0346nobodyさん2006/06/28(水) 02:47:59ID:???
>>337
> でもこれ、同じ引数で複数回呼び出したときって、同じ内容の別名の関数がどんどんできていくのでしょうか?
まぁ、そうだね。多重生成を防止する方法はいくらでもあると思うけど。
0347nobodyさん2006/06/28(水) 02:48:14ID:???
とんだ頑固者だぜ!
0348nobodyさん2006/06/28(水) 02:48:50ID:???
304の同僚?依頼主?が可哀想に思えてきた
0349nobodyさん2006/06/28(水) 02:51:51ID:???
もう良いと思うよ。関数削除できるんならそれはそれで動きそうな気もしてきたし。
自分で一から作ったやつじゃなくて他人が作ったのが回ってきたんだろ。
で設計思想はそのまま引き継ぐ必要があるんだよきっと。
0350nobodyさん2006/06/28(水) 02:54:04ID:???
いいじゃん、もう解決したらしいんだから。
好きなようにさせてやればいいんだよ。
正しい方法を自分で選べるやつは、あんな方法とらないし
聞く耳持たないバカには何言っても無駄。
0351nobodyさん2006/06/28(水) 02:54:36ID:???
気に食わない同名の関数は俺がオーバーライド(正確には違うが)しちゃうぞ
ってことを奨励する混沌とした弱肉強食システム。
0352nobodyさん2006/06/28(水) 02:54:36ID:???
system()でtemplate動かせばいいだけじゃ
0353nobodyさん2006/06/28(水) 02:55:45ID:???
>>350

根拠もなくそのやり方は嫌だという人間に質問する権利はないとおもう
03543042006/06/28(水) 03:01:06ID:???
>>342
その意図は >>323 にあるとおりです。
データの表現方法を自在にしたいという目的があります。
標準出力を使う理由は、PHP は標準出力にモノを出力するのに都合がよいからです。
include するだけで画面に出ますから。

で、画面と関数定義を分けなさいという意見、至極もっともなわけですが、
関数内のほとんどがコードが HTML 出力をしている(というか、一時 PHPコードを解除して HTMLそのものが書かれている)ような場合、関数だからといってファイルを分けるという選択がしづらいこともあります。
たとえばテーブル中にテーブルを作っていく、なんてコードがありまして、ぱっと見HTMLなのですが、その部分は再帰的に呼び出される関数として構成されているわけです。
その関数を別ファイルにしてしまうと、テーブルの中身のHTMLコードまでそっちのファイルに行ってしまい、画面デザインの変更があると二つのファイルをいじるハメになってしまいます。

なので、最も欲しかった方法は、無名関数や無名クラス、あるいはファイル内にスコープが限定されるなプライベートな関数やクラスだったのです。

>>345
何度も言っていますが、クラスにしても、クラスの二重定義の問題は回避できないです。
関数とかクラスとかそういう問題じゃなくて、「何かの定義」の有効範囲の問題です。

>344、351
テンプレート作る人はPHPを知ってる人が対象なので、そういう無茶は無いという前提です。

>>352
それも考えたのですが、パラメータの引継ぎ方法に難がありました。
単なる文字列とか数値やそれらの配列程度ならなんとかなるのですが、何かのオブジェクトだったりしたときにダメでした。
0355nobodyさん2006/06/28(水) 03:03:01ID:???
>>354
しつこいよ。
無茶な要求にみんなイライラしながらも、我慢して解決法や問題点の指摘をしてくれたんだ。
これ以上荒らさず、さっさと消えろ。
0356nobodyさん2006/06/28(水) 03:03:42ID:???
>>354
だから「名前空間」言うとるじゃないか。
名前空間が使えない言語は、何かしらのルールで名前の衝突問題を乗り切る。
これ基本。
0357nobodyさん2006/06/28(水) 03:05:03ID:???
>>304

救いようの無い馬鹿だな。テンプレートにファイル名はあるんだろ?
クラス名をテンプレートファイル名と同じルールでつければ終わるだろうに。
何?テンプレートにclass{}とか書きたくない?
じゃラッパー書けばいいじゃん。意味わかる?

”あれだとこれができない、あれじゃないとこれはできない”
人様に聞かないと、この程度も解決できないくせに、何考えてんだ。
0358nobodyさん2006/06/28(水) 03:09:27ID:???
includeで出力しようとしているところが間違っていたと気づいてほしかったな。

>>357
たぶんね、そのクラスを定義したファイルを何回もインクルードしたいって事だと思うのよ。
最初まさかと思ってたけど、もうそうとしか思えん。
0359nobodyさん2006/06/28(水) 03:12:39ID:???
>>358

includeで出力させるんじゃなくて、テンプレート出力を変数に格納し都度echoするようにすればそんなアホなことしなくて良いのに。
って、それすら理由もなく嫌だ嫌だ言うんだからどうしようもないな。

つーわけで304はプログラマ辞めた方がいいとおもう。周りも口にしないだけで大なり小なりそう思ってるとおもうよ。
0360nobodyさん2006/06/28(水) 03:15:15ID:???
304は知識不足というより人格不足だな・・・・・
0361nobodyさん2006/06/28(水) 03:21:19ID:???
こんなキチガイを誘い込んだ306が一番悪いとおもふ
0362nobodyさん2006/06/28(水) 03:25:55ID:???
クラスにしろとかrequireにしろとか_onceにしろとか、もう見てらんない
>>307-309も理解できないウンコ共は、余計なこと言わないで黙って見てなさいってw
マジメな話、PHPで304の言うようなこと(関数のローカルスコープ化)はできないよ
自分でも言ってるけど、命名規則設けてコンフリクトを避けるのが一番スマートだと思われ
関数定義のオーバーライドとか消去とかやるにしても、結局テンプレートに手を入れなくちゃいけないんだろ?
0363nobodyさん2006/06/28(水) 03:31:30ID:???
掲示板のスキンとかblogのテンプレートファイルとかの類かな。
似たような案件は見たことあるからまー気持ちは分からんでもないかも。

>>357
> クラス名をテンプレートファイル名と同じルールでつければ終わるだろうに。
その話はすでに>>323で終わってるけどね。
スキンの類だとファイル名からして同じだったり不定だったりして回避策にならんとは思う。
(使う環境に応じてディレクトリ+ファイル名に命名ルールを変更、とかの話が出てくる)
ファイル名変更に合わせてファイルの中身を置換するスクリプトが必要になるな。

まー、その仕組みでincludeで生のままファイルを扱おうって時点でかなりムリのある話だと思う。
03643622006/06/28(水) 03:32:20ID:???
あぁ おれもウンコだった…
関数名のコンフリクトは避けられても、二重インクルードがあるのか
それなら>>304の言うような if で function_exists 使う方法かな…
関数定義とテンプレートを分けたくないんでしょ?
0365nobodyさん2006/06/28(水) 03:33:57ID:???
>>362
いや、皆いちいちコードの内容なんて見てないって。
質問内容と、そのやり取り(応答)の内容で「こりゃ駄目だ」って思ってるだけ。
require とかそういう話題は、そもそもそういう事で悩まなくていい実装方法を
例示してに過ぎないだけだと思うけど。
ちにかく、設計の仕方がまずい。これに尽きる。
0366nobodyさん2006/06/28(水) 03:36:49ID:???
>>364
個人的にはcreate_functionが1番てっとり早いと思うけどね。
多重生成でのメモリの無駄を気にしてるみたいだけど、
同じファイルの多重includeって何回くらいまであるんだろう?
2〜3回くらいなら気にせず生成させちゃった方が話が早くね?
0367nobodyさん2006/06/28(水) 03:41:03ID:???
どうしてもつっこみたいから一言だけ言わせて
その後はスルーするから

>>354
>たとえばテーブル中にテーブルを作っていく、なんてコードがありまして、ぱっと見HTMLなのですが、その部分は再帰的に呼び出される関数として構成されているわけです。
>その関数を別ファイルにしてしまうと、テーブルの中身のHTMLコードまでそっちのファイルに行ってしまい、画面デザインの変更があると二つのファイルをいじるハメになってしまいます。
それも構造次第
オレは似たようなことやってるけど、ちゃんと考えてるからテンプレートは弄っても関数が書かれてるファイルは弄らなくて済むように作ってる
ちゃんとMVCも考えて作んなきゃ糞

オマエのやろうとしてるのは他人が読めないコードを量産してるだけに過ぎない
※ココで言う「読めない」とは「読みにくい」「読む気が失せる」という意味
03683622006/06/28(水) 03:45:24ID:???
>>365
プラグ印やらスキンやらをお手軽にやろうと思ったとき、>>304のアプローチはそう悪くないと思うぞ?
PHPのテキスト中にコードを埋められるという利点をうまく生かしてると思うが
お前ならどんな設計するんだい?
応答内容の悪さは若干後付気味なくらいで、他に問題あるか?
おれも似たような案件でinclude使ったからよくわかるというか、まぁそんときは関数定義しないで回避できたけど

>>366
画面デザインとPHP(の関数)が溶け合ったコードみたいだから、create_function化するのは苦労しそうだ
ついでに、関数とHTMLが溶け合ってるコードも見たことあるけど、それはそれで読みやすいというか、むしろ分けないほうがいい感じ
HTMLのど真ん中に関数定義があって、関数が終わらないのに再びHTMLになってるようなコードなんだけど、すげー合理的だった
ちょうどそれも再帰処理で、入れ子構造の画面を展開するトコだったんだけどな
03693042006/06/28(水) 04:03:35ID:???
引っ込んでようと思ったのですが、アドバイスをいただけているようなのでお礼がてらに。
結論から言って、runkit 使うとかはやめようと思いました。
>>352 でローカルスコープ関数定義はできないこともわかりましたので、その方面でも踏ん切りがつきました。
create_function も、やはりHTMLが混じった長いの関数もあったため、あまり得策では無さそうです。
というわけで、命名規則の設定と function_exists でいってみようかと思います。

>>363 の言うような、ファイル中の関数を置換するというアプローチ、いい案ですね。
しかしテンプレートをパースするのに苦労しそうなので、今回はお手軽な方法に逃げてしまいます。

>>367
おっしゃること、よく理解できます。
ただその部分は、それはそれでうまい構造になってまして、HTMLの可読性もPHPの可読性もよく両立しているかに見えます。
混じりあったコードを分離して、なおかつお互いの可読性を高めるような構成はなかなか難しそうです。
そして、そういうコーディングスタイルを奪うことも、できればしたくないです。

あと、なんだかんだでダメな理由ばかりを返信することになってしまったこと、申し訳なく思っています。
でもたくさんの書込みを頂いて、みなさんには感謝してます。
ありがとう。
0370nobodyさん2006/06/28(水) 04:06:00ID:???
eval
03713042006/06/28(水) 04:06:20ID:???
あちゃー
× >>352 でローカルスコープ関数定義はできないこともわかりましたので、
○ >>362 でローカルスコープ関数定義はできないこともわかりましたので、

スマソ
03723622006/06/28(水) 04:27:32ID:???
もう済んだみたいだけど、おれの質問
こんな再帰構造BBS展開のコードがあったとして、これを>>367だったらどう分ける?

<? hoge($thread); ?>
<? function hoge($data) { ?>
<TABLE BORDER=1>
<? foreach($data['thread'] as $a) { ?>
 <TR><TD>
 <?=Date('Y/m/d', $a['date'])?> 名前:<?=$a['name']?><BR>
 タイトル:<?=$a['title']?><BR>
 <?=$a['text'];?>
 <P>
<? if(!empty($a['subthread'])) hoge($a['subthread']); ?>
 </TD></TR>
<? } ?>
</TABLE>
<? } ?>

コードは簡単なので、説明省略
0373nobodyさん2006/06/28(水) 05:55:27ID:???
>>365
include と require って、ファイルが見つからないときに warning になるか fatal error になるかの違い以外に差異ってあるの?
0374nobodyさん2006/06/28(水) 06:01:56ID:???
>>373
無いよ。何の話??
0375nobodyさん2006/06/28(水) 06:05:55ID:???
>>374
いや、include でだめって話をしてるのに require を使えって回答がみたいだから。
>>365 の言いぶりにしても、require なら悩まなくてもいいという意見にも見えるし。
03763672006/06/28(水) 06:16:15ID:???
>>372
Smartyを使う
0377nobodyさん2006/06/28(水) 07:01:27ID:???
>>376
Smartyについてはよく知らんが、
うpされてるコード読んだけど、それなら >>372 の方がシンプルで読みやすいし修正も容易そうじゃないか?
subtable.template を関数定義ファイルとしないで main.php に関数を定義してそこから include してる意図は、関数定義とHTMLを完全分離したということなのかな?
だが画面のデザインを変えるときに main.php にまで影響が及ぶ可能性があるのが嫌な感じだな。
ファイルがやたら細分化されていきそうなのも気になる。
>テンプレートは弄っても関数が書かれてるファイルは弄らなくて済む
と言っても、テンプレートファイル自体が分散するようだと、複数のファイルを弄るハメになることに変わりは無くなっちまうわな。

>>372 を function_exists を使って解決するって、関数定義が

<? if( !file_exists( "hoge" ) ) { function hoge($data) { ?>

みたいになるのかな。
試してみたら、確かに二重定義は発生しないみたいだけど、これはこれで面倒だな。
おまじないだと思えなくもないけどな。
create_function の適用は、このケースでは論外かな?
つか、直で画面に出力する場合は二重定義の心配はしなくていいんだよな?

あと、>>376 がうpしたファイルの main.php の最初の行(ついでに subthread も)は
$tempData['thread'][] = array(
だよな。つまらんツッコミだけど。

あ、おまいさんのやり方を否定してるわけではないぞ。
おれは偉そうなこと言っておきながらうまい方法を提示できんし。
0378nobodyさん2006/06/28(水) 07:06:33ID:???
>>375
そりゃ君に日本語読解力が無いだけでは…。>>365のどこ読んだらそう読めるんだ。
0379nobodyさん2006/06/28(水) 07:12:57ID:???
>>378
ココ
>require とかそういう話題は、そもそもそういう事で悩まなくていい実装方法を
>例示してに過ぎないだけだと思うけど。

「そもそもそういう事で悩まなくてもいい」方法として例示されたのが「require」と捉えれば、
include での悩みは require には無い
ととれない?

いや俺的には include と require が一緒ということなら、もうどうでもいいんだけど。
0380nobodyさん2006/06/28(水) 07:23:55ID:???
>>379
とれるとれる
オレもそう思って「?」ってなった
0381nobodyさん2006/06/28(水) 08:37:19ID:???
くだ質らしい低レベルなレスが続いていて微笑ましいですね^^;;;;;;;;
0382nobodyさん2006/06/28(水) 09:17:01ID:3gjeaESL
データを別ファイル(*.txt)などに記録していく時、通常

1回目の記録
2回目の記録
3回目の記録
.
.
.
n回目の記録

となりますが、これを「新しいものが上」として記録することはできませんか?

記録量が増えてきた時、新しいものが下だと、
最新の記録を見る時に、延々とスクロールしなければなりません。
0383nobodyさん2006/06/28(水) 09:40:43ID:???
>>382
>>85
0384nobodyさん2006/06/28(水) 09:49:45ID:???
>>383
それもいいが、
tmpファイルを作ってまずそれに新しい1レコードを書き、
その後もとのデータファイルから stream_cccopy_to_stream、
そして元のデータファイルをユニークな名前にrenameしたあと、
tmpファイルを元のファイルの名前にrename、
その後元のファイルは消す、または次回のtmpファイルとして使う、
のほうが stream_cccopy_to_stream を1回しか行わずにすむのでスマートかも
0385nobodyさん2006/06/28(水) 09:54:36ID:???
日付の比較でstrtotime使ってUNIXタイムスタンプで
比較がよいというTipsサイトをよくみかけるのですが
strtotimeのマニュアル見ると上限は2038年とかって記載されてますよね。

UNIXタイムスタンプの関数使いつづけてて問題ないんですかねこれって…
0386nobodyさん2006/06/28(水) 09:57:51ID:???
注意: タイムスタンプの有効な範囲は、通常、Fri, 13 Dec 1901 20:45:54 GMT から Tue, 19 Jan 2038 03:14:07 GMT までです (これらは、32 ビット符号付整数の最大及び最小に一致します)。
さらに全てのプラットフォームが負のタイムスタンプをサポートしている わけではありませんので、日付の範囲は Unix エポック以前にはならないかも知れません。
これは、例えば Windows やいくつかの Linux ディストリビューション、 いくつかの他のオペレーティングシステムでは 1970 年 1 月 1 日以前の日付では動作しない事を意味しています。
PHP 5.1.0 以降のバージョンでは、この制限はなくなっています。
0387nobodyさん2006/06/28(水) 10:00:31ID:???
>>382
>最新の記録を見る時に、延々とスクロールしなければなりません。

まさか、これだけのために・・・?
0388nobodyさん2006/06/28(水) 10:03:39ID:???
>>385
そのスクリプトが2038年以降の日付を扱うのなら、まずいだろう
0389nobodyさん2006/06/28(水) 10:13:37ID:ZX4kCjMN
数分おきにphpが自発的にメールの確認を行うにはどのような方法がありますでしょうか?
0390nobodyさん2006/06/28(水) 10:18:38ID:???
>>389
cron
0391nobodyさん2006/06/28(水) 12:44:40ID:ZX0Dr8Cc
>>279
有難うございました。
使いたいPEARは単体でも設置できました。
しかし、やはりPING送信が反映されませんでした。
ttp://php.atseason.com/?eid=209199
こちらのサイトを参照に送信してみました。
0392nobodyさん2006/06/28(水) 14:23:29ID:???
OracleとPHPの接続について質問をここでしてもいいでしょうか?
0393nobodyさん2006/06/28(水) 14:36:53ID:???
>>382
新着記事だけのビューファイル作っておけば?
0394nobodyさん2006/06/28(水) 15:04:16ID:???
>>392
構わないけど、最近たてつづけに数冊PHP+Oracleな本が出てるから、
そこに書かれてるような程度の話なら後々のことを考えて
早めに買って参考にするのがいいと思うよ。
0395nobodyさん2006/06/28(水) 15:14:42ID:???
>>389
ブラウザでリフレッシュ
0396nobodyさん2006/06/28(水) 15:21:04ID:???
有り難う御座います
お言葉に甘えて一応書かせていただきます

Linux RedHat ES3を使用して
WEBサーバとDBサーバでサーバーの構築をしています
□WEB
apache 2.0.55
php 4.4.2
□DB
oracle 10g

をインストールして
WEB側からtnsping,sqlplusでDBに接続することが可能なことを確認した後
<?
$iConn = ocilogon("test", "test", "db");
echo $iConn;
?>
を実行したところ 下記のエラーが出てしまいました

Warning: ocilogon(): _oci_open_server: Error while trying to retrieve text for error ORA-12154 in /var/www/test.php on line 2

この状態でWEB側の設定なのかDB側の設定なのかどちらの設定が悪いかわかりますでしょうか?
他にも何か必要な情報がありました 提出させていただきます
よろしくお願いいたします
0397nobodyさん2006/06/28(水) 15:23:59ID:3gjeaESL
>>393
>>384
最新を上に出すのにも工夫が要るのですね。
その方法をどう考えるかが、面白いところかも。
0398nobodyさん2006/06/28(水) 15:27:03ID:???
>>396
http://otndnld.oracle.co.jp/tech/opensource/htdocs/php_troubleshooting_faq/php_troubleshooting_faq.html
を一読してみることをお勧めします。
0399nobodyさん2006/06/28(水) 15:37:25ID:???
>>382
file()で取得してarray_reverseは?
0400nobodyさん2006/06/28(水) 15:53:45ID:???
質問です。
submitボタンを押して、見た目上ページを移動したところで、ファイルの書き込み、もしくは修正処理をしています。

しかし、何度か試したところブラウザの"更新ボタン"を押すと、再度書き込み処理を行ってしまいます。
現在は同じデータがすでにあった場合には〜、などと条件付けをして排除していますが、少しばかり不安な気がします。
ブラウザの"更新ボタン"などが押された時には処理を実行しない、もしくはsubmitボタンが押された一回のみは処理を行うなどの方法はないのでしょうか?
テクニックなどがあれば教えてください。よろしくお願いします。
0401nobodyさん2006/06/28(水) 15:58:05ID:???
>>398
有り難う御座います
一読してみて 怪しいところをやってみたところ 問題が解決されました!
環境変数が足りていなく接続できていなかったようです
有り難うございました
0402nobodyさん2006/06/28(水) 16:32:21ID:3gjeaESL
>>399

厳密には、1回の記録が複数行に渡ります。

-----

1回目の記録A
1回目の記録B
1回目の記録C

2回目の記録A
2回目の記録B
2回目の記録C

...

-----

なので、ABCの上下は入れ替えてはなりません。
0403nobodyさん2006/06/28(水) 17:31:22ID:???
>>400
セッションを使うのがいいかも
0404nobodyさん2006/06/28(水) 17:35:27ID:???
>>400
ヘッダでLocationを吐いてフォームデータを送信されたURLから
別のURLに飛ばしてしまうのがよろしいかと。
例えばこんな感じ。


入り口(書き込みフォーム)
↓
↓フォームデータ
↓
完了画面(HTTPヘッダにLocationで表示前に飛ばす)
↓
↓自動的に移動
↓
入り口

これならリロードされても入り口を再表示するだけになるはずです。
0405nobodyさん2006/06/28(水) 17:37:28ID:???
携帯だったら、最新のログだけ別ファイルに保存しておいて、
リロードしたら前のデータと比べて同じなら何もしないというのも
0406nobodyさん2006/06/28(水) 18:04:53ID:???
>> 403 404 405
まだ試したことがないので一抹の不安はありますが、管理用ページということもあり、セッションで制御するのを試してみたいと思います。
アドバイスありがとうございました。
0407nobodyさん2006/06/28(水) 18:36:08ID:+uIloqdX
ドコモの端末のユーザーエージェントからUTNを切り出すにはどういうコード書けばいいんだ?
0408???2006/06/28(水) 18:43:08ID:4DSWMgzu
最近自分の中傷が掲示板でひどいんです。
管理人じゃなくても個人の特定や削除ができますか?
0409nobodyさん2006/06/28(水) 18:45:46ID:???
>>408
管理人に連絡、対処されないなら鯖管へ。
0410???2006/06/28(水) 18:50:20ID:4DSWMgzu
パソコンを使い始めたばかりでよくわかりません…
どういうことですか?
0411nobodyさん2006/06/28(水) 18:53:22ID:???
>>407
正規表現で(σ゚∀゚)σゲッツ!!
0412nobodyさん2006/06/28(水) 19:02:02ID:???
>>410
世間一般での普通の対応を求めろっつうこと。
ネットだろうが、書き込みが電子データで物理的なものでなかろうが
やることの本質は同じ。しかるべき相手にしかるべき要求をする。
0413nobodyさん2006/06/28(水) 19:50:57ID:???
>>410
とりあえず、どの掲示板かURLをお願いします。
私が対処しに行きますので。
0414nobodyさん2006/06/28(水) 20:20:56ID:+uIloqdX
>>411
その正規表現をたのむ
0415nobodyさん2006/06/28(水) 20:50:35ID:???
>>414
http://pc8.2ch.net/test/read.cgi/tech/1131028296/
0416nobodyさん2006/06/28(水) 21:35:26ID:???
>>414
つかちょっとくらいは自分で考えれ。それでもどうしても駄目だったら
自分で作ったの持ってきたらその問題点くらいは教えちゃるから。
0417nobodyさん2006/06/28(水) 22:01:50ID:???
なんだよおしえてくれたっていーじゃん!
なめんじゃねーぞカス
0418nobodyさん2006/06/28(水) 22:19:31ID:???
カスにカス呼ばわりされても痛くもねーよ
0419nobodyさん2006/06/28(水) 22:25:49ID:???
>>402
だったらやっぱ>>85なり>>384辺りが妥当な方法だと思う。
つか、そういう大事なことは先に言わんと。
0420nobodyさん2006/06/28(水) 23:04:05ID:???
なぁお前ら様方、ここはPHPスレだけどまぁ気にしないで聞いてくれ。
優れてるとか流行ってるじゃなくて、ただ個人的にお前らが一番好きな言語って何?
俺はやっぱりPHP!
0421nobodyさん2006/06/28(水) 23:27:21ID:???
>>418
最近偽者も多いので馬鹿をみればスルーでよろ
0422nobodyさん2006/06/29(木) 00:16:28ID:wsUQiNip
PC2M というPCサイトを携帯用に変換するスクリプトを利用しています。

_check.php でチェックすると画像変換スクリプトが200でなく、403エラーを返す
という注意をされます。
動作としては、pc2m.phpでGDでPC用の画像を変換して、出力するのですが、
画像はちゃんと変換されて表示されます。

表示はちゃんとされているが、403エラーを出す理由をどなたかヒントでもいいので
教えてもらえないですか?
0423nobodyさん2006/06/29(木) 00:28:28ID:???
>>420
VZエディタのマクロ
0424nobodyさん2006/06/29(木) 00:35:38ID:???
>>422
ソース嫁
0425nobodyさん2006/06/29(木) 00:38:10ID:???
>>422
_check.phpがリファラーを返さない仕様で、
Apacheの設定で画像の直リンクを禁止するためにリファラーチェックしてるとか。

その質問は他のスレの方がいい気がするなぁ…
0426nobodyさん2006/06/29(木) 01:28:02ID:N7wntj4v
計算結果を見やすくする為、カンマ表示や¥記号表示を出来ないでしょうか?

どなたかヨロシクお願い島津。
0427nobodyさん2006/06/29(木) 01:31:22ID:???
>>426
カンマ表示はnumber_format()
¥表示はそのまま頭に¥つけて表示するだけじゃ?
0428nobodyさん2006/06/29(木) 01:31:32ID:???
>>426
最近マニュアルの URL 示すばっかりだ。
http://jp.php.net/manual/ja/function.number-format.php
0429せっ☆マ ◆wwwwWwWWWw 2006/06/29(木) 01:50:36ID:???

ereg("[^\-]","-",$tekito);

がtrueになります

ereg("[\-]","-",$tekito);

もtrueになります

どうしてでしょうか…

バージョンは5.1.4です
0430nobodyさん2006/06/29(木) 01:58:22ID:hhtHsz1A
array_searchで、数字だけの配列から文字列をサーチすると、
何故か0が返ってきます。
例)
array_search("hoge",array(0,1,2));

本来ならばfalseが返って来て欲しいのですが…
どうすれば正しい値が返ってきますか?
バージョンはPHP5.1.1です。
■ このスレッドは過去ログ倉庫に格納されています