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

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0592nobodyさん2006/08/17(木) 00:54:05ID:???
PHPで日付を表示してみたのですが
日本時間が表示されません。
海外の時間+9時間で合わせてみたのですが
それでも時間が合いません。
分とかもずれてるんです
サーバーの時計が合ってないのですか?
どうすれば良いですか?困ってます
教えてください
サーバーはアリゾナにあるらしいのですが
ほんとかどうか知りません
0593nobodyさん2006/08/17(木) 00:57:02ID:???
>>591
ほれ
<?php
$t = $_GET["t"];
echo <<<EOT
<html><head><title>理想のぼでい</title></head><body>
<form action="/" method="GET">
身長<input type="text" size=4 name="t" value="{$t}"> <br>
<input type="submit" value="compute">
</form><br>
EOT;
if ($t != "") {
echo "身長".$t."cmのばやい<br>";
echo "トップバスト:".($t * 0.525)."cm<br>";
echo "アンダーバスト:".($t * 0.423)."cm<br>";
echo "二の腕:".($t * 0.15)."cm<br>";
echo "ウエスト:".($t * 0.38)."cm<br>";
echo "ヒップ:".($t * 0.535)."cm<br>";
echo "太もも:".($t * 0.30)."cm<br>";
echo "ふくらはぎ:".($t * 0.205)."cm<br>";
}
?>
あとは何とかしろ。つかここはそういう質問はだめだかんな。
自分で作ってわからないことを質問するってのがここの掟
0594nobodyさん2006/08/17(木) 00:59:25ID:???
>>591
<?php
$niceHip = $_POST['height']*0.53;
$niceWaist = $_POST['height']*0.38;
print "理想のヒップ={$niceHip}cm<br>";
print "理想のウェスト={$niceWaist}cm<br>";
?>
05955852006/08/17(木) 01:12:26ID:lrPl7LqR
>>593-594
はつながっているんですか??

・・・それにしてもすごいですね。
こんなにすぐ作れちゃうもんなんですね。
0596nobodyさん2006/08/17(木) 01:23:27ID:???
>>591
理想ヒップは160cmで84.8cmか…俺はもう少し大きい方が好みだなぁ。
0597nobodyさん2006/08/17(木) 03:25:27ID:???
パンチ3/5今どうしてるかな
0598nobodyさん2006/08/17(木) 04:35:10ID:???
>>592
サーバーの時計がずれてるんならサーバーの管理者に頼んで合わせてもらわんと。
0599nobodyさん2006/08/17(木) 09:32:01ID:???
>>593
bcmath 使わなくていいのか?!(・∀・)
0600nobodyさん2006/08/17(木) 10:22:04ID:???
>>585
計算系のものならJavaScriptのほうがいいだろ
0601nobodyさん2006/08/17(木) 10:35:16ID:???
>>599
こんなもんに誰が精度を求めるのか。
0602nobodyさん2006/08/17(木) 11:15:37ID:???
こんなもんに誰が精交を求めるのか。
0603nobodyさん2006/08/17(木) 11:49:12ID:???
こんなもんに誰が精液を求めるのか


に見えた
0604nobodyさん2006/08/17(木) 13:00:50ID:???
>>544
>前述しましたように「ieHTTPHeaders」で確認しますと、たしかにセッションIDはローカルのどこかに記憶されているようです。
>Cookieファイルが見当たらないのに値が保存されているということは、あとはメモリ上に確保されている?

亀レスであれなんだがおそらくその解釈で合ってると思う。
HTTP通信をキャプチャしたらCookieの項目があった=ローカルマシンのどこかにその値がある
・・・ということなので、ファイルが存在しないのならメモリにあるとしか考えられない。
0605nobodyさん2006/08/17(木) 13:53:41ID:???
>>599
それ使うとどうなるんだっけ??
0606nobodyさん2006/08/17(木) 14:22:03ID:???
php-bcmath
0607nobodyさん2006/08/17(木) 15:34:52ID:???
>>605
浮動小数点に伴う誤差がなくなる
0608nobodyさん2006/08/17(木) 15:50:07ID:???
よくわからんが、1/3*3がきちんと1になるのか?
0609nobodyさん2006/08/17(木) 15:51:54ID:???
速度が犠牲になることをお忘れなく。
0610nobodyさん2006/08/17(木) 16:13:29ID:FtiwPZNr
>>593
を設置するには2つファイルが必要ですか??
0611nobodyさん2006/08/17(木) 16:18:16ID:???
>>608
それはできません
浮動小数点の誤差というのは
echo floor((0.1+0.7)*10);
が8ではなく7になるという現象
0612nobodyさん2006/08/17(木) 16:19:52ID:???
>>610
あのソースをコピーしてメモ帳とかのエディタに貼り付けて、
test.phpっていう名前で保存して、
サーバにアップロードして、test.phpにアクセスすればOK。
もちろんPHPが使えるサーバじゃないとだめ。
っていうかこのソースパースエラー出るよ。
0613nobodyさん2006/08/17(木) 16:31:54ID:FtiwPZNr
・・・やってみたんですが変になります。。。
パーミッションとかいじりますか??
0614PJP2006/08/17(木) 16:38:31ID:Ex5q979l
$logfile='1.log';
$lines = file($logfile);
$countline=count($lines);
これで$countlineが常に1になってしまいます。

データは以下のように保存しています。
$logdata='テスト';
$fp = fopen ($logfile, "w");
fputs ($fp, $logdata);
for($i = 0; $i < $countline; $i++)
fputs ($fp, $lines[$i]);
fclose ($fp);
1.logのファイルの中にはテストが溜まっていってるのですがcount()がいつも1を返します。
ご教授いただければ幸いです。
0615nobodyさん2006/08/17(木) 16:41:46ID:???
>>613
どう変なのか書かないと状況もなんもわからんのだが
0616nobodyさん2006/08/17(木) 16:55:03ID:FtiwPZNr
>>612さんがやり方で、
http://www.uploda.org/uporg481980.jpg.html
このようになりました。
0617nobodyさん2006/08/17(木) 17:00:23ID:???
>>616
拡張子はhtmlじゃなくてちゃんとphpにした?
あとサーバにphpが入ってないと使えないよ。
0618nobodyさん2006/08/17(木) 17:02:50ID:FtiwPZNr
はい。phpになってます。
infoseekの無料の奴なんですけど大丈夫ですか??
0619nobodyさん2006/08/17(木) 17:13:49ID:???
やれやれ
0620nobodyさん2006/08/17(木) 17:16:27ID:???
>>618
infoseekじゃPHPは使えないからJavaScriptかPerlで書くしかない。
0621nobodyさん2006/08/17(木) 17:16:35ID:???
これが噂に聞く夏厨か?
0622nobodyさん2006/08/17(木) 17:19:44ID:???
んもー、回答者だって酷いくらい「適当に」書いてあるんだよ。
それでも動くと言えば動くかも知れないが、実用性ゼロ。

しかも質問者も基礎の基礎をすっとばして……
なんでそんな他力本願なの?
06236142006/08/17(木) 17:21:22ID:Ex5q979l
count()がいつも1を返します。データはlogを開けると10回書き込みしたら10回分
テスト,テスト,テスト,・・・と10回分のデータが記憶されています。
これをfile()で呼び出しその要素をcount()で数えたら9もしくは10あたりを返すのじゃないのですか?
いつもいくら書き込んでも要素数1を返します。
0624nobodyさん2006/08/17(木) 17:24:17ID:???
>>614
$logdataを書き込むとき最後に改行も書き込む
ファイルオープンは"w"より"wt"がベター
06256142006/08/17(木) 17:27:01ID:Ex5q979l
改行とは\nですか?
0626nobodyさん2006/08/17(木) 17:30:01ID:???
>>625
そうだよ
"wt"とテキストモードで開けばWindowsなら自動的に\r\nに変換して書き込まれる
読み込みも\r\nが\nに変換されて読み込まれる
Linuxではテキストモードもバイナリモードも関係ないからそのまま無変換で\nのまま読み書きされる
0627nobodyさん2006/08/17(木) 17:32:56ID:???
わからないうちはwで\nつけた方がいいかもね。まだいらない知識とみた。
0628nobodyさん2006/08/17(木) 17:34:33ID:???
>>623の内容からするとfile()の動作を誤解してるんじゃないかと思うんだが
0629nobodyさん2006/08/17(木) 17:37:16ID:fBR2tTe/
質問です
動的なページで、そのページのURLを取得する関数ってありますか?
06306142006/08/17(木) 17:42:46ID:Ex5q979l
\nつけても要素増えませんでした。
file()って配列を返すんじゃないんですか?
0631nobodyさん2006/08/17(木) 17:44:20ID:???
$_SERVER['PHP_SELF'];
06326142006/08/17(木) 17:52:37ID:Ex5q979l
\nで解決しました。ありがとうございました。
0633ABCオロチ”管理”人2006/08/17(木) 18:01:23ID:???
あなたがたが、しばらく前にうちの、掲示板を晒したので厨房だらけに、なってしまいました。
どうにか、してもらえませんか?
http://www.abcoroti.com/~rent/rspace/bbs3/wwwlng.cgi
0634nobodyさん2006/08/17(木) 18:03:05ID:fBR2tTe/
>>631
$_SERVER['PHP_SELF'];
でやってみました。

たとえば
aaa.php?key=%EF%BC%92%E3%81%A1%E3%82%83%E3%82%93%E3%81%AD%E3%82%8B
↑
だと
aaa.php
までしか取れないのですが
全部取得できる方法無いですか
0635nobodyさん2006/08/17(木) 18:06:16ID:???
マニュアルを読まない奴はだいっきらいだ
0636nobodyさん2006/08/17(木) 18:06:37ID:???
>>633
なんか見るからに穴だらけだし、
管理しきれないなら閉鎖すればいいじゃん。
わざわざここに来られてもどうにかできるもんじゃないしスレ違い。
荒らしたやつのIP調べて該当プロバイダに出せばいい。
06376342006/08/17(木) 18:15:20ID:fBR2tTe/
早く教えろ!!!
0638nobodyさん2006/08/17(木) 18:18:39ID:???
phpinfo() でも読んで、どうすれば全体取れるか考えろよ
0639nobodyさん2006/08/17(木) 18:25:24ID:???
いい回答が返ってこなくて質問者が荒らしになる瞬間
0640軟式PHP2006/08/17(木) 18:30:49ID:???
>>635
ゲドネタわろたw

>>634
落ち着け。638がいうようにphpinfo()を実行して凝視すれば答えがある。
06416342006/08/17(木) 18:42:14ID:DaHzwuB7
出来た!!! ありがとぅぅぅぅぅう
06426342006/08/17(木) 21:31:43ID:???
うぅぅ、やっぱり出来ませんでした><
06436342006/08/17(木) 21:49:08ID:???
なぁぁぁんだ、簡単ジャンっっ!!!
0644nobodyさん2006/08/17(木) 22:34:25ID:???
とりあえず>>634は氏ねばいいのに。
0645nobodyさん2006/08/17(木) 23:16:19ID:???
>>644
スルーしろ。
0646nobodyさん2006/08/17(木) 23:36:48ID:???
>>633
晒したのはここの住人じゃなくて「拓海」とかいうガキ

晒されたらすぐ荒らされるようなサイト運営に問題があるとしか思えないな
0647nobodyさん2006/08/18(金) 01:51:06ID:jkLvf1gx
>>621
夏だなぁ厨  【なつだなぁちゅう】

夏に暴れる人を放置ができず、とにかく「夏だなぁ」と言い出し、
それによってなぜか相手より優位に立ってると思い、
荒れの元となりスレ住民全体に迷惑をかける存在。

【特徴】
・とにかく文中に「夏だなぁ」を入れないと気がすまない
・スレの流れや空気を読めず、反応してしまう
・普通のスレ住人は夏厨を放置しているのに自分だけが過剰に反応してしまう
・夏厨に反応している時点で夏厨と同類であることに気づいていない
0648nobodyさん2006/08/18(金) 01:57:56ID:???
>>647
亀レスでどうでもいいこと書くな
0649nobodyさん2006/08/18(金) 02:05:28ID:???
>>633
厨房の巣窟になっとるがな。成り済ましOKのヘボイ掲示板使ってるからだよ。
0650nobodyさん2006/08/18(金) 02:33:34ID:???
$Serial= $this->session->get('UserSerial')

Ethnaで上記のような書き方でセッションに入ってるシリアルをとったりしてるんですが
この「session」っていうのは変数?定数?関数?のどれになるんでしょうか?
0651nobodyさん2006/08/18(金) 02:40:42ID:???
変数
0652nobodyさん2006/08/18(金) 02:43:52ID:???
>>651
レスどうもです
$ありの変数とどう違うんでしょうか?
0653nobodyさん2006/08/18(金) 02:50:55ID:???
オブジェクトの中でユーザ定義した変数かそうでないかの違い
0654nobodyさん2006/08/18(金) 04:51:53ID:???
>>653
ありがとうございました!
0655nobodyさん2006/08/18(金) 08:13:53ID:???
&$hoge
みたいに、変数の前に&がついてるのってどういう意味?
0656nobodyさん2006/08/18(金) 08:32:15ID:???
リファレンス。
0657nobodyさん2006/08/18(金) 08:33:43ID:???
>>656
参照渡しってこと?
0658nobodyさん2006/08/18(金) 09:13:23ID:???
>>657
ぃ〜ぇ、違ぃます。
0659nobodyさん2006/08/18(金) 09:25:38ID:???
>>658
嫁ってこと?&とかで検索できないんだけど
0660nobodyさん2006/08/18(金) 09:34:23ID:???
http://jp.php.net/manual/ja/language.references.php
0661nobodyさん2006/08/18(金) 09:51:58ID:???
「リファレンス」とわざわざ書いてあるのに記号で検索ですか
0662nobodyさん2006/08/18(金) 10:18:57ID:???
リファレンス本を読め、という勘違いでしょう。
正しくは「リファレンス本でリファレンスの章を読め」
0663nobodyさん2006/08/18(金) 11:15:26ID:/SUvBA3A
YahooやInfoseekの会員登録画面を作りたいのですが
(参考:https://register.www.infoseek.co.jp/RegistConfirm.html
入力エラーの表示がすごく気に入っています
ページ構成方法もさることながら、エラー制御方法で悩んでいます

1)ID、Password、個人情報入力
 ↓
2)登録ボタン
 ↓
3)別htmlに、エラー表示が追加されている(1)のページを表示
 ↓
4)エラーなくなるまで繰り返し
 ↓
5)登録完了

どんな制御方法がいいのでしょうか
また参考になるサイトあればおながいしまつ
0664nobodyさん2006/08/18(金) 11:19:25ID:???
フィッシングでつか?
0665nobodyさん2006/08/18(金) 11:24:32ID:/SUvBA3A
>>664
そんなことはしません
データ登録システムのフロント部分で参考にしたかったのです
0666nobodyさん2006/08/18(金) 11:32:32ID:???
>>665
制御というか、こんなのは関数や構文の問題ではない。
お前にはプログラムは無理だ。あきらめろ。
0667nobodyさん2006/08/18(金) 11:38:27ID:/SUvBA3A
>>666
俺もそう思ったんだけどさ、実際に書こうとすると難しいのよ
クマっている
0668nobodyさん2006/08/18(金) 11:41:27ID:???
クマってるってなに?
ふざけてるの?
06696662006/08/18(金) 11:42:40ID:???
>>667
最初に、POST内容のエラーチェックをして、
エラーがあるならその内容を上部にまず表示
(strErrorMessage等に書き溜めておいて、後でHTMLを書き出すときに該当箇所に書き出す)
そしてエラーがない項目をフォームにセットしたHTMLを書き出せばいいじゃないか。
0670nobodyさん2006/08/18(金) 11:45:24ID:???
1.初期処理
2.POST内容のエラーチェック
3.エラーがあるなら、エラー内容を表示した登録画面を書き出し終了。
4.エラーがないなら、登録処理(もしくは一旦確認画面を表示するか)
0671nobodyさん2006/08/18(金) 11:48:34ID:/SUvBA3A
>>669
いや、そこは問題ない
俺の質問が漠然としすぎたのが問題だった

・入力するテキストフォームの"すぐ下"に「文字数がオーバーしています」と
エラー表示させ、テキストフォームは空白(クリア)

・エラーでないテキストフォームは、入力済みになっている


JavaScriptを使うのはできるだけ回避したい(ブラウザ面倒だから)

0672nobodyさん2006/08/18(金) 11:53:44ID:???
>>671
それはいい仕様だと思うが、669が問題なくて、なぜそれができないんだ?
0673nobodyさん2006/08/18(金) 11:57:40ID:???
>>671
その通りの事をプログラムでするだけ…。
入力された値を、エラーのものは消す、エラーでないものは復帰させる。
エラーのものはエラーメッセージを表示する。
そんだけ。
0674nobodyさん2006/08/18(金) 11:59:22ID:???
if (strlen($message) > MAX_LEN){
 echo "<input type=text name=message value=\"\" maxlength=".MAX_LEN."><br>\n";
 echo "<font color=red>文字数がオーバーしています</font><br>\n";
} else {
 echo "<input type=text name=message value=\"".$message."\" maxlength=".MAX_LEN."><br>\n";
}

エラー含有前提だが、こんな感じではだめなのか?
0675nobodyさん2006/08/18(金) 12:02:21ID:???
最近のフレームワークなら一瞬でできそうな処理だな
0676nobodyさん2006/08/18(金) 12:05:16ID:/SUvBA3A
みんなサンクス
だが、そんなところは問題ないんだw

って、俺、整理つかん
俺のソース見ると無限ループおこしている

一度、吊って頭冷やしてみる
0677nobodyさん2006/08/18(金) 12:06:37ID:???
DBに保存されてるテキスト(たとえば日記とか)を
表示させるときに、通常はhtmlspecialcharでエスケープしてます。

でも、一部の特殊文字(ハートなど)だけはエスケープせずに表示したいのですが、
これを実現するにはhtmlspecialcharをかけた後に、目的の特殊文字のコードだけを
エスケープ前の状態に再変換するような関数を自作しておくしかないでしょうか?
0678nobodyさん2006/08/18(金) 12:07:14ID:???
お前、頭悪すぎだそりゃw
0679nobodyさん2006/08/18(金) 12:08:37ID:???
あ、頭悪いのは>>676ね
0680nobodyさん2006/08/18(金) 12:21:17ID:???
>>677
preg_replaceなんかを使って置換していくのがベストだと思うぞ
0681nobodyさん2006/08/18(金) 12:47:27ID:/SUvBA3A
>>678
すまんな。もう頭おかしくなっている
オシムと直志のせいで頭が整理つかん
ちと、仮のやつをこしらえてURLさらすんで暇になったら教えてくださいな
06826772006/08/18(金) 12:53:11ID:???
>>680
やはりそうですか。。。

地道に正規表現や置換関数などを使って、
任意の特殊文字だけをエスケープ前の状態に戻す関数を作ろうと思います。
0683nobodyさん2006/08/18(金) 13:01:04ID:???
入力値チェックで数字のみを使いたいのですが、
preg_match("/^[0-9]/", $hoge)でやった場合、
123gggなんかも123として扱ってしまいます。
どうかいたらいいのでしょうか?
0684nobodyさん2006/08/18(金) 13:08:17ID:???
>>682
そのくらいは地道とはいえんぞ
0685nobodyさん2006/08/18(金) 13:41:12ID:???
>>684
いやぁ、特殊文字が一つや二つだけなら簡単ですけど、
全てに対応しようと思うと億劫ですよね。。。
0686nobodyさん2006/08/18(金) 13:41:51ID:???
納期間にあわなxふじk><
たすけtれwn
0687nobodyさん2006/08/18(金) 14:08:11ID:???
ちょっとこいつを見てくれ
"一"と"龠"はもちろんいけるが
"募"とか"集"とか漢字を判定できないんだ
どう思う?

  if(ereg("[一-龠]",$name)){
    echo "漢字だよ";
    exit;
  }else{
    echo "漢字じゃないよ";
    exit;
  }
0688nobodyさん2006/08/18(金) 14:19:06ID:???
>>687
マルチバイトだからな。
0689nobodyさん2006/08/18(金) 14:19:37ID:???
>>683
その程度なら、正規表現よりもis_int() とか is_numeric()使った方が良いと思う
0690nobodyさん2006/08/18(金) 14:22:42ID:???
>>688
でもmb_eregにしても反応しないんだ
どう思う?
0691nobodyさん2006/08/18(金) 14:23:22ID:xIt7iz8d
他のページ(NOT管理下)を取得して、そのページにある好きな文字列を自分が管理するページに表示したいのですが、
詳細が乗っているサイト若しくはやり方を教えて下さい
言語はperlのみ使えます
0692nobodyさん2006/08/18(金) 14:23:33ID:???
>>690
お前がバカだからだろ
■ このスレッドは過去ログ倉庫に格納されています