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

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

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

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0558nobodyさん2006/09/26(火) 10:36:35ID:???
>>557
おぉー簡単だ!!ありがとうございます!
0559nobodyさん2006/09/26(火) 10:41:25ID:???
>>550 >>552
たとえば mod_rewrite
0560nobodyさん2006/09/26(火) 10:44:49ID:???
もしかしたら../diary.phpかもしれん。
0561nobodyさん2006/09/26(火) 11:06:44ID:???
function henkan($string){
if(get_magic_quotes_gpc()){
$string = stripslashes($string);}
$string = htmlspecialchars($string);
return $string;
}
こうしたstringをそのまま、データベース(mysql)にぶち込んでるけど、
問題ってあるかな?
0562nobodyさん2006/09/26(火) 11:20:06ID:???
>>559
アパチェの設定でできるだぁ。ほう〜
0563nobodyさん2006/09/26(火) 11:23:45ID:???
>>555
作る側が意識して隠してれば分からない
Content negotiationとかrewriteとかScriptAliasとか方法はいろいろある
0564nobodyさん2006/09/26(火) 11:26:30ID:???
>>561
問題ありまくる
普通にSQLインジェクションできちゃうよそれじゃあ
0565nobodyさん2006/09/26(火) 12:47:34ID:???
564
ですよね。これはXSS対策で、HTMLに表示しなければ関係ないですよね??
これとは、全く別に、POSTで送られてきた値にinitvalやaddslashを用いればいいのでしょうか?
それとも、561の関数にinitvalやaddslashを入れればいいのでしょうか?
0566nobodyさん2006/09/26(火) 12:59:28ID:???
理想はマジッククォートはOFFで、リクエストされたデータには
何もフィルタかけず(オーバーヘッドを減らすため)
SQLInjection対策でDBに突っ込むものを直前にエスケープ(addslashes)
XSS対策で出力するものを直前にHTML特殊文字変換(htmlspeicalchars)
っていうことじゃないかね
0567nobodyさん2006/09/26(火) 13:15:21ID:???
$_SERVER[PHP_SELF]で、ファイルをアップしmove_uploaded_fileで失敗したら、
エラーを表示させてるのですが、この場合、エラーが出たら、
unlinkで削除するのが良いのでしょうか?したら、このファイルは存在しないみたいな
エラーがでたので、アップされたファイルは保存されていないのでしょうか?
0568nobodyさん2006/09/26(火) 13:17:42ID:???
>>566
なるほど。勉強になります。あざっす!
でも、ホスティングだとマジッククオートonになってるんですよね。。

0569nobodyさん2006/09/26(火) 13:54:17ID:???
567です。
すいません。タイプミスでした。ちゃんと削除されました。
0570nobodyさん2006/09/26(火) 16:31:25ID:EMjXfoVa

絶対に見逃せないエロ娘たち
http://wanwanwan.mine.nu/uploader/src/up0045.jpg
http://wanwanwan.mine.nu/uploader/src/up0044.jpg
0571nobodyさん2006/09/26(火) 17:08:26ID:???
>>570
うほ!見逃せねーぜ!
0572nobodyさん2006/09/26(火) 18:26:08ID:???
class内の処理を途中で抜け出すことって可能でしょうか?
$obj = new EveLove();
$obj2= new EveDisLove();
class EveLove{
function EveLove() {
echo "test";
echo "test2";
ここで抜ける
.....echo "test20";
}
}
class EveDisLove{
function EveDisLove() {
echo "1";
echo "2";
.....echo "20";
}
}
表示を
test
test2
1234...20となるようにしたいです
可能であれば関数等教えてくださいm(_ _)m
0573nobodyさん2006/09/26(火) 18:51:35ID:???
return
0574nobodyさん2006/09/26(火) 18:52:43ID:???
>>572
意味が分からん。が、書いてる内容そのままに答えるなら
returnで抜けるか、実行させたくない部分をコメントアウト、もしくは削除しろよ。
05755322006/09/26(火) 20:00:27ID:???
やっぱり
sleep(20)で一時停止中に再読み込みやストップボタン押しても、20秒後停止が解除されたら
スクリプトが最後まで実行されてしまうんですが、
どうしたらいいのですか?

頭にignore_user_abort(1);
をつけたのですが変わらずでした
おしえてください
0576nobodyさん2006/09/26(火) 20:05:52ID:???
>>565、>>566
なぜ、わざわざaddslashesを使うんだよ?
SQLエスケープ専用の関数があるんだからそれを使えよ。

お前程度の知識でaddslashesを使うと、必ず穴が出る。
0577nobodyさん2006/09/26(火) 20:12:45ID:???
>>576
これ、読め。
http://www.amazon.co.jp/gp/product/4883374718/ref=sr_11_1/250-2846891-3685828?ie=UTF8
お前程度の知識でaddslashesを使うと、必ず穴が出る。
0578nobodyさん2006/09/26(火) 20:42:55ID:???
>>576
だからエスケープって書いてるじゃん
上でのaddslashes云々の話から繋がるように例として挙げてる
文脈から判断してくれよそれくらい
0579nobodyさん2006/09/26(火) 21:14:43ID:OUvdqD7Q
PDOのエスケープは楽ちんだけど、あれって大丈夫?
0580nobodyさん2006/09/26(火) 21:25:16ID:4x0TvdIu


echo レベルひっくぅ・・・・

0581nobodyさん2006/09/26(火) 21:43:25ID:???
>>577
バカかお前は。俺はその本はもちろん持ってるし、高木浩光氏のサイトも読んでる。
お前みたいなバカがいまだにaddslashesなんか使ってるから問題発生するんだ。

>>578
はぁ? 何言ってんの? 勝手に無茶苦茶な話をしてんじゃねぇよチンカス。
だからエスケープにはaddslashesじゃなくて専用関数(mysql_real_escape_string等)使えっての。
0582nobodyさん2006/09/26(火) 21:44:36ID:???
郵便番号入れると住所がはいるフォームがありますが、なにか
スクリプトは公開されていないでしょうか。
0583nobodyさん2006/09/26(火) 22:18:16ID:???
なにやら半島人が紛れ込んでますね^^;
そんな真っ赤にならんでも^^;;;;;
0584nobodyさん2006/09/26(火) 22:25:25ID:???
>>581
その本読んでるなら、そんなにaddslashesを批判する必要なくない!?
まあ、おれはよくわからんがその本では、mysql_real_escape_stringよりも
addslashesを薦めてるぞ。
05855782006/09/26(火) 22:31:27ID:???
>>581
はぁ?何言ってんの、チンカスレベルプログラマw
0586nobodyさん2006/09/26(火) 22:39:58ID:???
あなたはどっち派?
mysql_real_escape_string or addslashes

おれ、addslashes
0587nobodyさん2006/09/26(火) 22:45:50ID:???
>>585
具体的に反論できないチンカス乙

悔しかったらmysql_real_escape_stringよりも
addslashesを使うべき理由を挙げてみろ。
0588nobodyさん2006/09/26(火) 22:50:19ID:???
P D O 最 強
0589nobodyさん2006/09/26(火) 22:54:42ID:???
>>586
マニュアルにあるユーザ定義関数 quote_smart( ) なんてどうよ?
http://www.php.net/manual/ja/function.mysql-real-escape-string.php#AEN103489
0590nobodyさん2006/09/26(火) 22:55:04ID:???
基本的に、ストアドついてればいいよ。
0591nobodyさん2006/09/26(火) 23:02:26ID:???
>>585>>587
どっちもチンカス以下のなんだからわざわざしゃしゃり出てくるんじゃねーよマンカス。
0592nobodyさん2006/09/26(火) 23:03:25ID:???
>>589
これ↓、無意味なコードじゃねぇ? 別に数値かどうかに関わらず全てクォートすればいいわけで。
数値かどうか判定する分だけ無駄な処理に思われる。

// 数値あるいは数値形式の文字列以外をクオートする
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
0593nobodyさん2006/09/26(火) 23:04:37ID:???
mysql_real_escape_string
データの安全性を確保するため、MySQL へクエリを送信する場合には (わずかな例外を除いて)常にこの関数を用いなければなりません。
0594nobodyさん2006/09/26(火) 23:08:34ID:???
>>586
俺はmysql_〜派
理由。こっちなら文字コード設定に合わせて最適なエスケープをしてくれるから。

UTF-8しか使わないならどっちでもいーんじゃないの?
外部との連携とかあってSJIS使う羽目になったらaddslashesは「使えない」。
0595nobodyさん2006/09/26(火) 23:16:27ID:???
magic_quotesだけだと何がだめなの?
0596nobodyさん2006/09/26(火) 23:23:38ID:???
addslashesを使うメリットは、
処理が早い。
データベースコネクションの有無に影響されない。
逆変換が容易。
magic_quotes_gpcとの相性が良い。
0597現在2006/09/26(火) 23:27:22ID:???
addslashes 1票
mysql_real_escape_string  2票
0598nobodyさん2006/09/26(火) 23:29:52ID:???
そもそもmysql_real_escape_stringとaddslashesではエスケープする対象の文字が違う
0599nobodyさん2006/09/26(火) 23:33:15ID:???
>>596
> magic_quotes_gpcとの相性が良い。
なんてことを考えていること自体がだめ
0600nobodyさん2006/09/26(火) 23:37:15ID:???
magic_quotes_gpc = onだと、addslashesを使う必要ないの?
0601nobodyさん2006/09/26(火) 23:48:12ID:???
>>591
マンカスは美味なのでチンカス以下ではありません。明らかに上です。
0602nobodyさん2006/09/27(水) 00:02:57ID:???
>>596
逆変換が必要になるケースが理解できない…
どういう場面でそんなことする羽目になるんだ。

magic_quotes_gpcはそもそも真面目にエスケープ処理を考えてる人なら
最初から使うべきものじゃないんだから考慮する必要を感じない。
0603nobodyさん2006/09/27(水) 00:03:35ID:???
すまん、HTML中に

<?= echo 文字列 . $_POST['なんとか'];?>

これが危険な理由がバカな漏れには分からないorz
教えてたもれ。
0604nobodyさん2006/09/27(水) 00:10:17ID:???
>>603
XSS
クロスサイトスクリプティング
でぐぐれ
0605nobodyさん2006/09/27(水) 00:29:47ID:???
とりあえず、よく分からんヤツはPDOとかPEAR::DBのプレイスホルダつかっときゃ間違いない
0606nobodyさん2006/09/27(水) 00:44:56ID:S78j1V6H
$_SESSION変数は、そのセッション中、ずっとメモリに保持されているのでしょうか?
それとも、スクリプト内で呼ばれた時だけ、セッション・ファイルから
随時メモリに読み出されて利用されるのでしょうか?

たとえば$_SESSION['login']='ok'という内容で格納されているとして、
スクリプト中で、if ($_SESSION['login']=='ok') {} のように使った場合、
$_SESSION['login']は、そのスクリプト終了後にメモリから解放されるのか、
それともセッションが継続する限りメモリ内に$_SESSION['login']が残り続けるのかが知りたいです。
0607nobodyさん2006/09/27(水) 00:52:31ID:???
>>596
サイテロ本の丸写し乙。

>処理が早い。
処理時間に有意の差が出るほど長大なSQLを使う場面があるとは思えない。

>データベースコネクションの有無に影響されない。
通常、エスケープしたSQLは、当然DBに接続して使うわけで、
結局コネクションは必要になる。

>逆変換が容易。
俺は今まで数々のWebアプリを作ったが、逆変換が必要だった場面など記憶にない。

>magic_quotes_gpcとの相性が良い。
いくらテロリストと相性が良くても、テロリストはテロリストだ。
0608nobodyさん2006/09/27(水) 01:16:17ID:???
>>606
1点、そもそも間違ってる部分があると思うんだが、
> それとも、スクリプト内で呼ばれた時だけ、セッション・ファイルから
> 随時メモリに読み出されて利用されるのでしょうか?
と
> $_SESSION['login']は、そのスクリプト終了後にメモリから解放されるのか、
の部分。
まるでスクリプトが終了してもメモリ上にデータが残ってるかのようだが、
スクリプト終了=使われてた全メモリ解放だよ。

というわけで正解は
スクリプトの中でセッションを開始した時点で全部の内容がメモリに読み出され、
スクリプトが終了した時点で全部解放される。
となる。
> スクリプト内で呼ばれた時だけ、
は間違いだが
> そのスクリプト終了後にメモリから解放される
は正解。
0609nobodyさん2006/09/27(水) 01:22:05ID:S78j1V6H
>>608
>スクリプト終了=使われてた全メモリ解放だよ
よく考えたらそれはそうでしたね。分かってたのに勘違いしました。

>スクリプトの中でセッションを開始した時点で全部の内容がメモリに読み出され
ズバリその点について気になっていたのでした。
たとえば$_SESSION['A']、$_SESSION['B']、$_SESSION['C']とあった場合、
スクリプト中で$_SESSION['A']だけを使った場合、メモリに読み込まれるのは$_SESSION['A']だけなのか、
それともA〜Cまで全部セッション開始(session_start)時に全部読み込まれてしまうのか、
それが質問したい点でした。
0610nobodyさん2006/09/27(水) 01:28:24ID:???
>>592
どうなんだろうね。俺はこういうちゃんとした処理してるほうが好きだけど。
俺だったらis_boolも判断して0か1に変換するし。mysqlだとtrue,false使えないんだよね。
汎用性のある、エスケープするfunctionなりクラスなり作るならしっかりやっといた方がいいとは思う。

mysql_real_escape_stringのマニュアルでは、引数にstringとってる。
まぁ何にしろ正常に動作するなら、あとは好みの問題かなぁ・・・

>>600
magic_quotes_gpcがonで、addslashesすると2重にエスケープされちゃうでしょ。
俺はmagic_quotes_gpcがonだったらstripslashesしてDBのエスケープ関数使う派。
でもpostgresのpg_escape_stringは何か問題があるという記事を読んだような気が・・・もう1回調べよっと。
0611nobodyさん2006/09/27(水) 01:52:50ID:???
>>610
でもさ、数値かどうかを判定するロジックを仮に無くしたとして、
それで何か弊害が出るかい?

その判定ロジックを省いて、
とにかくmysql_real_escape_stringをかければ、結果は同じでしょう。
06126112006/09/27(水) 01:56:17ID:???
あと、サイテロ本では、クエリ内に「整数であることを期待される変数」を埋めこむときに、
intval()をかけないと致命的だ・・・とか書いてるけど、
俺はそうは思わない。

なぜなら、その変数をPOSTなどから受け取った時点で、is_numericやctype_digitなど
適切な手段にてしっかりバリデートしてれば問題ないわけで。
(むろん、この場合でもmysql_real_escape_stringは必須だが)
0613nobodyさん2006/09/27(水) 02:08:47ID:???
いや、だから「正常に動作するなら〜」って書いたじゃん。
好みの問題だから、そこをお互いどうこう言っても仕方ない。

postで受け取った時点でっていうのはあるね。俺も初めの頃はそうしてた。
でも毎回やるのが面倒になったから、DB用のクラスにエスケープするfunction作って、あとはデータ全部投げるだけ。
エスケープ以外のバリデートが必要なところはその場その場でやるけどね。

まぁ、それも好みの問題。

特に俺のDBクラスではいくつかのDBに対応させてて、magic_quotes_gpcがonの時にstripslashesするからfunction内でのis_boolチェックは必須。
06146112006/09/27(水) 02:15:59ID:???
>>613
う〜ん、どうせ同じ正常な結果が得られるのなら、
わざわざ好んで無駄なコードを増やさないほうがいい気がするけど…。

コードが1行増えるたびにセキュリティ・ホールやバグが発生する可能性が増えると思う。
無意味なコードを「好みで」増やすという思考がよく理解できない。
0615nobodyさん2006/09/27(水) 02:31:19ID:???
「データ型」というのが理解できてるなら、俺の「好み」も理解できると思うのだが。

もし「データ型」を理解していて、あえて型チェックしないコードを書くのは、まぁアリだと思う。
でも話から察するにそうでもないみたいだね。プログラムの基礎を学んだほうがいいかもしれない。

PHPはデータ型が緩い言語だから柔軟にコーディング出来るのは利点だけど、
「データ型」を意識しない(理解できていない)ところからくるセキュリティホールやバグもあるわけです。

「好みの問題」とは言ったけど、データ型を理解できていないなら好みの問題では済まされない。
少し勉強してみて下さい。
0616nobodyさん2006/09/27(水) 02:59:55ID:???
>>615
>>612の4行目を100回くらい読み直せ。

ついでに言うと、いまの話の流れで、データ型を考慮しないせいで
セキュリティ上の問題が発生するケースはありえない。
0617初心者2006/09/27(水) 03:04:17ID:???
PHPでサイトを作っていて
セキュリティーを意識した事は一度もないのですが
どんな怖いことがおきますか?
たまに鯖缶から突然PHPの停止を受ける事があるのですが
関係ありますか
鯖缶は外人なのでうまくコニュミニケーションがとれなくて
困ってます 教えてください
0618nobodyさん2006/09/27(水) 03:27:44ID:YNifcXJT
まずsageを半角で打てるようになるところから。
0619nobodyさん2006/09/27(水) 04:12:30ID:???
素朴な疑問だけど、magic_quotes_gpcがonになっていて.htaccessの
 php_flag magic_quotes_gpc off
も受け付けないサーバーって存在するの?
0620nobodyさん2006/09/27(水) 06:18:59ID:???
.htaccessそのものを受付ないやつはそんざいする
0621nobodyさん2006/09/27(水) 07:16:57ID:???
input type="hidden"は使わないほうがいいと聞くのですが、
なぜでしょうか?
また、使わないとすると代わりに何を使えばいいのでしょうか?
0622nobodyさん2006/09/27(水) 07:30:05ID:???
>>619
AllowOverride にOptionかAllが必要
0623nobodyさん2006/09/27(水) 07:34:32ID:???
>>621
データを持ち回すときにセキュリティーが必要な場合はセッションを使えってこと
普通の掲示板とかならhiddenで持ちまわしてもいい
0624nobodyさん2006/09/27(水) 08:41:36ID:???
>>623
どうもありがとうございます。
セッションですか・・・
ちょっとわからないので調べて勉強します。
0625nobodyさん2006/09/27(水) 08:45:41ID:???
tmp_fileをmove_upload_fileで移動させるのは、セキュリティ上、
良くないとどこかできいたのですが、本当でしょうか?
本当の場合、どうやって移動させるのがいいのでしょうか?
教えてください。
0626nobodyさん2006/09/27(水) 08:47:58ID:???
なんだそりゃ…
0627nobodyさん2006/09/27(水) 09:15:43ID:???
ちょうどmove_upload_file使ってたけど、
関数が定義されてないエラーが出て使えない・・・
PHPのバージョンは5.16。なんでだろう。
0628nobodyさん2006/09/27(水) 09:29:56ID:???
DBにINSERTするときに、htmlspecialcharsをしてINSERTするのですか?
別にする必要は無いですか?
0629nobodyさん2006/09/27(水) 12:28:30ID:???
>>623
そういう言い方は誤解を受ける。
hiddenだからセキュリティに問題があるとか、セッションだからセキュリティ的に安全ってわけじゃない。
どちらにしても入力データのバリデートや各種エスケープをしっかりやればいい。
もちろん、パスワードなど見せてはいけないデータをhiddenで持ちまわるのは厳禁。

>>628
とりあえずお前の認識は間違っている。
で、このスレを読み返すだけでも答えはあると思う。
0630nobodyさん2006/09/27(水) 12:34:45ID:???
mysql_real_escape_stringを行ってisertした値をDBから出して、出力するときは
、htmlspecailcharsをして出力するの!?
0631nobodyさん2006/09/27(水) 12:55:14ID:???
>>630

>>402->>422
ログぐらいみましょうね。
それとIDは表示してください。礼儀です。
0632nobodyさん2006/09/27(水) 12:59:55ID:???
>>402-422
と書いて欲しい俺ガイル
0633nobodyさん2006/09/27(水) 13:30:02ID:???
検査せずに使うと、穴をついてきた悪い子の策にハマる可能性がある
からな。
0634nobodyさん2006/09/27(水) 13:36:43ID:???
>>610
同感。自分も型チェックの分岐を書く。
stringを期待してる関数に他の型を渡す奴は低レベルとしか言いようがない。
0635nobodyさん2006/09/27(水) 13:58:46ID:???
>>187-188 を見ていろいろやってみたんですが、
SCRIPT_NAMEにもpathinfo入ってます。
レン鯖の場合どうするのがいいでしょう?

>> SCRIPT_NAMEにはPATH情報が無いのでこの問題は発生しません。
ttp://blog.ohgaki.net/index.php/yohgaki/2006/02/28/php_selfa_ma_a_ra_fa_fa_oa_a_sa_a_oa
>> apacheの設定で、pathinfoをonにすると明らかな差が現れました。
ttp://ml.php.gr.jp/pipermail/php-users/2003-June/016472.html
0636nobodyさん2006/09/27(水) 15:34:34ID:???
>>634=>>610、ジエン乙。
繰り返し言うが、mysql_real_escape_stringをかける段階において、
string型かどうかをチェックしなかったがために問題が発生するということは無い。

型の自動変換などを備えて、型について「わざわざ」甘くしてあるPHPにおいて、
不必要な場面まで型についてこだわるヤツこそ低レベルで馬鹿としか言いようがない。
悔しかったら型変換を怠った場合の問題点でも示してみたまえ(そんなもの無いけどね)。
06376342006/09/27(水) 16:19:34ID:???
俺は610ではないが?

お前アレだな。けっこうイタイな。
0638nobodyさん2006/09/27(水) 16:21:21ID:???
>>637
負け惜しみはいいからさ、早く具体的な問題事例があれば出してみろよwww
まさかとは思うけど、逃げんなよww
0639nobodyさん2006/09/27(水) 16:29:10ID:???
たしかに、型について無闇にこだわる痛いキモヲタは何%か存在する。
0640アチャコ2006/09/27(水) 16:44:56ID:???
ケンカは良くないと思います
0641nobodyさん2006/09/27(水) 16:48:16ID:???
俺もそこまで型に拘らなくてもいいと思う。

参考までに聞きたいが、↓の様なコードを実行する際
$_POST['hoge']をどんな感じにエスケープしてる?

$sql = "select * from test where data like '%".$_POST['hoge']."%'";
$result = mysql_query($sql);

俺はこんな感じの関数使ってる。

function sql_escape($sql){
  $sql = mysql_real_escape_string($sql);
  $sql = str_replace(array("%", "_"), array("\%", "\_"), $sql);
  return $sql;
}
0642nobodyさん2006/09/27(水) 17:08:42ID:???
PDO使っておけって
マジで
エスケープいらないから
06436342006/09/27(水) 17:29:28ID:???
%ってエスケープする必要あったっけ?
0644trab2006/09/27(水) 17:29:59ID:tKdESkZE
trabと申します。

早速ですがご質問です。

mail1.○○○.jp
mail2.○○○.jp
mail3.○○○.jp
という風に複数のメールサーバを用意して
phpのプログラム上から条件によって
メールサーバを選択してメール送信することは
可能でしょうか?

例えばAさんならmail1.○○○.jp、
Bさんならmail2.○○○.jpという具合です。
0645nobodyさん2006/09/27(水) 17:40:16ID:???
>>643
ttp://ww.mysql.com/doc/refman/4.1/ja/string-syntax.html

>>644
可能
0646trab2006/09/27(水) 18:00:57ID:tKdESkZE
nobodyさんへ

具体的にどのようにすればよいか
教えていただけないでしょうか?
0647nobodyさん2006/09/27(水) 18:29:23ID:???
今まさにノリノリのー
元気モリモリのー
色とりどりのー
トリオ!

さらにノビノビとー
このトビトビのー
語尾と語尾をつなぐ
喜び!
0648nobodyさん2006/09/27(水) 18:30:04ID:???
あ、'%'自体を検索するときか。
0649nobodyさん2006/09/27(水) 20:27:53ID:???
>>646
コード書いてから質問してくれ。
丸投げとか無理
0650nobodyさん2006/09/27(水) 20:32:44ID:???
>>644
送る人によってSMTPサーバを変える必要があんの?
0651nobodyさん2006/09/27(水) 20:45:28ID:???
セッション変数がよくわからんです
-----------st01.php
<?php #ファイルの先頭に記述
     session_start();
     $_SESSION['id']=0;
?>
<br><a href="st02.php">Session Test</a>

-----------st02.php
<?php #ファイルの先頭に記述
     session_start();
     echo $_SESSION['id'];
?>
<form method="post" action="st02.php">
<table border="1">
<tr>
<?php
     for($i=1;$i<10;$i++){
      echo "<td><input type=\"submit\" name=\"$i\" value=\"$i\"></td>";
       if(!empty($_POST['$i'])){
        $_SESSION['id']=$i;
       }
      }
?>
</tr>
</table>
</form>

各ボタン押したらそのボタンの値を表示させたいんだが0しか出ないよ(´・ω・`)
0652nobodyさん2006/09/27(水) 20:53:35ID:???
うわ、>>606らへんに書いてあった。参考にします。
すいませんすいません・・・orz
0653nobodyさん2006/09/27(水) 21:10:36ID:???
>>651
>if(!empty($_POST['$i'])){
問題はここにある
0654nobodyさん2006/09/27(水) 21:49:10ID:???
>>653
ありがとうございます。"$i"でくくったら出来ました。

でもクリック1回分遅れて表示してしまうので、正常には表示出来ません。
何とか上に表示させたいんですが、何か良い方法あればご教授を願いたいです。
0655nobodyさん2006/09/27(水) 21:51:23ID:???
すいません、自己解決しました。
for($i=1;$i<10;$i++){}の後ろにecho $_SESSION['id'];付けたら出来ました。
テーブルの下に表示されちゃうのではないのか?と思ったのですが
</table>タグの前なので表示されるんですね、気づきませんでした。
ありがとうございました。
0656nobodyさん2006/09/27(水) 21:54:27ID:???
クリックした値を表示したいだけなら、セッションの中身じゃなくて
$_POSTそのまま表示すれば良いだろ。

$_POSTで取った値をセッションに入れて、次のページに渡してるんだから
クリック1回遅れるのは当たり前。



0657nobodyさん2006/09/27(水) 21:58:25ID:???
エラーを一切表示したくないのですが、
すべて@で処理してもエラー文が1行表示されます。
まったく何も表示しないという事は無理なんですか?
■ このスレッドは過去ログ倉庫に格納されています