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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/06/12(月) 14:06:01ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、 
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 
PHP使いが優しくコメントを返しますが、 
お礼はPHPの布教と初心者の救済をお願いします。 

PHP Home Page 
http://www.php.net/
02082052006/08/17(木) 00:44:43ID:???
>>207

どうもありがとございます。
簡単なプログラムで確認したところ、何事もなく復元されていました。
どうも、頭の中でごちゃごちゃ考えすぎていたようです。
恥ずかしい。。。
ありがとうございました。

しかし、PHPマニュアルのそれらしいところを見たのですが
POST送信時に復号される話は見つかりませんでした。
私の探し方が悪いのでしょうか?

0209nobodyさん2006/08/17(木) 01:19:49ID:???
>>208
PHPの仕様じゃない
0210nobodyさん2006/08/17(木) 21:15:19ID:???
PHP初心者です。
PHP+MySQLを使用し、登録者以外からの書込み拒否する為
名前とパスワードが一致すれば、書込みできるようにしたいのですが、
名前とパスが正しくても、書込みできません。
現在の設定は
MySQLのテーブルに、投稿者の名前を記録するフィールド名=name
投稿者のパスワードを記録するフィールド名=pass と設定した状態で

投稿者の名前=NAME、投稿者のパスワード=PASS、としてPOST属性で送信し
以下を受取側のファイルの一部にしてパスワード確認しています。

//↓から
extract($_POST);
mysql_connect('localhost','root','HOSTPASS');
mysql_select_db('TABLE');
$sql= "select * from FIELD where name = $NAME";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$PASS = $row[pass];
if($pass != $PASS){
echo "パスワードが違います。";
}
else{
以下書込みプログラムが続く
//ここまでが受取側の一部

どこがが間違っているのでしょうか?
ご指導宜しくお願いします <(_ _)>
0211nobodyさん2006/08/17(木) 22:18:29ID:???
>>210
すばらしく、ザルなスクリプトだが、サンプルという好意的に解釈しよう

まずは、問題を切り分けろ

1.$PASS には期待している文字列が入っているか
2.$row['pass'] には本当に期待している文字列が格納されているか?
3.仮に $row['pass'] = $PASS; として書き込みプログラムが動くか

1.が駄目なときは前の入力画面がおかしい
 パラメータ名などを確認
2.DB に本当にレコードが存在するか確認
 ない場合は SQL 文が間違っている可能性がある
 直接 MySQL のクライアントを立ち上げて試してみる
3.分岐がちゃんと動いているか確認
 動いているときは、書き込みプログラムがおかしい

このどれもが期待通りに動いているのなら
もう一度書き込んで見てくれ
そのときは、本当に使っているソースを貼って
DB の接続に必要なパラメータは消していいから
0212nobodyさん2006/08/17(木) 22:20:04ID:U0Bacn/n
>>211
あ、悪い。間違えた
誤)
3.仮に $row['pass'] = $PASS; として書き込みプログラムが動くか

正)
3.仮に $row['pass'] = $pass; として書き込みプログラムが動くか
0213nobodyさん2006/08/18(金) 06:54:21ID:???
>>210
nameって予約語じゃなかったっけ、予約語ならバッククォート
あと値もクォートしましょう
where `name` = '$NAME'
02142102006/08/18(金) 10:20:32ID:???
>>211
詳しい説明ありがとうございました。
誤作動の原因としては、
1のパラメータの送信値が間違っていたことです。( ´,_ゝ`)フッ
nameを送るつもりがidを送信していました・・・orz
ここを手直ししたら、自分的には思った通り動きました。

ところで、ベテランの方に質問なんですが、
スクリプト作成の経験がまだ半月位なので、
今回のようにデバックでメチャメチャ頭抱えてます。
問題発生時の解決法ののポイントとしては、
>まずは、問題を切り分けろ
とありましたが、その他に「コレに気をつけろ!!」ってのありますか?
ありましたら、またご指導お願いします <(_ _)>

>>213
レスありがとうございます。
0215nobodyさん2006/08/18(金) 10:52:18ID:???
>>214
気をつけろというのは、たくさんあるが、
ある程度までは try and error で慣れるほうがいい

デバッグで使えるのは
var_dump();
print_r();
など、特に var_dump() は型も一緒に表示するから初心者は特に重宝するだろう

机上デバッグの癖を付けるのはいいことだとは思うが、
それは最低限の知識と経験がないと、不必要に時間をかけるだけだろう

そこそこ慣れて xdebug というような PHP のデバッガーを使うようになると
さらに楽になる
0216nobodyさん2006/08/18(金) 13:03:44ID:???
>>208
結論としては、
「細かいこと考えずにhiddenにもエスケープ関数かましといててOK!」
ってこと??

それを書かないと他の初心者の参考にならないよ。
0217nobodyさん2006/08/18(金) 19:33:30ID:???
携帯電話って、JavaScriptは使えなくて、PHPとPerlは使えるんですか?
これらはどこで処理されているのですか??
0218_2006/08/18(金) 21:36:53ID:qJB64gmd
自分も初心者ですが
PHPやPerlはサーバーで処理され
Javascriptは簡単に言うとあなたのPCで処理されるので
Javascriptを利用する場合はPC(携帯)の環境により実行結果が異なります
0219nobodyさん2006/08/18(金) 21:42:42ID:???
サーバサイドとクライアントサイドを
わかりやすく説明していただけませんか??
0220nobodyさん2006/08/18(金) 22:10:18ID:???
>>219
中学レベルの英語も理解できないなら氏んだほうがいいと思う。
0221nobodyさん2006/08/18(金) 22:18:28ID:???
理解できないだけで>>219を氏ねという>>220のほうがしんだ方がいいよ
0222nobodyさん2006/08/18(金) 22:25:23ID:0rSuveav
サーバーサイドは、サーバー側の機能やマシンで処理される情報。
クライアントサイドは、ユーザー側がブラウザやマシンの機能で処理する情報って
ことだとオレは、思いこんでるけどまっがってるかな?
JAVA,CGI,PHPとかは、サーバーサイド。
html,JavaScript,Flashアクションスクリプトとかは、クライアントサイド。
0223nobodyさん2006/08/18(金) 22:42:39ID:???
PHPやPerlはサーバーで処理され
Javascriptは簡単に言うとあなたのPCで処理されるので
Javascriptを利用する場合はPC(携帯)の環境により実行結果が異なります
02242102006/08/19(土) 08:46:56ID:???
>>215
少しレス遅くなり、スマソ
var_dump();は初めて見た関数だったので、PHPエディター早速でF1しました。
便利そうですね
でも、print_r();がF1で出てこなかったのはなぜだろう?

デバッガーとかの存在も初めて知ったよwww
xdebugもメチャ便利そう!!

いい情報に感謝します。
0225nobodyさん2006/08/19(土) 09:40:45ID:???
>>217
http://pc8.2ch.net/test/read.cgi/php/1144504375/224,227,228 とかで釣りしてるんで
真面目に答えなくてもいいよ
0226nobodyさん2006/08/19(土) 19:52:08ID:rwxCztmB
BBQ入れたいんですがどこらへんに入れれば良いのでしょうか?

function host_chk(){
$host = getenv("REMOTE_HOST");
$addr = getenv("REMOTE_ADDR");
if($host == "" || $host == $addr){
$host = @gethostbyaddr($addr);
}
$deny = split(",", deny);
while(list(,$value) = each($deny)){
$value = str_replace("*",".*",$value);
if(eregi($value,$host) || eregi($value,$addr)){
error("アクセス不可");
}
}
}
0227nobodyさん2006/08/19(土) 20:19:51ID:???
好きなところに入れたらいいんじゃないの
0228nobodyさん2006/08/19(土) 20:32:09ID:???
適当に入れると表示されなくなるので
それで制限らしきところから弄れるかなと思いまして
02292082006/08/19(土) 22:14:54ID:???
>>216

すみません。仕事でバタバタしていました。

結論としては、
「こまかいこと考えずに、hiddenにもエスケープ関数かませてOK」
だと思います。(むしろかませるべき。)

遷移先にて、$_POSTで受けた値を確認しましたが、
htmlspecialcharsでエスケープした値が、自動的にもとの値に
復元されていました。

209さんが言うように、PHPの仕様だと思います。
(マニュアルの「第 56章PHP と HTML」の「1. フォームから、もしくは URL から値を渡す場合には・・・」を
読むと、そういうニュアンスのことが少し書かれていました。)
0230nobodyさん2006/08/20(日) 02:52:02ID:???
&amp;→&の変換はhtmlの仕様(文字実体参照)
phpがやってくれるのは%26→&の変換
0231nobodyさん2006/08/20(日) 09:31:17ID:???
e-word(http://e-words.jp/)のような、
印刷用ページ編集機能をPHPで実現するにはどのように書いたら良いでしょうか?

HTMLのフォームでデータの受け渡しをして、PHPファイルでデータを蓄積するイメージです。
考え方でも良いのでヒント頂けないでしょうか・・。
0232nobodyさん2006/08/20(日) 11:39:05ID:???
>>231
何がしたいのかがよくわからない
0233nobodyさん2006/08/20(日) 12:09:22ID:???
HTMLのフォームでデータの受け渡しをして、PHPファイルでデータを蓄積するといいんじゃないかな?
0234nobodyさん2006/08/21(月) 00:14:46ID:OxXNX8LD
>>231
つまりe-WordsみたいにWeb表示用と印刷用の2種類の表示がしたいってこと?
ただ単に内容(説明文等)をなんでもいいからファイルに記述して、
Web表示用と印刷表示用の二つのPHPファイルから読み出せるようにすればいいんじゃないの?
0235nobodyさん2006/08/21(月) 01:04:26ID:???
css使う方が楽ちゃうんか?
0236nobodyさん2006/08/21(月) 01:17:51ID:???
>>234 レスありがとうございます。
Web表示用は別のデータベース関係のCGIで処理を行っているので、その内部にFORMタグを設置、
それを印刷表示用のPHPでデータを受け取る形にしたいんです。

受け取った時の、クッキーを用いてデータを蓄積させていく方法をご教授いただけないでしょうか?
内容が書き換えられてしまうんです。

<form action="test.php">
<input type="hidden" name="data1" value="$data[1]">
<input type="hidden" name="data2" value="$data[2]">
<input type="submit" name="submit" value="追加">
</form>
↑$data[1],[2]の部分はCGIの処理でデータが入ります。

↓PHP側はデータを受け取るのですが、クッキー&蓄積で戸惑ってます。
<?php print $data1; ?>
02372312006/08/21(月) 01:20:44ID:???
補足::別のCGIというのはCSVを読み込んで表示するやつです。
http://cgiroom.nu/list/database/index.html
こちらの検索専用データベースを使っています。
0238nobodyさん2006/08/21(月) 10:54:05ID:OxXNX8LD
なんでクッキーが必要なのか分からない
フォームでデータ受け渡しして表示するだけじゃないの?
0239nobodyさん2006/08/21(月) 11:19:41ID:???
超基本的な質問なんだけど・・・orz

if($a != ""){以下を実行する}

if($a <> ""){以下を実行する}
この2つは、「$aが空白ならば、以下を実行する」でいいよね?

あと、
if($a != $b){以下を実行する}
コレは、「$aの値と$bの値が同じならば、以下を実行する」だよね?

上の分岐文が3つとも、オレの期待した分岐になってくれないんで
誰か助けて下さい。

ちなみに、「$a、$b、$c、$dの値が全部Eとなっている時」に

$a = $c;
$b = $d;
echo "$a";
echo "$b";
if($a != $b){
echo "$a";
echo "$b";
echo "以下を実行する";
}

とテストしたら
「EEEE以下を実行する」
と表示されてしまう

オレ間違ってるのかな???
0240nobodyさん2006/08/21(月) 12:30:15ID:???
>>239
ファイルから読み込んだ値だと改行がくっついて
見た目は同じでも中身は違ったりするけどね
0241nobodyさん2006/08/21(月) 12:44:31ID:???
>>239
>この2つは、「$aが空白ならば、以下を実行する」
アホ。真逆だ。「$aが空白ではないならば」だ。

>$aの値と$bの値が同じならば、
これも真逆。同じ「でない」ならば、だ。

基礎から勉強し直せウンコくん。
0242nobodyさん2006/08/21(月) 12:52:42ID:???
var_dump($a, $b, $c, $d);
でもはさんでみたらw
02432392006/08/21(月) 13:38:29ID:???
>>240
MySQLから読み込んだデータなんだけど、
MySQLの場合も改行がくっつく事あるのですか?
データ記録の仕方では、改行がついてないとは思うのですが・・・

>>241
>アホ。真逆だ。「$aが空白ではないならば」だ。
まったくその通り・・・orz
239での書き込みがミスですwww

糞まみれのオレだけど
「$aが空白ではないならば」に読み替えて、
教えてくれ〜
02442392006/08/21(月) 13:39:11ID:???
連投です

もう少しだけ、239を補足
239のスクリプトは、パスワード識別の為の部分なんですが、
$cはフォームで書込みされ、POST属性で受け取ったパスの値、
$dはMySQLに記録されいた値を呼び出したパスの値として
「$c、$dの値が両方Eとなっている時」に

$a = $c;
$b = $d;
if($a == ""){
echo "パスを入力して下さい。"
exit;
}
echo "$a";
echo "$b";
if($a != $b){
echo "$a";
echo "$b";
echo "パスが違います。";
exit;
}
以下、パスが認証されたとして、メインプログラム実行

とテストすると「EEEEパスが違います。」と表示され、
「EEEE」と表示されてる事から、
if($a != $b)が機能してないと推測したんだけど
何故???誰か助けてぇぇぇぇ
0245nobodyさん2006/08/21(月) 13:48:34ID:???
通学途中の女子高生のミニスカートが風でまくれあがってパンツがみえてしまうようなPHPを教えてください。
0246nobodyさん2006/08/21(月) 13:52:15ID:???
>>245
マ板に質問してみては?
あそこ、デスマーチで頭いかれている人多いから、なかなかナイスな回答がくるよw
0247nobodyさん2006/08/21(月) 13:53:33ID:???
マ板?
0248nobodyさん2006/08/21(月) 16:09:31ID:???
>「EEEE以下を実行する」
>と表示されてしまう

そのプログラムなら、その動作結果で正しいわけだが。
つまりお前が間違っている。
0249nobodyさん2006/08/21(月) 16:58:14ID:OxXNX8LD
こういう基礎的な論理式から理解できてないと逆にどう言ったらいいか困る
02502392006/08/21(月) 18:13:38ID:???
>>248>>249
オレが間違っているっていう事は、認識しているのだが
どう間違っているのかがわかっていないオレ・・・orz

オレの頭の中の思考もコメントで付け足しするので
どこでオレの思考回路が間違っているのか教えて欲しい

$cはフォームで書込みされ、POST属性で受け取ったパスの値、
$dはMySQLに記録されいた値を呼び出したパスの値として
「$c、$dの値が両方Eとなっている時」に

$a = $c;    //$cはEなので、$aの値はEになる
$b = $d;    //$dはEなので、$bの値はEになる
if($a == ""){    //$aの値はEだから、空白ではない
echo "パスを入力して下さい。"    //だからここは回避される
exit;    //ここは今は関係ない
}    //ここも今は関係ない
echo "$a";    //間違ってるみたいだから$aを表示、$aはEになってる
echo "$b";    //間違ってるみたいだから$bを表示、$bはEになってる
if($a != $b){    //$a、$bの値は共にEだから、ここから回避されるはず
echo "$a";    //Eと表示された・・・工エエェ(´Д`)ェエエ工
echo "$b";    //Eと表示された・・・工エエェ(´Д`)ェエエ工
echo "パスが違います。";    //表示された・・・工エエェ(´Д`)ェエエ工
exit;    //直前の3行がEと表示されたから、メインプログラムに行かないのは分かる
}    
以下、パスが認証されたとして、メインプログラム実行  //本当はここになるはずなのに・・・ショボン

実行結果は「EEEEパスが違います。」となる。
上のスクリプトでオレが期待しているのは
「EEメインプログラムを実行」と表示されることなのに・・・

0251nobodyさん2006/08/21(月) 18:25:53ID:???
>>250
もしそのコードでそういう結果になるのなら、
$aと$bの中身が違うとしか考えられないわけだが。

if($a != $b)

if($a !== $b)
にして試してみれば?
0252nobodyさん2006/08/21(月) 18:31:48ID:???
242は華麗にシカトですか?
0253nobodyさん2006/08/21(月) 19:41:21ID:OxXNX8LD
なんで>>242を試さないのか
02542392006/08/21(月) 20:10:01ID:???
>>242
レス遅くなってスマソ、
243の後でPHPマニュアル見たけれど、初心者なので
var_dump()の解説見たけど、理解できなかったんだよ・・・orz
それで後回しにしてしまったら、忘れてた。
今から他のサイトも見て検証してみる。





0255nobodyさん2006/08/21(月) 20:15:37ID:???
>>254
兎に角var_dumpで吐かせれば結果は出るだろうが
0256nobodyさん2006/08/21(月) 20:34:32ID:LbhS4bpH
こんにちわ。グーグルアドセンスって、どうやってページテーマにあった
広告を出してきているのでしょうか。

恐らくJavascriptだけでは、不可能だと思うので、PHPなども使用していると思うのですが、PHPが動かない
フリーサーバー等でも
サイトテーマにあった広告を出せるのが不思議でしょうがいないです。

ご存知の方いらっしゃいましたら教えてください。お願いします。
0257nobodyさん2006/08/21(月) 20:39:58ID:???
>>256
GoogleAdsense(に限らず配信型広告は大方)JavaScriptで、Googleのサーバにある広告データをもらってきている。
つまりプログラムはGoogleのサーバで動いているということだ。
02582392006/08/21(月) 20:57:00ID:???
var_dumpでやってみたよ
一部オレの勘違いがあった^^;
250では、$a = $c と置き換えていたが、$cをそのまま、突っ込んでいたよ
でも、影響はないと思われたので
var_dump($b, $c, $d);
とやってみたら
string(4) "0000" string(4) "0000" string(4) "0000"
と出たよ

よくわからんけどどう?
0259nobodyさん2006/08/21(月) 21:00:47ID:???
>>256
広告のコード見れば一目瞭然でしょ
0260nobodyさん2006/08/21(月) 21:29:56ID:???
>>239
var_dump($b, $c, $d);
なんで$aが無いのか・・素直じゃないねぇ
てかプログラムやるの無理じゃない?
0261nobodyさん2006/08/21(月) 21:48:21ID:LbhS4bpH
>>257 >>259
ありがとーです^^
見てもわからないんですよね。グーグル側のjsファイルを見てもjsスクリプトしか
記述してないんです。

こちら側のJSファイル(グーグルから貼り付けるように言われたJSファイル)を ME.js
グーグル側のjsファイルを Google.js と仮定します。

ME.js は Google.js を読み込むものである。
Google.js には DBと連携させる何かしらのPHPが書かれている。

ME.jsを読み込んだこちらのファイルは、もしPHPが動かないサーバーでも、
結局はグーグル側でPHPを動作させてこちら側のJSに結果を渡しているから
動くんですよ

と言う解釈で宜しいでしょうか。

0262nobodyさん2006/08/22(火) 06:59:06ID:???
>>258
そういう勘違いを他でもしてるんfだろ
ここに書いたサンプルコードだけでは分からんよ
0263nobodyさん2006/08/22(火) 15:06:25ID:???
>>258
ソースUPれ
0264nobodyさん2006/08/22(火) 19:19:23ID:???
PHP4とPHP5の互換性ってどんなもんなの?
PHP5の入門書で勉強し始めたんだけど、本番環境がPHP4だから恐ろしい。
気をつけるべき事とかあれば教えてください。
0265nobodyさん2006/08/22(火) 20:16:12ID:???
>>264
オブジェクト指向構文はPHP5から追加されたものが非常に多い
関数の引数が違うこともある

とりあえず、いきなり本番環境は止めてくれ。
ローカルでPHPのテスト出来る環境作って、そこでテストしろ
0266nobodyさん2006/08/22(火) 20:33:37ID:???
>>265
ありがとー。
引数の違いがあるのは痛いorz

テスト環境は自宅鯖で他人の作ったPHP動かす為に5.04が入ってるので大丈夫?です。
それ以降だと動かないモノがあるんで・・・
4と5って両方いれるの無理そうだし入れ替えるわけにもいかないし
困ったもんだ。
0267nobodyさん2006/08/22(火) 23:48:12ID:???
俺はmod版の4とCGI版の5を入れてテストしてる。
5メインにしたいけどなかなかそうもいかないのが辛い。
0268nobodyさん2006/08/23(水) 16:09:55ID:???
俺はCで4と5の切り替え用プログラム書いて使ってる
0269nobodyさん2006/08/23(水) 22:31:52ID:???
バージョン互換性がとても低いのがPHPのウリだからしょうがない。
027042歳2006/08/31(木) 03:53:00ID:Z0sApiUa
http://f4.aaa.livedoor.jp/~muni/sc0403.html#sche
を使って予定表を作りました。便利でキレイなんですが、
これのデータである 
/data/200608.dat
を読み込み 今日の内容だけを表示する 超簡単(そうな)プログラムがかけません。

 openfile();を使ったらいいというのだけがわかるんです。

dat の中身は
ちなみに

$maxno,$ctgno,$stamp,$putm,$putd,$week,$puthou,$putmin,$tit,$com,$timeflag,$settim,

となっており、

4,1,-1,08,16,3,,,お盆休み,,1,1150783667,

というようになっています。

最初がIDで、カテゴリーナンバー、次はログ並べ替え用スタンプ で、月、日、曜日、時間、分、タイトル、内容、というのはわかるんです。

日付とタイトルだけを抜き出して表示するにはどう書いたらいいんでしょうか?

絶対できそうだと思ったけど、脳がパンクしました。
0271nobodyさん2006/08/31(木) 04:02:29ID:???
>>270
explode()
027242歳2006/08/31(木) 04:07:33ID:Z0sApiUa
>>271
 ありがとうございます。
 http://www.scollabo.com/banban/php/php_05.html#explode
 とか見てみましたが、まったくわからないというか…。

 どっかに参考になるようなサイトだけでもあったら教えていただけたら。

 お金払います!って気持ちなんですけど。
027342歳2006/08/31(木) 04:14:09ID:Z0sApiUa
fileopenではなく。
fopen() でした。 
027442歳2006/08/31(木) 04:37:09ID:???
真剣に教えてくださる方を探しております。メールをください。
お礼は少しですが必ずさせていただきます。
0275nobodyさん2006/08/31(木) 06:39:19ID:???
>>266
Apacheを2つ入れるって手があるなぁと>両方いれる
0276nobodyさん2006/08/31(木) 07:21:44ID:at/JVgVZ
>>270
,をキーにsplitで区切った配列の該当要素を使うだけ
0277nobodyさん2006/08/31(木) 09:05:40ID:slzMI+G6?2BP(0)
特定ファイルについて、
http://から始まる絶対パスを抽出する方法ってないですか?
realpathだとhttpからは無理ですし・・・。
explodeでケツから/で割って頭をhttp://と交換する方法も考えたんですが、
どんな階層のディレクトリに置かれても機能するようにしたいので、
出来ればそれ以外で何かあればお願いします。
027842歳2006/08/31(木) 12:41:18ID:???
>>276
http://jp.php.net/split
ですが、これの例文みたいなのはどっかにないですか?

 重ね重ねすみません。 このPHPのサイトは私にとってほとんど意味がわからないのです。

 簡単なはずなんですけど。
0279nobodyさん2006/08/31(木) 13:45:55ID:???
正規表現がわからないならexplode見れ
0280nobodyさん2006/08/31(木) 13:53:23ID:???
>>278
$data = "a,b,c,";
$line = explode(",", $data);

foreach($line as $key => $value) print('$line['.$key.'] == '.$value.'<br>');

これで分かる?分かったら今凄く貧乏なのでお金ください。
0281nobodyさん2006/08/31(木) 14:05:23ID:???
>>270
fgetcsv()
028242歳2006/08/31(木) 14:20:51ID:???
fgetcsv()
なんてのがあるんですか? でもデータは /data/200608.dat なので

 Loadtextfile()
 とかで呼び出して、

 if($today==date());

で検索をかけて… というようなことを考えて 

 すみません。 ムリです。 誰かメールください。 マジに払います(そんな大金は払えないが)。
 これがわかったら、今後やっていけるような気がする。

 ムリか。
0283280じゃないが2006/08/31(木) 14:40:44ID:???
>>280はやったのか?スルーしてんじゃねぇよ社会のゴミ。
028442歳2006/08/31(木) 14:56:50ID:???
$dataを宣言するにも、それが  /data/200608.dat  に入ってるでしょう。

 で、最初に date() で日にちを 2006 と8に分けて、そのデータがあって、

 しかも 15日だったら 今日のが表示される… って 

 そういう条件が2つあると無理って感じで・

 あきらめたほうがいいだろうか。 
0285nobodyさん2006/08/31(木) 15:00:45ID:???
斉木由美という子を知ってるが、42歳じゃない
028642歳2006/08/31(木) 15:01:18ID:???
explode()

については ゲットしました!! わかった〜 うれし〜。というのがあります。
 ありがとうございます。 ゴミと言われてもしかたない。
028742歳2006/08/31(木) 15:04:48ID:???
42なです。 PHP改造しかしたことない。 10日で覚えるを一応読みましたが、まったく役立ってなかったなと。
0288nobodyさん2006/08/31(木) 15:05:18ID:???
>$dataを宣言するにも、それが  /data/200608.dat  に入ってるでしょう
ファイルから読み込んで変数にぶちこむ部分を分かりやすいように改変してるだけでしょうw
0289nobodyさん2006/08/31(木) 15:06:04ID:???
>>285
奇遇だな、俺も知ってるが42歳じゃない
好きだったんだけど苗字かわっちゃった

>>284 >>286
何を言いたいのか理解に苦しむ
とりあえず
> 日付とタイトルだけを抜き出して表示するにはどう書いたらいいんでしょうか?
これはできたってことか?
029042歳>>2712006/08/31(木) 15:08:12ID:???
>>289
 そうです。それはできそうだなと思いましたが…。
 
誰か全部書いてください。 というか、自分でやりたいような気もするが、
ここで挫折したら、全部挫折しそうだ。

 そもそもムリだったんだろうか。
0291nobodyさん2006/08/31(木) 15:10:29ID:???
> 誰か全部書いてください。

それを挫折とは呼ばないのか?w
029242歳>>2712006/08/31(木) 15:11:42ID:???
挫折だが金で解決して、学ぶ予定。
0293nobodyさん2006/08/31(木) 15:12:23ID:???
へぇ〜それが挫折じゃないなんてw
とってもプラス思考なんですね。
0294nobodyさん2006/08/31(木) 15:12:56ID:???
読み込んでなかった。>>293>>292見る前の発言。
029542歳>>2712006/08/31(木) 15:26:02ID:???
>>288 ソウナンデスケド…  がんばって本読みながら今夜もやってみますが。
 気になってたまりません。 このスレが。 仕事手につかん。
0296nobodyさん2006/08/31(木) 15:26:51ID:???
>>290

1) まずdate()から年と月を取得する
2) 該当するファイル(例:dat/200608.dat)が存在するかチェックする
3) あったらfgetcsv()でも使って配列$dataにでもぶち込む
4) $dataをループ処理でもして日付とタイトルを書き出す
5) ループしてる最中に今日の日付にマッチするのがあったら
    他の変数($todayData)にでも格納しておく
6) 格納しておいた今日のデータ($todayData)を書き出す

やりたいことはこういうことか?
一つずつクリアしてゆけ、さもなくば好きなだけ挫折しれ
あとは知らない
029742歳>>2712006/08/31(木) 15:31:46ID:???
>>296
 そういうことです。 意味は完全にわかるけど、書けるだろうか。

 こんな簡単なサンプルプログラムがない。 サンプル命できたもので、基本的にはわかってないなと昨日から実感しとります。
 
 1)の date() から年と月を取得するところから、

 $Month=date(M); とかでいいんでしょうか?
 そういうレベルなんですけど。

 これは私にはムリだと思います。
0298nobodyさん2006/08/31(木) 15:37:16ID:???
>>297
だからそれを一つずつ試しながらクリアしていけばいいじゃん

>これは私にはムリだと思います。
そう思うならあきらめなさい
029942歳>>2712006/08/31(木) 15:38:24ID:???
誰かバイトして
0300nobodyさん2006/08/31(木) 15:51:02ID:ntBbHdNQ
どなたか助けてください。

http://www.cgis.biz/script_web_cart/
ここで配布されているショッピングカートのphpを改造中で、
販売データをcsvに書き出す処理があるのですが、
購入商品の数だけcsvの行が増える仕様になっています。
1度の注文につき、どれだけの数の商品を購入しようが、
1行だけにしたいのです。
(販売商品データはcsvでは必要がないため、書き出さないようにしています)

多分この辺が怪しいと思うのですが...
「data_sell.php」のダウンロードcsvヘッダーの設定のあとの行から

$csv_head = mb_convert_encoding($csv_head,'SJIS','EUC-JP');
echo $csv_head;
for($i = 0; $i < count($log_all); $i++){
$log_array = split(",",$log_all[$i]);
for($j = 0; $j < count($log_all_i); $j++){
$log_i_array = split(",",$log_all_i[$j]);
if($log_array[0] == $log_i_array[0]){
$log_all[$i] = rtrim($log_all[$i]);
$log = $log_all[$i] . $log_all_i[$j];
$log = mb_convert_encoding($log,'SJIS','EUC-JP');
echo $log;
}

このどれかをいじればいいのじゃないかと思っているのですがどうでしょうか。
そんな単純じゃないだろうとは思うのですが、誰かお願いします。
030142歳>>2712006/08/31(木) 16:10:34ID:???
たぶんこれではわからないのではないでしょうか?
私だったらCSVデータをアクセスかなんかで引っ張って加工したらいいんじゃないかと思うんですけど。
エクセルでもいいけど。

ごめん。超初心者が何を言う。
0302nobodyさん2006/08/31(木) 16:17:38ID:ikYjbt78
初心者です。
PHPをインストールしてapacheを起動するとエラーになってしまいます。
Cannot load C:/php/sapi/php4apache2.dll into server: \x8ew\x92\xe8
\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa
\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B

C:/php/sapi/の下にphp4apache2.dll はあるんですがなんででしょうか?

ちなみに windowsXP apache2.2.3 PHP4.4.4 です。

すいませんが、わかる方おしえてください。
0303nobodyさん2006/08/31(木) 16:36:05ID:???
>>299
このスレで質問してる部分だけでいいならアルバイトって形で代行しても良いですよ^ω^
というか金ないのでやりたいですw
030442歳>>2712006/08/31(木) 16:44:10ID:???
>>303
 お願いします。 メールください。
0305nobodyさん2006/08/31(木) 16:44:15ID:ikYjbt78
>>302 です。
すいません。解決しました。
PHP5 に変更して、apache2.2 用のDLLをダウンロードして解決しました。
apache2.2 用のDLLをダウンロードしていれないとだめみたいです。
1日、なーんにもできなかった・・・・
030642歳>>2712006/08/31(木) 16:49:14ID:???
>>305 辛いですよね…。私なんか夜が夜でないですよ。最近…。でも、それを楽しむ人間性が必要なのだと。
0307nobodyさん2006/08/31(木) 17:30:49ID:???
こりゃこりゃ、そんなへたな釣りでアドレス収集してんじゃないよw
■ このスレッドは過去ログ倉庫に格納されています