△▲ WebProg 初心者の質問 Part13 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/02/09(木) 16:05:29ID:???質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-3
0199nobodyさん
2006/03/02(木) 15:08:09ID:???0200nobodyさん
2006/03/03(金) 03:00:16ID:???DIVタグでうまくいきました。
IEだと、好きなアトリビュートをつかってもDOMで解釈してくれますが、
FFだと、インスペクタでは解釈されてるものの、スクリプトからはアクセスできませんね。
結局、害のなさそうなアトリビュートをstringの変数として使いました。
いっそ、jsファイルに、配列への代入式を列挙しても良かったかもしれません。
アリガトウございました。
0203nobodyさん
2006/03/03(金) 17:53:29ID:???携帯@N901i
0204199
2006/03/03(金) 19:08:05ID:???0205nobodyさん
2006/03/03(金) 22:01:00ID:???0206nobodyさん
2006/03/05(日) 09:42:43ID:DFwOEKgI実行しているスクリプト自身のURLを環境変数を使って取得する際
SCRIPT_URIで取得しようとすると、この変数はサーバーによっては
与えられてないことがあると聞いたので
SERVER_NAMEとSCRIPT_NAMEとSERVER_PORTを組み合わせて取得しようと思いますが
これら3つの変数も与えられていないことはあるんでしょうか?
0207nobodyさん
2006/03/05(日) 09:48:18ID:???走らせてみれば?
0208206
2006/03/05(日) 09:54:04ID:???取得できない可能性があるのか知りたいです。
0209nobodyさん
2006/03/05(日) 10:25:39ID:???負荷の問題がシビアでないならば
SCRIPT_URIがとれない場合は組み合わせから取得という処理にすればよいのでは?
0210nobodyさん
2006/03/05(日) 11:43:34ID:???紹介ID付きページの作り方が載っているプログラミング言語解説サイトを探しています。
できればPHPが良いのですが、知っていればサイト名もしくはURLを教えてください。
0211nobodyさん
2006/03/05(日) 11:55:59ID:???すぐにたどり着くと思うけど。
0212nobodyさん
2006/03/05(日) 13:17:01ID:HcMB9y3u青い枠を無くすにはどうすればいいですか?
0214nobodyさん
2006/03/05(日) 13:26:18ID:HcMB9y3uわざわざ板違いなのに答えてくださり、どうもありがとうございます。
0215nobodyさん
2006/03/05(日) 20:48:45ID:vCHMKEBIプログラムを書いているのですが、
日本語の文字列が格納されている配列から
ある特定の文字列を含む要素だけを取り出したいときにはどのような操作をすればいいんでしょうか?
0216nobodyさん
2006/03/05(日) 20:55:44ID:???0217nobodyさん
2006/03/05(日) 22:17:39ID:???× わざわざ板違いなのに答えてくださり、どうもありがとうございます。
○ 板違いなのにわざわざ答えてくださり、どうもありがとうございます。
0219nobodyさん
2006/03/06(月) 12:46:57ID:???0220nobodyさん
2006/03/06(月) 16:58:53ID:/O3rK/5Lとエラーが出てしまいます。
phpのfile_get_contentsなどを通して処理をしてみてもできないみたいです。
どなたか外部ドメインのXMLを読み込む方法をご存知でしたら教えてください。
宜しくお願いします。
0221nobodyさん
2006/03/06(月) 17:22:29ID:???0222nobodyさん
2006/03/06(月) 17:46:37ID:???0223nobodyさん
2006/03/06(月) 19:32:05ID:???0224nobodyさん
2006/03/06(月) 19:58:36ID:???何が適当で本当はどうなのか書かないと。ただの荒らしで適当なレス以下になっちゃうよ。
だから聞かせて。どのレスのどこが適当で、正しい答えは?
0225nobodyさん
2006/03/06(月) 21:13:02ID:/O3rK/5LRSSリーダーなどですと外部ドメインのXMLを読み込むことができますが、
どうしてできるのでしょうか。ソースを見てもよくわからないので。。。
教えてください。
0226nobodyさん
2006/03/06(月) 21:52:49ID:???0227shashin.us
2006/03/06(月) 22:57:45ID:0hKTKa0Shttp://shashin.us
0228nobodyさん
2006/03/06(月) 23:02:10ID:???初めてですかそうですか。で。
ものすごい勢いで広告・宣伝を報告するスレ 63
http://qb5.2ch.net/test/read.cgi/sec2chd/1141141884/
ここに貼ってくればいいんですか?
0229nobodyさん
2006/03/06(月) 23:30:41ID:???回転とかしたり、一気に移動したりしてると簡単にバグるのな
てゆか壁紙ぐらい自分で作るよw
0230nobodyさん
2006/03/06(月) 23:32:39ID:???とりあえず、いろいろ探しなはれ。
ttp://jsgt.org/mt/archives/01/000373.html
0231nobodyさん
2006/03/07(火) 02:38:22ID:1LGbU75n0233nobodyさん
2006/03/07(火) 03:41:44ID:???DBそのものやテーブルが存在しなかった時は自動的に作ってあげるのがいいのか、
DBは作成させてテーブルは自動的に作ってゲルのがいいのか、
DBからテーブルまで利用者に作らせるのがいいのか・・・
下手にスクリプトで作るより利用者に用意させたほうがいいとは思ったりしなくもないですが、
そこらへんはどうなんでしょか
0234nobodyさん
2006/03/07(火) 04:07:58ID:???0235nobodyさん
2006/03/07(火) 05:08:59ID:???慣れたら対話的に必要なテーブルの作成もできるようにする。XOOPSみたいなの。
0236nobodyさん
2006/03/07(火) 14:21:54ID:BZdlj2hHそうもSAFEMODEが有効になっているらしく、copy()やfopen()を使っても
Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 40327 is not allowed to access 〜〜
とエラーが出てしまいます。
どうにか解決方法はないものでしょうか・・・・
0237nobodyさん
2006/03/07(火) 14:37:45ID:???わざわざディレクトリを作る理由は?
ファイル構造の問題ならpathinfoを使えばすむと思うが。
0238nobodyさん
2006/03/07(火) 14:39:52ID:BZdlj2hHID登録をしてもらってユーザーが中にどんどんファイルを格納していくので
ディレクトリにばら撒いていくとまずいかと・・・・
0239nobodyさん
2006/03/07(火) 15:01:16ID:???0240nobodyさん
2006/03/07(火) 20:16:52ID:???Perlでアクセスしてきた人のIPを記述していくスクリプトを作りました。
仕様として日別にログを作ってIPを記述して行っているのですが
同日中の多重アクセスはIPを記述しないようにしたいのです。
どのように書いたらできるのか上手くわからず。。
是非教えてくださるとうれしいです。
スクリプトは以下のとおりです(一部)
open(OUT,">>$dayfile") || &error("error $dayfile");
print OUT "$host\n";
close(OUT);
ログは以下のとおりです。
2006-03-07.cgi
---------------------------
192.168.0.4
192.168.0.5
192.168.0.6
---------------------------
書き込む前にログにアクセス者のIPがすでに記述してあれば
追加記述しない、なければ記述する、という感じでよろしくお願いします。
0241nobodyさん
2006/03/07(火) 20:44:29ID:???chomp;
exit if $_ eq $host;
}
print OUT $host, "\n";
0242nobodyさん
2006/03/07(火) 20:52:32ID:???open(OUT, ">>log.dat");
seek(OUT, 0, 0);
while(my $readline = <OUT>){
$readline =~ s/\x0D\x0A|\x0D|\x0A//;
if($readline eq $ipaddr){
$exist = 1;
last;
}
}
if(!$exist){
seek(OUT, 0, 2);
print OUT $ipaddr . "\n";
}
close(OUT);
0243nobodyさん
2006/03/07(火) 20:57:41ID:???即レス有難う御座います。
なるほど。。
でも読み込んだ内容の中身と一致したらexit、
としてしまうとそのあとにもソースが続いてて。。
教えて君で申し訳ないっす。。
0244nobodyさん
2006/03/07(火) 21:00:21ID:???自分が書き込んでいる間に作ってくださっていたのですか。。
なんか・・・めっちゃ・・・すごい。。
早速今から試してきたいと思います!
また結果報告に参ります_(_ _)_
0245238
2006/03/07(火) 21:19:56ID:BZdlj2hHどういうことでしょうか??
0247nobodyさん
2006/03/07(火) 22:05:15ID:???無事できました!
フラグを作ってやればいいのですね。とても勉強になりました。
本当にどうも有り難う御座いました。
0248nobodyさん
2006/03/07(火) 23:37:52ID:???WRITE_IPLOG: {
open my $fh, '+>>', 'log.dat' # my $fhは5.6以降。5.005以前に対応するならIO::File
or die $!;
flock $fh, 2;
seek $fh, 0, 0; # a+を適切にサポートしていないプラットフォームでは必要
while (my $read = <$fh>) {
chomp $read;
last WRITE_IPLOG if $read eq $ipaddr;
}
print $fh $ipaddr, "\n";
} # スコープアウトで$fhは自動で閉じられる
0249nobodyさん
2006/03/08(水) 00:19:07ID:???なるほどなるほど、、そんな手法もあったのですね。。
今後のためにも早速保存させていただきました。
わざわざお手数をおかけし、感謝しております。
0250nobodyさん
2006/03/08(水) 00:57:26ID:P2DaxRs0$pass = $_POST["pass"];
$ok = "$id/$id.html";
$error_flag = 0;
$userlines = file($userlist);
for($i=0;$i<count($userlines);$i++){
list($user_id[$i],$user_pass[$i],$name[$i],$mail[$i])=split("<>",$userlines[$i]);
print "$user_id[$i]";
if("$user_id[$i]" == "$id"){
if("$user_pass[$i]" == "$pass"){
header("Location:$ok");
}else{
$error_flag = 1;
}
}else{
$error_flag = 2;
}
}
if($error_flag==1) echo "<p align='center'><font color='red'><b>パスワードが間違っています。</b></font></p>";
if($error_flag==2) echo "<p align='center'><font color='red'><b>IDが間違っています</b></font></p>";
このソースを実行すると、$userlistの文字が一文字づつしか読み込まれないのですが・・・・
ちなみに$userlistの中身は「guest<>guest」のように<>で区切られてかかれています。
読み込んだ$user_id[$i]をprintしてみると見事に1文字筒表示されてしまいます・・・・
0251nobodyさん
2006/03/08(水) 01:09:51ID:???実は、効率的なデータ作成補助的なデータベースを作りたいのです。
設計としては、
ーーーーーーーーーーーーーーーーーー
●親データグループA(カテゴリー) ●親データグループB(カテゴリー)
↓ ↓ ↓ ↓ ↓
●データグループA小A ●データグループA小B ●データグループA小C ●データグループB小A ●デー(ry
ーーーーーーーーーーーーーーーーーー
という風に 「あうとら(アウトラインプロセッサ)」 とかみたいに階層分けカテゴリ分けができて、
グループ数を自在に追加削除が可能なもので、
そこから 固体文字データ(仮に 「パピィ」)を選択クリックしたら、「パピィ」が 一覧Z に追記・コピーされる。
一覧Z(出力欄)幅、縦は、30行分くらい 横は80行分くらいが理想です、一杯、反映させるつもりなので。
なので、新しく、固体文字データB を選ぶと上書きはされずに一覧Z(出力欄)に追記という形が望ましいです。
更に、一覧(出力欄)も自在に追加削除が可能だと良いのですが。
どうでしょうか?
0252nobodyさん
2006/03/08(水) 01:21:10ID:???暇なので一緒に移動してきた。
で、まだ端折ってるのと、余計なのが多いのでエスパーが必要。
「追加」「削除」「反映」ってなに?
データグループって意味不明
一覧Zはどこ?
そもそもフォームの話?
0253251
2006/03/08(水) 01:29:08ID:???「追加」「削除」[データグループ]ようするに、データを入れる箱とでも言うか収納場所というか…そんな感じです。
それを増やしたり、減らしたり自在にできたら良いな、と。
>一覧Z(出力欄)
選択クリックしたデータを追記する場です。
どうでしょう?
0254nobodyさん
2006/03/08(水) 01:35:18ID:???0255251
2006/03/08(水) 01:44:42ID:???参照するデータが記録してある場所のつもりですがまだ、右も左も判らない状態なので…すいません。toriaezu
フォームのテキストエリアではないと思います。
フォームのテキストエリアが一覧Z(出力欄)のイメージです。
0256nobodyさん
2006/03/08(水) 01:48:59ID:???悪いけど、何がしたいのか自分でも判ってないみたいだから、今は諦めなさい。
基本的なところを覚えてからにしましょう。
とりあえずフォームから勉強して下さい。
0257251
2006/03/08(水) 02:02:47ID:???ここに私の理想に近い奴をあげときました。
これと先の説明で判ってもらえますか?
0258nobodyさん
2006/03/08(水) 02:10:27ID:???えっとですね、DB系のサイトとかは作ってるから、構造とか判ってるんですけど、
そちらが理解できていないので、話が進まない、という意味です。
フォームでなければinnerHTMLで表示とか、
指定したワードを送信してCGIで加工してHTMLを表示とか、
そういう言葉が出てこない以上、そちらの知識がまだ可能な範囲に到達していないと判断する訳です。
はやる気持ちもわかりますが、おさらいし直すことが目標への近道だと思いますよ。
最悪、有料で作ってもらって下さい。
サンプルのような機能をHTMLで実現するには、数こなさないとムリです。
0259251
2006/03/08(水) 02:39:26ID:???でも、お付き合いいただいてありがとうございました。
0260nobodyさん
2006/03/08(水) 02:43:10ID:???質問スレは、質問者のしたいことを聞いて回答する場所なので。
回答してもらえるように質問できないなら、それはまだムリだということです。
0261nobodyさん
2006/03/08(水) 06:02:23ID:???>251 は特務レベルのエスパーじゃないと解読不能 (;´Д`)
>255
>フォームのテキストエリアではないと思います。
あんたが作ってるんじゃないのかよ!とw
0262nobodyさん
2006/03/08(水) 06:51:26ID:???問題なさそうだけどな
$userlines = file($userlist); の後に
print_r($userlines);
で確認
質問とは関係ないが正規表現を使わないならsplitよりexplodeのほうがはるかに高速だとマニュアルには書いてある
それとLocationするとクライアントとの通信が無駄なので
require $ok; exit;
の方がいいよ。
それと変数だけを" "で囲むのも無駄
print $user_id[$i];
if($user_id[$i] == $id){
でおk
0263nobodyさん
2006/03/08(水) 12:27:32ID:ZIpXIBr9その受信メールを、自動的にエクセルやアクセスで管理してくれるようなソフトをおしりでしょうか??
お願いします。
0264nobodyさん
2006/03/08(水) 12:31:25ID:???http://pc8.2ch.net/test/read.cgi/php/992508432/73
必死すぎるのと「おしりでしょうか」が気に入らない
0266nobodyさん
2006/03/08(水) 13:07:50ID:???WebProgと無関係
よって終了
はい次
0267nobodyさん
2006/03/08(水) 13:18:47ID:???その受信メールを、自動的にエクセルやアクセスで管理してくれるようなソフトを知ってますか??
お願いします。
0268nobodyさん
2006/03/08(水) 13:24:00ID:???板違い
0269nobodyさん
2006/03/08(水) 14:29:52ID:P2DaxRs0ご指導ありがとうございます
$userlinesは<>区切りの1行づつが格納されてるのですが、
分割して表示するとやはり1文字になってました
explodeなんかも試してみます
0270nobodyさん
2006/03/08(水) 16:05:42ID:???(アク禁条件)のあと
・RewriteRule ^/~ch/hoge/(.*)$ /~ch/fuga/$1 [NC] (1)
・RewriteRule ^/~bbbb/iii/(.*)$ /~cccc/hhh/$1 [NC] (2)
一つの条件について(1)と(2)の複数のルールを適応させるにはどうすればいいんでしょうか
そのまま並べてしまうとアク禁条件に関係なく常に全員に(2)が適応されてしまいますよね
[C]やら[S]やら試してみましたがよく分かりません。。。
0271nobodyさん
2006/03/08(水) 16:30:17ID:???やりたいことが良くわからないが
アク禁条件のものをRewriteしたいということなのかな
Manualにあったけどこんな感じ?
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
RewriteRule ^/$ /homepage.max.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
RewriteRule ^/$ /homepage.min.html [L]
RewriteRule ^/$ /homepage.std.html [L]
[L]はLastで条件が合ったらそこで終わり
0272nobodyさん
2006/03/08(水) 16:42:51ID:???ついでに、正規表現使って分割する場合もsplitよりpreg_split関数の方が高速。
更にバイナリセーフという点もある。
どうでもいいけどループ継続条件で毎回count関数が呼ばれるのは冗長な気がしないでもない。
0273nobodyさん
2006/03/08(水) 16:57:09ID:P2DaxRs0C言語と関数も云々も似てるし、変数の楽だということでCから来たもので
for文しか使えないという・・・・
0274nobodyさん
2006/03/08(水) 17:06:24ID:???Cやってた人ならなおさらループの前に
$linenum = count($userlines);
みたいなのを仕込んでおいて
ループ時にいちいちcount()が呼ばれない方向にしがちな気がする…のは俺だけなのかな?
「動きゃいい」のであのループ条件で別によいのですが。
0275nobodyさん
2006/03/08(水) 17:08:38ID:P2DaxRs0そのほうがどうせ何回も呼び出すことになりそうだから楽チンですね
リファレンス見るとforreach()ってのもあるらしいですけど、
これは使う前に$userlistの行数を判定しなければならないわけですよね?
0276272
2006/03/08(水) 17:11:03ID:???PHPはマニュアルがWeb上にあるから、調べながらやるといいと思う。
0277272
2006/03/08(水) 17:14:22ID:???foreach構文は配列の要素数だけループする。
foreach($array as $value)
foreach($array as $key => $value)
配列の要素を全て吐き出すまでループさせるわけだから、行数なんて知らなくても問題ない。
0278nobodyさん
2006/03/08(水) 17:14:35ID:???行数判定要らないです。リファレンスに書いてあるとおり。
まともな説明と例があるはずなのでリファレンスよく読んでください。
Perl/PHPでは使われまくりです。
0279270
2006/03/08(水) 17:21:43ID:???アク禁条件が膨大なのでオーバーヘッドが大きくなりそう&スマートじゃないんでイヤなんですよね
0280nobodyさん
2006/03/08(水) 17:25:45ID:P2DaxRs0どうもありがとうございます
web上にリファレンスあるのってものすごく便利ですよね
テキストエディタさえあればコンパイラも要らないし。
0281nobodyさん
2006/03/08(水) 17:30:29ID:???本も一冊は持っておいたほうがいいよ。
便所で気張ってる間に読めるしね。
0282nobodyさん
2006/03/10(金) 02:42:50ID:PHTY4Iguデータをテキストファイルに保存するというやり方はマズいのでしょうか?
データベースの方が重くなってしまうような気がするんですが・・・
ASPで作ります。よろしくおねがいします。
0283nobodyさん
2006/03/10(金) 02:55:43ID:???重いかどうかなんて、使い方が悪いだけでしょ。
データベース板のぞいてこれば?
0285nobodyさん
2006/03/10(金) 03:44:32ID:???でも、HTじゃなくて物理的にCPUがDUALで、メモリは2GB以上で、RAID5なら一緒でもいいかも
0286nobodyさん
2006/03/10(金) 09:54:31ID:???掲示板程度の使い方で影響が出るもんでもない。
DBでやるとテキストでやるより面倒なコーディングが減っていいと思いますよ
0287nobodyさん
2006/03/10(金) 15:28:32ID:???0288nobodyさん
2006/03/10(金) 17:05:32ID:???レッツPHPのbasic認証のパス失敗したらlog残すみたいな
スクリプト配布しているところ知りません?
0290nobodyさん
2006/03/10(金) 17:21:52ID:???0293nobodyさん
2006/03/10(金) 20:51:13ID:???そんな俺はPHP初心者なのでこれ以上はワカラナス
0295nobodyさん
2006/03/10(金) 23:31:37ID:???とりあえず今のところはbasic認証できればPHP
にアクセスしたらIPログ取得みたいなふうのがあればと思っています
IPログだけで問題はありません
■ このスレッドは過去ログ倉庫に格納されています