[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 08/02 03:26 / Filesize : 165 KB / Number-of Response : 587
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPHP(超初心者用)3



1 名前:nobodyさん mailto:sage [2007/10/25(木) 16:04:31 ID:???]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
www.php.net/
jp.php.net/

---前スレのテンプレここまで---

前スレ: くだすれPHP(超初心者用)2
pc11.2ch.net/test/read.cgi/php/1164617202/

適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 57
pc11.2ch.net/test/read.cgi/php/1193062236/
△▲ WebProg 初心者の質問 Part16 ▼▽
pc11.2ch.net/test/read.cgi/php/1187729623/

完走したら、雑談スレで待機でどうでしょう
【総合】 Webprog板質問雑談スレッド 1
pc11.2ch.net/test/read.cgi/php/1131016915/

537 名前:nobodyさん mailto:sage [2008/03/12(水) 11:11:37 ID:???]
すみませんでした。補足します。

繰り返しアクセスしているのは外部のプログラムで、PHPはそれに対して反応を返しています。
PHP内部では繰り返しの処理はしていません。

SaveパラメータでHTTPアクセスされると「A」という文字をPHPが記録します。
LoadパラメータでHTTPアクセスされると、今PHPが保持してる「A」という文字をEchoで返し、「A」は消します。
この時、保持している文字がなければ「NoEntry」を返します。

現状2秒に一度Loadパラメータでアクセスしています。(文字があるかチェック)
その間に複数のSaveパラメータでアクセスされると「A,B,C」と同時に保持して、
Loadパラメータが来るごとに、古いものから順に1文字ずつ返します。

ただ通常、1時間に1〜2回、多くても10回ほどのSaveパラメータのアクセスしか無いため
ほとんどはLoadパラメータのアクセスを受信し続けている状態です。
このLoadパラメータを、現状の2秒に1度から、1秒間に2〜3回にしたいなと考えております。

538 名前:nobodyさん mailto:sage [2008/03/12(水) 11:15:08 ID:???]
>>537
そのLoadパラメータとやらの書き方次第だと
多分問題は無いと思うけどねー


539 名前:nobodyさん mailto:sage [2008/03/12(水) 11:28:02 ID:???]
処理負荷にもよるけど2,3リクエスト/秒なんて余裕だから大丈夫かと

540 名前:534 mailto:sage [2008/03/12(水) 11:52:49 ID:???]
なるほど、助かります。ありがとうございました!
やはりPHPの性能はCGIとは比べものになりませんね。

541 名前:nobodyさん mailto:sage [2008/03/12(水) 17:51:48 ID:???]
phpで出力した内容をhtmlで出力するのって
普通にfwriteとかで作成すればいいのでしょうか?

542 名前:nobodyさん mailto:sage [2008/03/12(水) 19:13:32 ID:???]
file_put_contentsでおk

543 名前:nobodyさん mailto:sage [2008/03/12(水) 21:40:52 ID:???]
>>541
ファイルに書き出したいなら>>542のを使えば良い
表示させるだけならechoなりでhtml書いたのを表示すればいい

544 名前:nobodyさん mailto:sage [2008/03/13(木) 04:03:55 ID:???]
どうもありがとうございました、助かりました。

545 名前:nobodyさん [2008/03/14(金) 16:59:59 ID:P2EP3hdl]
simplexml_load_fileを使い必要な部分を抜き出し下記のようなオブジェクトを取得しましたが
ループ文を使い値と属性を取得しようとすると、$nameという配列を作る行で 
Warning: Illegal offset type となります。オブジェクトの属性と値の取り方を間違えているのでしょうか?

$xml
SimpleXMLElement Object
(
[id] => 2
[title] => hogehoge
[spec] => 500
)

foreach($xml as $a => $b) {
if ($a == 'id') {
$id = $b;
}
if ($a == 'title') {
$title = $b;
}
}
$name[$id] = $title; ←エラー



546 名前:nobodyさん mailto:sage [2008/03/14(金) 17:41:35 ID:???]
>>545
print_rよりver_dumpのがオススメ

$idと$titleをdumpする事をおすすめする
var_dump($id,$title);

てかそのループしなくても良いと思うんだが?
$name[$xml->id] = $xml->title;


547 名前:nobodyさん [2008/03/14(金) 19:16:02 ID:P2EP3hdl]
>>546
ありがとうございます
$name[$xml->id] = $xml->title;
これだと同じエラー内容となりました
ver_dumpしたところ下記のように出てきたのですが、さらにオブジェクトが続いているということでしょうか?


object(SimpleXMLElement)#9 (1) {
[0]=>
string(1) "2"
}
object(SimpleXMLElement)#8 (1) {
[0]=>
string(8) "hogehoge"
}

548 名前:nobodyさん mailto:sage [2008/03/14(金) 19:34:29 ID:???]
最近は、YAMLとJSONばっかりで
XMLを使っていない。使おうとも思わない。

つかうのは外部とのシステムでXMLを
使うことを強制された場合ぐらいだな。

549 名前:nobodyさん [2008/03/14(金) 20:27:50 ID:i8C7NkG0]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<title>Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>
<div align="center">
<br />
<?php include("../../koukoku.php"); ?><br />
<?
$image = "***.com/gazou/01/" . $_GET['no'] . ".gif";
if(file_exists($image)){ print "<img src=\"$image\">"; }
?>
</div>
</body>
</html>

こんな感じで***.com/gazou/01/**.gifをページの真ん中に表示したいのですが画像がされません。
画像がローカルパスなら表示されるのですがどこが悪いのか教えてもらえませんでしょうか?

550 名前:nobodyさん mailto:sage [2008/03/14(金) 20:32:53 ID:???]
質問です。
よければ教えてください。

echo 45 * 1.4;
echo "<br>";
$a = floor(45 * 1.4);
echo $a;
echo "<br>";

というプログラムで、結果が
63
62
となるんですけど、原因がわかりません…
63が正解なのですが、なぜなんでしょう?
実際は変数が入るので、結果も変動して小数点以下の数値も出るのでfloorしていますが、
なぜかこの数値の時だけ結果にずれが…



551 名前:nobodyさん mailto:sage [2008/03/14(金) 20:54:07 ID:???]
>>550
典型的な、浮動小数点誤差の問題だね。

一般的にコンピュータは数値を二進数に変換して処理する。
1.4という数値は二進数では近い数字は表現できても、
1.4そのものは表現できない数値なんだ。(小数点以下が無限に続く)

よって 45 × 1.3999・・・という計算になる。
当然答えも62.9999・・・になる。

あとはechoのとき、62.9999・・・というほぼ63という値なら、
それを63にして表示しているということだろう。

公式サイトにも書いてあるが。
www.php.net/manual/ja/language.types.float.php

552 名前:549 mailto:sage [2008/03/15(土) 12:13:27 ID:???]
聞く場所違いましたかな・・・汗
他で聞いてみます 失礼しました。

553 名前:nobodyさん mailto:sage [2008/03/15(土) 15:19:04 ID:???]
>>552
php関係なくね?

554 名前:nobodyさん mailto:sage [2008/03/15(土) 17:15:03 ID:???]
for内でもう一度forつかうと$iの値が干渉しあうのですが
$iって$aとかにする事は可能でしょうか?

555 名前:nobodyさん mailto:sage [2008/03/15(土) 17:22:41 ID:???]
$A = file_get_contents("ファイル");

としてるだけなのに標準出力にファイルの内容が表示される@さくら

エロい人解決方法を教えてください。




556 名前:nobodyさん mailto:sage [2008/03/15(土) 18:41:49 ID:???]
>>554
for文って何ぞや?から改めて調べてみるとよろし
>>555
そんなことはありえない。

557 名前:nobodyさん mailto:sage [2008/03/15(土) 22:02:20 ID:???]
>>554
頑張って$iだけを使うように工夫するのが定石

558 名前:nobodyさん mailto:sage [2008/03/15(土) 23:28:03 ID:???]
<br/>\nってどういう意味?
なんで改行が二つあるの?

559 名前:nobodyさん mailto:sage [2008/03/15(土) 23:35:04 ID:???]
それぞれ違う改行。
意味を調べろ。

560 名前:nobodyさん mailto:sage [2008/03/16(日) 01:00:46 ID:???]
>>556 >>557
ちょっとログ分の画像掲示板のhtml出力しつつ
その1ページ分にすべてのページへのリンクを作ったりと複雑なので
whileで代用しました、ありがとうございました。

後、もう一つ聞きたいのですが
.=で処理したデータを継ぎ足していってhtml出力すると
ソースで改行が■になったりしてしまいます。
後々の事を考えて見栄えよく整形したいのですが
どんな要因が考えられるのでしょうか?

561 名前:nobodyさん mailto:sage [2008/03/16(日) 01:13:28 ID:???]
>>560
> どんな要因が考えられるのでしょうか?
メモ帳でLF改行を見てるだけ、とか。

562 名前:nobodyさん mailto:sage [2008/03/16(日) 01:23:50 ID:???]
>>561
すいません、まさにそのとおりなんですがtxtファイルに
phpproの講座のとおりEUC-JPとLFで設定してます。
改行をCR/LFにしたらちゃんと見えたんですが
EUC-JPとLFだとwindows使いには不便なのでしょうか?

後、ログにtxtファイルを使うと外部から見えてしまうと聞いたのですが
何がお勧めなのでしょうか?

563 名前:nobodyさん mailto:sage [2008/03/16(日) 01:30:50 ID:???]
>>562
ログにtxt〜とか媒体が問題じゃないよ。
ドキュメントルート以下におけば外部から見られる危険性は当然ある。

564 名前:nobodyさん mailto:sage [2008/03/16(日) 01:58:38 ID:???]
あれ?そうでしたか。
過去cgiとかにしとけといわれた思い出があるんですが。

565 名前:nobodyさん mailto:sage [2008/03/16(日) 02:22:24 ID:???]
>>564
その説は、ごく限られた人しか .htaccess でごにょごにょできなかった時代とか
.htaccess の書き方を説明するのがめんどくさいとかの産物なので、
せめて .log とか .dat で終わる名前のファイルにして deny from all に設定。
というか、>>563

>>561前半は Shift_JIS の地雷を踏みまくるほうがよっぽど不便だと思う。



566 名前:565 mailto:sage [2008/03/16(日) 02:23:29 ID:???]
アンカーミスった。>>562前半、ね。

567 名前:nobodyさん mailto:sage [2008/03/16(日) 02:41:19 ID:???]
htmlの投稿フォームからphpにデータ送ると
phpの中身がテキストデータとして開かれててしまいます。
phpに同じフォームデータを書いて送信したら普通に処理できてたんですが
どうしたものでしょうか?

568 名前:nobodyさん mailto:sage [2008/03/16(日) 14:32:57 ID:???]
日本語でおk?

569 名前:nobodyさん mailto:sage [2008/03/16(日) 19:12:01 ID:???]
html出力した内容に含まれてる投稿フォームから
phpにその内容を飛ばして処理しております。
本文がない場合、名前&パスワードをクッキーをセットして
1行目のフォームに送り返してるんですが名前欄に何も出ません。

名前欄のvalue値に
phpプログラムを使用して受け取ったクッキーを表示するコードを書いてるんですが
1行目フォームのようにhtmlファイルにphpコード書いても意味なかったでしたっけ?

570 名前:569 mailto:sage [2008/03/16(日) 19:19:19 ID:???]
ややこしくなってしまいました、
要するにログをhtml出力したファイル内にあるフォームに
クッキーの受け渡しってできるんですか?

書き込みを処理するphpからクッキー発行しただけでは駄目なんですよね?

571 名前:nobodyさん mailto:sage [2008/03/16(日) 19:31:40 ID:???]
できるよ

572 名前:569 mailto:sage [2008/03/16(日) 19:44:08 ID:???]
すいません、お手数ですがどのようにすればよいのでしょうか?
>>569を書き込んでから今までログをhtmlで出力する掲示板のサンプルを見回ってたら
<input value="">のvalue記述さえ無しにクッキーが表示されてるものが
あってどんな方法を使ってるか知りたくて。

573 名前:nobodyさん mailto:sage [2008/03/16(日) 20:02:28 ID:???]
名前欄に何も出ないっていう現在のコードを出してみて。入力と共に。

574 名前:nobodyさん mailto:sage [2008/03/16(日) 23:54:38 ID:??? BE:147567375-2BP(1)]
>>569
出力されたhtmlファイルの拡張子はphp?それともhtml?

出力されたファイルがhtmlであれば
サーバの設定が基本的な設定のままなら
cookieなんて出せないやんJavaScriptとか使えば別だが

phpであれば
<input value="<?php echo $_COOKIE['name'];?>">
とかすれば出るが

575 名前:nobodyさん mailto:sage [2008/03/17(月) 00:03:56 ID:???]
拡張子はhtmlです、
それで元々作っていたのは総phpで<input value="<?php echo $_COOKIE['name'];?>"> が出来てて
htmlにデータ書き出すようにしてからそれが通用しなくなったので混乱しておりました。
ただここだと
3d.skr.jp/3d/
出来てるのはなぜなんでしょう?



576 名前:nobodyさん mailto:sage [2008/03/17(月) 00:10:47 ID:??? BE:303567089-2BP(1)]
>>575
そこはjavascriptでクッキーをセットしてる

577 名前:nobodyさん mailto:sage [2008/03/17(月) 00:19:25 ID:???]
なるほど、万人には無理ですかhtmlでは。
とりあえずクッキーの部分は飛ばして別の部分作ります。

578 名前:nobodyさん mailto:sage [2008/03/17(月) 00:27:11 ID:??? BE:84324645-2BP(1)]
function l(e){
var P=getCookie("pwdc"),N=getCookie("namec"),i;
with (document) {
for(i=0;i<forms.length;i++){
if(forms[i].pwd)
with(forms[i]){
pwd.value=P;
}
if(forms[i].name)
with(forms[i]){
name.value=N;
}
}
}
};
onload=l;
function getCookie(key, tmp1, tmp2, xx1, xx2, xx3) {
tmp1 = " " + document.cookie + ";";
xx1 = xx2 = 0;
len = tmp1.length;
while (xx1 < len) {
xx2 = tmp1.indexOf(";", xx1);
tmp2 = tmp1.substring(xx1 + 1, xx2);
xx3 = tmp2.indexOf("=");
if (tmp2.substring(0, xx3) == key) {
return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
}
xx1 = xx2 + 1;
}
return("");
}
こんな感じだな適度に直せばいける

579 名前:nobodyさん [2008/03/18(火) 16:47:11 ID:npoe+Lzf]
www.phppro.jp/school/phpschool/vol4/1
のプログラムですが、

localhost/uranai.php
だと「入力された値は数字ではありません。」と表示されるのですが

localhost/uranai.php?age=22
だと文字化けしてしまいます。
本来「あなたの年齢は:22才です。」と表示されると思うのですが。

何が原因と考えられますか?

580 名前:nobodyさん mailto:sage [2008/03/18(火) 17:12:58 ID:???]
>>579
コードうp

581 名前:nobodyさん mailto:sage [2008/03/18(火) 17:15:35 ID:???]
ちなみにこちらの環境で実行したら後者も正しく表示された
mb関係かhtmlspecialcharsの文字コードの設定か?
文字化け文字列も出すと何かわかるかも

582 名前:579 [2008/03/18(火) 18:00:26 ID:npoe+Lzf]
レスありがとうございます。

、「、ハ、ソ、ホヌッホ、マ。ァ22コヘ、ヌ、ケ
とでます。



583 名前:nobodyさん [2008/03/18(火) 18:15:19 ID:sNjVpZ9l]
WordPressで困っています。
サイドバーをカスタムしたくてsidebar.phpを弄っているのですが、カレンダーなどを取り除いてアバウトやその他をとりつけたいのですが、
どう記述するべいいのかわかりません。
カレンダーを消すことには成功したのですが、他のコンテンツをサイドバーに入れるには何を記述すればいのでしょうか。


584 名前:nobodyさん mailto:sage [2008/03/18(火) 21:06:15 ID:???]
>>583
WordPress (ワードプレス) その6
pc11.2ch.net/test/read.cgi/blog/1202116662

こっちのがいいんでない?

585 名前:nobodyさん mailto:sage [2008/03/18(火) 21:53:51 ID:???]
>>579
ブラウザ上で右クリック→エンコード→日本語 (EUC)
でおk

ま、もう解決しちゃってるだろうけどw



586 名前:579 [2008/03/18(火) 23:02:38 ID:npoe+Lzf]
>>585
全然解決できてなかったのでこのスレにはりついてしましたw
ありがとうございます!うまくいきました!






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<165KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef