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

【PHP】くだらねぇ質問はここに書き込みやがれpart8

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/08/08(月) 01:18:55ID:54u1h4+D
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
0237nobodyさん2005/08/13(土) 17:58:28ID:js/pUsHi
$string="abcdefg";
とあったとして、$stringの上位1ビットを削除したいんですけど、
どすれば良いんでしょう。
0238nobodyさん2005/08/13(土) 18:06:13ID:???
こんなことはやったことがないけど、自分の管理下の鯖にコアの部分のphpを置いて、それを客鯖からinclude出来ないかな?

>>231
まぁ、その会社のために作ったには違いないけど、後々の修正やメンテ含め、今後の儲けにするハラもあったんで。
例えば、その会社と喧嘩した場合、うちと取引がなくなってもそのシステムは動き続けちゃうでしょ?
それは面白くない訳です。それで、よその会社が、システム運用を引き継いだりした日にゃ・・・もっとも、漏れの最強スパゲッティーソースが読めればの話。

>>235
先方も、別にそんなに深い考え(ソースを自分の手元に押さえたい)で、こういう事を言いだしたわけではないんですよ。
万一、プログラムに関する部分は、他の人が一文字でも手を入れたら一切サポートしないですよ。

>>236
自分の管理下の鯖に、システム置いて、客の鯖で、サブドメインつけて、それを自分のとこに飛ばしてもらうのもありかな。

でも最初に書いた「自分の管理下の鯖にコアの部分のphpを置いて、それを客鯖からinclude」ってのがよさそう。
0239nobodyさん2005/08/13(土) 18:06:52ID:???
substr
0240nobodyさん2005/08/13(土) 18:20:16ID:???
小数点以下を取得する関数ってありませんか?

5.12 → 0.12
18.3 → 0.3
0241nobodyさん2005/08/13(土) 18:30:04ID:???
>>238
客がだまされたと感じなければ別にいいと思うけど、
そういう客にトクにならない皮算用してると自分の知らないところで悪い噂が立ったりするよ。

前の開発会社が気に食わないからとかでシステム運用を引き継いだりすると、
たいていすっごい保守性が悪いコードなのはなぜだろうとよく考える。
保守コストがかさむとかの問題だろうか。

まぁ汚い方が再開発のいいきっかけになるから文句は言いません。
一回失敗しているところの方が何かとスムーズに話が出来るしね。

>>240
$a = 5.12;
echo $a - (int) $a;
とかでは?。べつに小数点以下を切り捨てる関数を使ってもいいけれど。
0242nobodyさん2005/08/13(土) 22:14:23ID:UF4ziiZ+
>>240
普通に切り捨てた数を引けばいいだろ。
くだらなすぎ。そういうスレかorz
0243nobodyさん2005/08/14(日) 01:17:45ID:???
質問させて下さい。

サーバへアップする前に、ローカル環境にて開発・テストを行っています。
ローカル環境はWindowsにApache2を入れ、PHP・MySQLを入れています。

複数のPHPのバージョンを切り替えたいのですが、簡単な方法は無いでしょうか?

PHPのDLLやINIをWindowsディレクトリやシステムディレクトリに入れる事無く、
起動することが出来れば(たとえば環境変数の切り替えるだけとか)、いいなと思っているのですが、
何か良い方法ってありませんか?
0244nobodyさん2005/08/14(日) 01:48:18ID:???
俺が教えて欲しいもんだ・・・

XAMPPで5と4の切り替えが出来るけど
0245nobodyさん2005/08/14(日) 02:20:17ID:???
>243
coLinuxやVMware/VirtualPC上にLAMP環境作るのが一番簡単じゃない?
02462372005/08/14(日) 02:39:25ID:???
>>239
ありがとうございました。substr($res,1)でいけました!
何度も質問ばかりで恐縮なんですが、特定の文字列があり
任意の文字移行切り捨てたい場合、どすればいいんでしょうか?
例えば、HIJ移行を切り捨てたい場合

$string="abcdefgHIJklmn";

を、

$string="abcdefg";

としたいんです・・・。昨日から本読んでるですがどうしてもわから
ないです。
0247nobodyさん2005/08/14(日) 03:11:27ID:???
"HIJ"っていう固定の文字列なら

.*HIJ?
ちなみにphpのマニュアルは読んだ事ありますか?
http://www.php.net/manual/ja/
0248nobodyさん2005/08/14(日) 03:33:48ID:???
>>246
// 方法1 (今回みたいな単純なものはこれがお勧め)
$pos = strpos($string, 'HIJ');
if ($pos !== false) $string = substr($string, 0, $pos);

// 方法2
if (preg_match('/(.*?)HIJ/', $string, $matches)) $string = $matches[1];

// 方法3
$string = preg_replace('/HIJ.*/', '', $string);

まだまだイパーイあるよ
0249nobodyさん2005/08/14(日) 08:57:06ID:???
>>228
Zendとかその他の暗号化ツールを買って使うのが一般的な方法でないの?
価格は結構するけど。暗号化サービスだけ提供もされてる。ただこれも高価。
色々調べてみたら? 他のサーバからincludeは薦められん。

0250nobodyさん2005/08/14(日) 09:58:00ID:???
>>243
php_flag zend.ze1_compatibility_mode On
0251nobodyさん2005/08/14(日) 10:31:53ID:???
>>243
CGIでよければ
ttp://cubic9.com/Devel/PHP/%A5%D0%A1%BC%A5%B8%A5%E7%A5%F3%A4%CE%B0%E3%A4%A6PHP%A4%C7%A4%CE%C6%B0%BA%EE%B3%CE%C7%A7%A4%F2%B4%CA%C3%B1%A4%CB/
試してないけど。
0252nobodyさん2005/08/14(日) 12:24:05ID:???
>>243
参考になるかどうか判らないけど、漏れがやっている方法。ちょっと長くなるけど。
切り替えているのは PHP4.3.10 と PHP4.4.0 ね。

1)4.3.10 と 4.4.0 を別ディレクトリにインストール。
2)4.3.10 と 4.4.0 用の httpd.conf をそれぞれ httpd-4.3.10.conf と httpd-4.4.0.conf として作成して
  LoadModule 行の php4apache2.dll のディレクトリを変更。
3) コマンドプロンプトを開いて Apache のサービスを2つ登録。
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.3.10" -f <Apacheディレクトリ>\conf\httpd-php4.3.10.conf
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.4.0" -f <Apacheディレクトリ>\conf\httpd-php4.4.0.conf
4) php.in と php4ts.dll を Windowsディレクトリにコピー。コピー時にそれぞれのバージョン用に名前を変更しておく。
  php.ini → C:\Windows\php-4.3.10.ini、C:\Windows\php-4.4.0.ini
  php4ts.dll → C:\Windows\System32\php4ts-4.3.10.dll、C:\Windows\System32\php4ts-4.4.0.dll
5) それぞれの起動用バッチファイルを作成。
  --- apache2-php4.3.10.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  copy /y c:\windows\php-4.3.10.ini c:\windows\php.ini
  copy /y c:\windows\system32\php4ts-4.3.10.dll c:\windows\system32\php4ts.dll
  net start apache2-php4.3.10

  --- apache2-php4.4.0.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  copy /y c:\windows\php-4.4.0.ini c:\windows\php.ini
  copy /y c:\windows\system32\php4ts-4.4.0.dll c:\windows\system32\php4ts.dll
  net start apache2-php4.4.0

apache2-php4.3.10.bat を実行すれば PHP4.3.10 で、apache2-php4.4.0.bat を実行すれば PHP4.4.0 で起動する。
0253nobodyさん2005/08/14(日) 12:29:42ID:???
なんかスマートじゃないよね。

俺も複数バージョンの切り替えって興味あるんだけど、
PHPのdllsやExtensionとかのDLLはクラスパスで通せば認識してくれるから、
問題はphp.iniとphp4apache2.dllの場所をどこかで指定して、
それを読み込ませればいいんだよな・・・

頭でわかっていても解決方法はわからん。
0254nobodyさん2005/08/14(日) 12:41:42ID:???
PCのパワーに余裕があるのなら、複数のapache(+php)を立ち上げるのも手だね。
基本はポート番号でphpのバージョンを切り替える。
使いやすいように、mod_writeやmod_proxyを使って拡張子で各apacheへ振り分ける
フロントエンドのapacheをたてれば手軽さ倍増かと。
0255nobodyさん2005/08/14(日) 12:54:20ID:???
お前らに聞きたいんだが、なんでそこまでしてWindows+ApacheでPHP動かしたいんだ?
>245でいいじゃん?
実行環境がWindowsServerとかなのか?
0256nobodyさん2005/08/14(日) 13:06:37ID:???
>>249
>他のサーバからincludeは薦められん。
その理由とは?
また、そこらへんの事について言及した参考サイトなどあれば教えてください
0257nobodyさん2005/08/14(日) 13:26:48ID:???
>>255
鯖へアップする前の開発とテスト用。

coLinuxやVMWare/VirtualPCだとPHPのテストの為に、
複数のOSをHDDに入れなきゃいけない。(無駄が多い)
0258nobodyさん2005/08/14(日) 14:17:05ID:???
写メールBBSで、うpファイル名を時間+拡張子したいのですがうまくいきません
pop.phpの
if (!$original) $filename = time()."-".$filename;
}
をいじくればいいと思うのですが解る方教えてください。
0259nobodyさん2005/08/14(日) 14:17:48ID:???
PHPで

◎
  ◎
  ○
  ○
○
  ○
  ○

このようなラジオボタンを作ることはできるのでしょうか?
一段目の二つ目のラジオボタンを選択すると、二段目の上から四つ目のラジオボタンも自動的にチェックされます。
0260nobodyさん2005/08/14(日) 14:22:33ID:???
>>258
写メールBBSとやらをググって探すのが面倒。ダウンロードして解凍して回答するのが面倒(クスクス)。

$filename = time()."-".$filename;
つーのは、この行以前に値が入っている$filenameという変数の先頭に、
time()で取得できるunixタイムスタンプと「-」という文字を連結し、
それを新しく$filenameの値とする事を意味する。
その部分でそういう処理をすることを望んでいるのかね?
0261nobodyさん2005/08/14(日) 14:26:29ID:???
>>259
PHPは鯖側で動作するので、
ラジオボタンを選択してsubmitボタンとかで鯖に送信し、
希望するチェック状態(<input type="radio" 〜 checked>でチェック状態になる)のhtmlを出力する。
クライアント側(ブラウザ)でやりたい場合は、JavaScriptを使う。
0262nobodyさん2005/08/14(日) 14:29:17ID:???
>>259
それはHTML+javascriptでやることだ
0263nobodyさん2005/08/14(日) 16:51:44ID:???
$result1 = mysql_query("SELECT * WHERE type='0'")

で$resultに結果を格納した後に、さらに$result1の結果を反映している状態で

mysql_query()を使って結果を出すことは可能なのでしょうか?
02642522005/08/14(日) 17:10:12ID:???
先の方法(>>252)で PHP5 も同様に切り替えていたんだが。。。
PHP5 では php5ts.dll のコピーはしていないことに気付いて調べてみたら単に Apache モジュールと
同じディレクトリに置いておけば良かった模様。
また Apache の PHPIniDir ディレクティブで php.ini の置き場所を設定できることを発見したので先の方法を訂正。
>>253 さんの言うとおりスマートぢゃないのは変わらないけどね。また長くなって申し訳ない。

例として PHP4.3.10 を c:\php4.3.10、PHP4.4.0 を c:\php4.4.0 にインストールしたとする。

1)4.3.10 と 4.4.0 用の httpd.conf をそれぞれ httpd-4.3.10.conf と httpd-4.4.0.conf として作成して以下を設定。
  LoadModule php4_module php4apache2.dllのフルパス
  PHPIniDir php.iniが存在するディレクトリ
2)それぞれのバージョン用の php4ts.dll を c:\php4.3.10\sapi、c:\php4.4.0\sapi にコピー。
3) コマンドプロンプトを開いて Apache のサービスを2つ登録。
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.3.10" -f <Apacheディレクトリ>\conf\httpd-php4.3.10.conf
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.4.0" -f <Apacheディレクトリ>\conf\httpd-php4.4.0.conf
4) それぞれの起動用バッチファイルを作成。
  --- apache2-php4.3.10.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  net start apache2-php4.3.10

  --- apache2-php4.4.0.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  net start apache2-php4.4.0

apache2-php4.3.10.bat を実行すれば PHP4.3.10 で、apache2-php4.4.0.bat を実行すれば PHP4.4.0 で起動する。
>>254 さんが言っている複数の Apache を異なるポートで動作させる場合も1)、2)は使えるはず。
0265nobodyさん2005/08/14(日) 18:00:39ID:???
php.iniを指定できるなら、Apacheを複数登録する必要あるのかなぁ・・・

httpd.confで、複数のバージョンの定義をしておいて、使わない奴はコメントアウトしておいて、
切り替えたい時に、コメントアウトする場所を変えて、Apache再起動でよくない?
0266从'ャ')2005/08/14(日) 20:17:01ID:???
ちくしょー
ローカルで試したらMySQLにつながらんねー
Can't connect to MySQL server on 'localhost' (10061)

mysql.exeでMySQLに繋がるし、借りてる無料スペースだと動くので
何かが悪いのだろうけど
apacheもPHPもはじめたばかり、何が悪いかわからん。

WindowsXPです。
0267nobodyさん2005/08/14(日) 20:21:47ID:???
>>266
まさかローカルからレンタルスペースに置いてるDBへ接続するのに
localhostで指定してる?
外部からだとipなりで繋がないと繋がらないべさ
0268从'ャ')2005/08/14(日) 20:30:52ID:???
ローカルにもMySQL入れました。
はじめたばかりの俺が
本とかみながら設定したので何か不足があるのだろうけど
わからん。

MySQL Server Instance Config Wizard
いじってたらMySQLサービスが起動エラーになるようになってしまった。
悪化!
0269nobodyさん2005/08/14(日) 20:35:54ID:???
PHPという訳じゃないんだけど質問が。

HTMLのタグの属性とCSSってどうやって使い分けるのがベストなの?
タグで属性指定するものは、大抵CSSやSTYLE属性で指定出来る。

デザイン系のHPとか見ても、両方がごちゃまぜに使われてる場合が多い。

この属性はCSSやSTYLEで指定すべきとか
タグでこの属性を設定するのは推奨できないとかの指針みたいなのってどっかに公開されてないの?
0270nobodyさん2005/08/14(日) 20:39:33ID:???
>>268
日記はジャポニカ日記帳へ。
質問があるなら的確な状況説明を。

>>269
web制作板があるでよ
0271从'ャ')2005/08/14(日) 21:19:22ID:???
my.iniのバックアップがあったのでサービスは復活した。
mysql -u xxxx -pyyyyで使えたのはmysqlパイプ接続だかららしいと推測。
0272从'ャ')2005/08/14(日) 21:30:45ID:???
MySQL Server Instance Config Wizard
を使うとmysqlサービスが起動できなくなるので、
バックアップを参考に手動でmy.iniをいじってpipeをportにしたら
PHPのmysql_connectが成功するようになりました。
ありがとうございました。
0273nobodyさん2005/08/14(日) 21:40:31ID:BEaEv0Pj
初歩的な質問になりますがお許しください。

たとえば通信販売などで、WEBから注文をもらい、その顧客のデータを
データベース化するというような一連の流れをおこなうにはphpというものとSQLというものを勉強すれば作成可能でしょうか??
WEBフォームを作成し、顧客が入力したデータをデータベースとして保存したいのですが。
0274nobodyさん2005/08/14(日) 21:52:48ID:???
>>273
まぁPHPが一番簡単だろうね。なんでもいいよw
0275nobodyさん2005/08/14(日) 22:41:17ID:???
PHPを勉強しようと思い、自分のWindowsXPのパソコンにXAMPPってやつを入れました。
説明サイトを見つつ設定をして、実際にPHPを入れたらちゃんと動いたのですが、
エンコードがなぜか西ヨーロッパ言語(ISO)ってやつになっちゃうんです。
<META>タグで文字コード指定しても文字化けするし、ブラウザのエンコードで戻しても、
リロードするとまた西ヨーロッパ言語に戻ってしまうのです。

最初から文字化けしないようにするにはどうしたらよいのでしょう…
0276nobodyさん2005/08/14(日) 22:42:02ID:???
>>273
単純に顧客データをデータベース化したいというなら、
PHPやSQLを勉強すればいい。

ただし、現在は個人情報保護法がある事を忘れずに。
適切にセキュリティやルールを設けないと個人情報保護”法”というように、
違法となるのでご注意を。
0277nobodyさん2005/08/14(日) 22:47:18ID:4hBW2DKT
http://m.pic.to/2t65b
0278nobodyさん2005/08/14(日) 22:58:32ID:???
>>275
webサーバが付けるhttpヘッダに、
Content-Type: text/html; charset=iso-8859-1 が含まれてるんじゃないかな。
ttp://httpd.apache.org/docs/2.0/ja/mod/core.html#adddefaultcharset
02792732005/08/14(日) 23:10:10ID:BEaEv0Pj
>>274,276
ありがとうございます。
最初はこれを見とけみたいなサイトとかありますか?
初歩を勉強したいのですが。
0280从'ャ')2005/08/14(日) 23:21:13ID:???
今度はローカルで実行すると文字化け
無料スペースだと問題なし

質問をするスレ
↓
?遡笋鬚?る

たぶんまたMySQLの設定が悪いんだと思うが、
なんだろう?
0281nobodyさん2005/08/14(日) 23:30:24ID:???
>>280
一連のカキコ見たけど、独り言を言って自己レスしているだけにしか見えないんだが。
助けて欲しいのなら環境等も含めて状況を具体的に書きなよ。
夏休みの日記だったらさっさと消えてくれや。
02822752005/08/14(日) 23:36:18ID:???
>>278
情報ありがとうございます!まさにそれが原因だったみたいです;
設定ファイルでiso-8859-1と検索してそこを直したら文字化けしないようになりました!
どうもありがとうございました。
0283nobodyさん2005/08/14(日) 23:43:56ID:???
>>281 はい。わかりました。
0284nobodyさん2005/08/14(日) 23:45:57ID:???
>>282
今のApacheの設定ファイルだとその問題は出ないはずなんだが。
古いXAMPPをインストールしてない?
02852752005/08/15(月) 00:05:54ID:???
>>284
Σそうなんですか!?
ttp://www.apachefriends.org/en/xampp-windows.html
こっから落としたやつなんですが…
昨日今日始めたばかりの初心者なものでよくわかりません;すみません;
0286nobodyさん2005/08/15(月) 01:07:47ID:???
>>256の件だけど、
別鯖にfunctionを書いたphpをおいて、それを、メインの鯖のphpの中でincludeした場合、functionを書いたphpのソースのfunction定義だけをメイン鯖に送り返すってことでよいんでしょうか?
0287nobodyさん2005/08/15(月) 01:33:02ID:???
include=ファイルの内容全てが参照元ファイルに記述された状態になる
ってことじゃないの?
0288nobodyさん2005/08/15(月) 08:35:32ID:???
>>228
遅漏ぎみでスマソ
別鯖に置く理由が「勝手な改ざんを防ぐ」なら多少なりとも効果はあるけど、
「知的所有権を守るため」ってなら意味無いね。
だって元鯖内のソース参照出来れば、別鯖内のソース格納場所はバレバレ。
元鯖内からfilegetしたらそれまで…

ま、そこまでして入手するだけの価値があればの話だけどね。
0289nobodyさん2005/08/15(月) 10:19:45ID:???
>>228
使ったこと無いけど、Zend買わんでもTurak MMCacheにソースの
暗号化機能があった希ガス。
0290nobodyさん2005/08/15(月) 10:25:51ID:???
>>288
>元鯖内からfilegetしたらそれまで
たとえ、ファイルの格納先のURLがわかったところで、そこにftpで入らない限りソースは持って来れないんじゃないの?
パース結果は帰ってくるだろうけど。
結局、なにかechoかprintでもしてないかぎり真っ白。
>>228のいうfunction定義だけを書いたファイルを直で叩いた結果しか取得出来ないはず。
そうじゃないと、DBName,id,passなんかを書いたconn.phpをhttpから持って来れたらえらいことになるじゃん。
0291nobodyさん2005/08/15(月) 10:56:43ID:???
>>290
>たとえ、ファイルの格納先のURLがわかったところで、そこにftpで入らない限りソースは持って来れないんじゃないの?
>パース結果は帰ってくるだろうけど。
>結局、なにかechoかprintでもしてないかぎり真っ白。

そういった設定にした場合、includeした場合でもパースされた結果か真っ白だよね。
つまり、ちゃんとincludeさせるためにはPHPのコードがそのまま出力されないと意味が無い。

つまり、格納先が分かれば丸見え。
逆にこういった設定にしないと適切にincludeできない。
0292nobodyさん2005/08/15(月) 13:48:19ID:cojv7JdT
プログラミングもまったくの初心者がPHPを勉強してHPを作成できるようになるまでどれぐらいかかりますか?
ほんとの初歩の初歩から勉強したいのですがどういったことから始めればよいでしょうか?
0293nobodyさん2005/08/15(月) 14:06:38ID:???
>>292
最速で
HTML覚える→PHP覚える
以上
0294nobodyさん2005/08/15(月) 14:11:45ID:???
HPを作成したいだけならPHPいらんでそ。
0295nobodyさん2005/08/15(月) 15:26:12ID:???
>292
逆に、PHPで何をやりたいのか聞きたい。
まあ何はなくともまずHTMLだな。
02962922005/08/15(月) 15:31:40ID:???
HTMLとPHPは違う物なのですか?
0297nobodyさん2005/08/15(月) 15:37:25ID:???
>>291
>>228が隠したいのはfunctionでしょ?
>ちゃんとincludeさせるためにはPHPのコードがそのまま出力されないと意味が無い。
htmlをincludeで表示させたい訳じゃないんでは?
functionは実行しない限りなにも吐かないけど、includeすれば、ちゃんとユーザー定義関数として、親ファイルの鯖で使われるんでは?
0298nobodyさん2005/08/15(月) 15:45:00ID:???
>>296
違うからまずはHTMLを覚えな
0299nobodyさん2005/08/15(月) 15:53:10ID:cojv7JdT
よく通信販売のwebサイトで(例えば楽天など)、一度目の買い物の時に個人情報を登録して、
二度目からはIDやPWを入れるだけで買い物ができるようなシステムはPHPを使って作るのですか?
また、そのデータをサーバー上で管理するにはSQLを使うのですか?
具体的にどうすればよいのかわからず困っています。
どういったことから勉強すればよいでしょうか?
0300nobodyさん2005/08/15(月) 16:02:14ID:???
>>299
他の言語でもPHPでも出来る。
まずHello Worldを出力してみそ。
0301nobodyさん2005/08/15(月) 16:24:56ID:???
>>299
PHPじゃくてもJAVAやperlでもできる。
出来るかどうかについては言語はそれほど関係ない。
データの管理はリレーショナルデータベース(RDB)を使うのが主流。
SQLはそれを操作するための言語。

具体的にどう言う理由で質問したかによってこれからすべきことは変わると思う。

時間的に余裕があり上記のようなシステムを地力で構築したいなら、まずはしっかりとPHP、HTML、HTTP、RDBそれからセキュリティを学ぶ。電子商取引システムをつくるなら付け焼き刃の知識で作るべきではない。

続く
03023012005/08/15(月) 16:29:32ID:???
一方、早いうちにそのようなシステムが必要なら、
自力解決は諦めて委託した方がよい。
金銭トラブルや個人情報漏洩が起きたら厄介だ。

まぁ頑張れ
0303nobodyさん2005/08/15(月) 16:42:39ID:VKc1C+7u
すいません。
Cookieをperlで取得しようとしているのですが、どの板に質問すれば良いのでしょうか?
perl初心者スレでは板違いと言われました。
0304nobodyさん2005/08/15(月) 16:50:41ID:???
>>303
ここはPHPに関する質問スレだからここもスレ違いだな・・
perl と cookie でぐぐれば即効で見つかるぞ
0305nobodyさん2005/08/15(月) 17:34:13ID:???
>>263
>$result1 = mysql_query("SELECT * WHERE type='0'")
>で$resultに結果を格納した後に、さらに$result1の結果を反映している状態で

どこで$resultに結果を格納してんだ?
「$result1の結果を反映」とは?「結果を格納」と同義か。
0306nobodyさん2005/08/15(月) 17:42:21ID:???
こんにちは。
PHP+MySQLでアンケートを作っているのですが、
*--------------------------------------------*
//データベースより動向希望を取得
for($s_g = 0 ; $s_g <= $rowg ; $s_g++) {
for($s_s = 0 ; $s_s <= 8 ; $s_s++) {
$sql= "select * from $conf[prefix]sTable where group = '&s_g' and select = '$s_s'";
$result= mysql_query ($sql , $con);
$s_num[$s_g][$s_s]= mysql_num_rows($result);
}
}
*--------------------------------------------*
という投票数を取得してグループ毎に投票数を$s_num[$s_g][$s_s]に格納したいのですが
どうもうまく取得か格納ができていないようなのです。
そもそも多次元配列の使い方がこれで合っているのか、多次元配列に格納できるかということもいまいち分からないのですが、
どこで詰まっているのか指摘お願いできませんでしょうか。
03073062005/08/15(月) 17:43:54ID:???
すいません、
$sql= "select * from $conf[prefix]sTable where group = '&s_g' and select = '$s_s'";
は
$sql= "select * from $conf[prefix]sTable where group = '&s_g' and g_select = '$s_s'";
です。
0308nobodyさん2005/08/15(月) 18:08:13ID:???
データベースにある件数のみを取得したいならSQL関数のcount()を使うべきでしょ。
必要な項目でグループ化させてそれぞれの件数を取得すればいいような。
いちいちselect文発行はいかがなものかと。
配列に数値がちゃんと入ってるかどうかはprint_rで確認できる。
SQL文の中の「$conf[prefix]sTable」ってのはテーブル名?
配列のキーに""がないのが気になるし、そのままスペースなしにアルファベットをくっつけて書いていいもんだっけ?
まぁmysqlのエラーがでてないのなら問題ないのかも知んないけど。
03093062005/08/15(月) 18:17:00ID:???
>>308
ご指摘ありがとうございます。
言われたことを試してみたいとおもいます。
0310nobodyさん2005/08/15(月) 18:32:13ID:???
>>306
308 が言うとおり普通は SQL でグループ化して count() で取得するのが普通で
ループしながらSQL を発行するようなことはしない。
そのやり方に直すべきなんだが、現状で気になるところだけ。
・SQLの group の部分は g_group の間違い?
 group で正しいのなら group ってのは SQL のキーワードだから `group` としなければいけない。
・SQL の group = '&s_g' は group = '$s_g' の間違い?
 & で正しいのならどういう意味なんだ?
まずは以下のように変更してみて、取得できているか、いないのかを切り分けてみたらどうだ?
//$s_num[$s_g][$s_s]= mysql_num_rows($result);
$cnt = mysql_num_rows($result);
echo "$s_g, $s_s, $cnt";

多次元配列の使い方は一応合っている。オマイさんが期待している通りの並びで格納されるかどうかは別として。
0311nobodyさん2005/08/15(月) 21:06:38ID:???
PHPとMySQLを使用しています。

いくつか文字を調べたところ、
半角のイウオキケサシスセミなどが?になります。

環境は
 Windows
 MySQL 5.0.7-beta
 PHP 5.0.4
 apache 2.0.5.4
です。

色々調べ設定を変えて、
コンソールのmysqlでstatusを実行し、
 Server characterset: ujis
 Db characterset: ujis
 Client characterset: ujis
 Conn. characterset: ujis
と表示されるようにしました。

PHPで
mysql_client_encoding が latin1
となるのが原因ではないかと思います。
しかし、これをujisに変える方法がわかりません。

文字ばけを直す方法がわかりません。
よろしくお願いします。
0312nobodyさん2005/08/15(月) 21:28:02ID:???
>>311
PHPからmysql_connectした後、以下を実行
mysql_query('SET NAMES ujis')
03133112005/08/15(月) 21:56:37ID:???
>>312
ありがとうございます。

mysql_client_encodingは変わらないままで、
今まで入れてたテスト用データは違う文字化けにかわりました。

新たに入れたデータは文字化けせずに表示できました。
03143122005/08/15(月) 22:38:52ID:???
>>313 オメ。
mysql_client_encodingは「現在」のエンコーディングを返すのではなくて
「デフォルト」のエンコーディングを返すから SET NAMES ujis をしても変わらない。
そういう意味ではあまり使い道の関数ではある。
どっちにしてもmysql_client_encodingという関数名が悪いわな。勘違いしてもしょうがない。
0315nobodyさん2005/08/16(火) 16:25:31ID:ug9nnH3B
PHPでアクセスアナライザ作っているんだけど
閲覧者が各ページをどのくらいの時間見てたか
調べる方法って無いよね?
0316nobodyさん2005/08/16(火) 16:28:35ID:???
うん
0317nobodyさん2005/08/16(火) 17:16:44ID:???
>>315
自分のサイト内の移動だけならわかるけどね
トップだけアクセスしてさよならだとわからないな(多分数秒間しかみてないんだろうけど)
0318nobodyさん2005/08/16(火) 21:42:28ID:ug9nnH3B
>>316
紛らわしいな。質問の仕方を変えよう。

閲覧者が各ページをどのくらいの時間見てたか
調べる方法って有るよね?

>>317
> 多分数秒間しかみてないんだろうけど

知らぬが仏か(´・ω・`)・・・
0319nobodyさん2005/08/16(火) 21:48:59ID:Dz1ale7l
パールのサブルーチンってPHPだとなににあたりますか?
0320nobodyさん2005/08/16(火) 21:49:37ID:???
関数
0321nobodyさん2005/08/16(火) 21:50:30ID:Dz1ale7l
サンクスコ!
0322nobodyさん2005/08/16(火) 22:22:10ID:???
>>318
俺は回線が細いので、タブで多数開いて
そのまま表示が終わるのに時間が掛かるので、
飯食ったり何か他の事して表示完了してるの忘れて
放ったらかしのことが良くあるが。
そんな感じの人が閲覧してる時間なんてどうやって測るの?
03233162005/08/16(火) 22:27:13ID:???
・閲覧者の識別はIPアドレスで行うものとする。
・次のページが読み込まれるまでを閲覧時間とする。
・上記の閲覧時間が一定時間以上の場合は、新規の閲覧とする。
てな感じの決め付けをすれば、まぁ可能といえるかと。
0324nobodyさん2005/08/16(火) 22:30:34ID:VZdxCnFL
$nが数値の文字列の場合
123 -123 567.01 etc
これが正の整数であるか調べるにはどうしますか?
0325nobodyさん2005/08/16(火) 22:42:04ID:???
つ [ 比較演算子 ]
0326nobodyさん2005/08/17(水) 01:13:45ID:???
ttp://www.plathome.co.jp
ここのサイトPHPで作られているんですけど、
どのように作られているのでしょうか。

mojaviとか使われているのでしょうか。
0327nobodyさん2005/08/17(水) 01:52:02ID:???
今頃になってやっとPHP5へ移行中なのですが、PDFlib-Liteを使えてる方いますか?
./configure --helpをみても--with(enable?)-pdflib=[DIR]が無くなっているようで
PHP4のようにはセットアップできないのですが。
0328nobodyさん2005/08/17(水) 03:41:29ID:???
>>318
同一のサーバ内でページ移ったときだけ計測するなら>>323でいけるだろうけど、あまり意味のある統計はとれなさそう。
例えばどっかのページ開いて、じっくり読んで、読み終わったあとすぐブラウザを閉じた場合なんてどうなるよ?
せっかく読んでくれたにもかかわらず、ページ開いて即ブラウザを閉じた場合と同じ扱いになるわけでしょ?
それに>>322みたいに「開いているけど見ていない」状態だって少なからずあるだろうし。
それでもやってみたいならやってみ。結果報告も忘れずに。
他の方法として、もしアクセスが少ないとか、サーバ側がハイスペックな場合は、
Ajaxで定期的に情報送信って手もあるかも。
もしくはあるところまでスクロールしたら情報送信とか(これは時間計測にはならないか)。
0329nobodyさん2005/08/17(水) 06:25:44ID:???
>>328
仮に他サイトへ飛ぶまでの時間を計れるとしても同じじゃん。見てるか見てないかなんてどんなプログラムでもわからんし。
03303282005/08/17(水) 06:55:48ID:???
>>329
あー、見てるか見てないかまで計るのはそもそも不可能ってのは当たり前って感じで書いてた。
言葉足らずでスマソ。
ま、実現するには世界中のネット端末に監視カメラでもつけるしかない罠。
無理無理。
0331nobodyさん2005/08/17(水) 07:28:06ID:???
>>324
is_numeric($n) and is_int($n) and $n > 0
0332nobodyさん2005/08/17(水) 07:30:06ID:???
>>324
preg_match("/^\d+$/", $n);
0333nobodyさん2005/08/17(水) 08:51:25ID:???
ヒント:スパイウェア
ただし逮捕されても知りません。
0334nobodyさん2005/08/17(水) 08:58:08ID:???
>>332
0がマッチしちゃうからダメじゃね?
0335nobodyさん2005/08/17(水) 13:21:48ID:???
>>318
各ページ内に極小のIFRAMEでも切っておいて、
その中でページ単位のユニークIDを引数に、
カウンタースクリプトを一分間隔程度でリロードさせ続ける。

カウンタースクリプトでは、
クライアントIPとページIDを紐付けながら、
表示時間を計測・DB化し続ける。

なんて方法で、大まかな取得は出来る。
ただし、信頼性という意味では、前述の通り。
0336nobodyさん2005/08/17(水) 13:22:27ID:lvwFkGR5
質問とも呼べない下らない書き込みでごめんなさい。
BBSで書き込みした人と管理者しか読めないタイプって
一般的になんという名称なんでしょうか。
「私書箱」だと件名が一覧で見えてしまう感じが多いし
まずメアドとか登録しなくちゃいけないので煩わしいので
なんか違うなあと思うんですが。
■ このスレッドは過去ログ倉庫に格納されています