【PHP】初心者コーナー
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/01/21 03:21ID:???仕方ない、人気のないPHPを応援してやる。
データベース禁止 MySQL PostgreSQL はどっかいけ。
純粋にPHPプログラミングだけ。
初歩的な事ならWebProg板の誰かが素早く教える。
もちろんPerlプログラマーも手伝ってくれ。
ほんじゃ質問してみ。
>>2-9 誰か情報かいてくれ。
0349nobodyさん
03/01/12 23:53ID:???今日び珍しいな。
キチンと自分で組んでから質問する奴は。
おじさん嬉しいぞ。
ところでそれ動かした?
まずはそれから。
>>348の言う通りfgetcsvを使うのも手だが勉強の為にfgetsを使うのも手。
0350344
03/01/13 02:28ID:???入ってきてないようでした。そんなわけで
list($bnr,$url,$site) = explode(",", $buffer);
ここの$bnr,$url,$siteを配列にしてみたらうまくできました。
付け加えたソースはこれ。
srand((double)microtime()*1000000);
$num = array_rand($bnr);
echo ("$bnr[$num]\n");
そしてもうひとつ問題があって、data.txtに相互のデータを追加して、
相互だったらバナー表示という風にしたいんです。
listのところでif文を入れたいのですが、具体的にどうしたらいいか
わかりません。ご教授いただけると嬉しいです。
0351nobodyさん
03/01/13 03:54ID:???data.txt
内でケツにフラグをつけるってとこだがどうよ?
バナー, URI, site, flg
ってな感じに。
で、flgがあれば表示にしてなければ表示しないとか。
あー相互ってのは相互Linkの事だよね?
0352344
03/01/13 10:15ID:NmVahH2Q相互リンクのフラグはdata.txt内に入ってます。
常にバナーを表示していたいので、データを取り出すときに
相互リンクだったらデータ格納という感じにしたいのですが。
list〜のあとにバッファを開放してやればいいんでしょうか?
0353nobodyさん
03/01/13 20:15ID:???ていうか何をしたいのかがいまいちわからん。
0354nobodyさん
03/01/14 15:59ID:nziy2bwNPHP4.3.0をいれて、ApacheをいれてPHPの勉強をはじめました。
で、色々と初歩的なプログラムを作ってみてたんですが
どうしても、POSTができません。
Method Not Allowed となります。
googleで検索して、どこかの設定を変えないとだめだという
のは見つけたんですが、具体的にどこをどうかえていいのやら・・・
0356354
03/01/14 16:46ID:nziy2bwN0357nobodyさん
03/01/14 16:49ID:???http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=apache+POST+%8B%96%89%C2
0358354
03/01/14 17:29ID:nziy2bwNありがとうございます。
しかしそれをみても、わからない・・・
The requested method POST is not allowed for the URL ***.php3
となってます。
もうちょっと勉強します。
0360nobodyさん
03/01/15 05:20ID:RBRicbNg教えて下さい
0362nobodyさん
03/01/15 07:05ID:RBRicbNg0363362
03/01/15 08:03ID:RBRicbNgって事です
アドバイスおながいします
0364126
03/01/15 08:10ID:pIr+HNI+http://www6.ocn.ne.jp/~endou/ten.html
0367nobodyさん
03/01/15 08:42ID:4Y/f41Yb0368nobodyさん
03/01/15 08:44ID:???0370ほげ
03/01/15 11:57ID:UyCbGV3Aいみわからんが。とりあえず、PHPで書いたページにPerlのアクセスログをのせたいと
いう過程でよいか?
0371nobodyさん
03/01/15 12:34ID:lod7zukU通常、UNIX系OS+Apache+PHPモジュール+MySQLという環境での2バイト文字は、
EUC-JPで記述して、表示もEUC-JPですよね?
携帯でも見られるページがつくりたいので、表示はSJISにしたいのですが、
そのときは、どうするのが最良なのでしょうか?
PHPの記述も、MySQLに格納する文字データも全てEUC-JPに統一して、
表示の際に、表示するページをバッファしてSJISに変換するのでしょうか?
それとも、プログラム内も表示も全てSJISに統一する方法があるのでしょうか?
安価な共有レンタルサーバで運用することを前提に考えていて、
PHPのバージョンは国際化対応(4.0.4以上でしたっけ??)を前提に考えています。
よろしくご教授ねがいますm(..)mペコ
0373山崎渉
03/01/15 13:30ID:???0374nobodyさん
03/01/15 16:22ID:H6Vl99xRそうです
何か方法はありますか?スレ違いだったらすみません
0377nobodyさん
03/01/15 17:26ID:RBRicbNgどうやってやるんですか?
includeってやってもスクリプトそのものが出てしまうので
http://www.azworks.org/~az/
ここのunico diary systemとunico includerを使って
PHPページで表示させたいのです
無理でつか・・・?おねがいします
0378nobodyさん
03/01/15 17:58ID:???国際化版なら
ttp://nxweb.dyndns.org:8080/php-i18n-using.html
のサイトを参考にするといいかも
0380nobodyさん
03/01/16 00:57ID:???これで1〜3件の記事を表示させることはできたのですが
4〜10件の記事を表示させることが出来ません。
for($i=4;$i<=10;$i++){
だと1〜10件表示されてしまいます。
どうすればいいんでしょうか?
また 10〜4と逆に表示させるにはどうすればよいでしょうか?
0381380
03/01/16 00:58ID:OzytJsyY0382380
03/01/16 01:17ID:OzytJsyYfor($i=4;$i<=10;$i++){
だと4〜10件表示されてしまいます。
の間違いでした。
0383nobodyさん
03/01/16 01:18ID:???>for($i=4;$i<=10;$i++){だと1〜10件表示されてしまいます。
forブロックの中身をまともに書いているならあり得ません。
晒すべし。
後、for($i = 9;$i > 4;$i--)。
0384380
03/01/16 01:18ID:???for($i=4;$i<=10;$i++){
だと1〜7件表示されてしまいます。
の間違いでした。
0385nobodyさん
03/01/16 01:19ID:???これで1〜3件の記事を表示させることはできたのですが
4〜10件の記事を表示させることが出来ません。
for($i=4;$i<=10;$i++){
だと4〜10件表示されてしまいます。
でいいのか?
答えはお前何言ってんの?だけど。
0386380
03/01/16 01:22ID:???間抜けなことをしてる間にお返事ありがとうございます。
forブロックの中身…というのも実はよくわからないのですが
ここまででいいのかな…?
for($i=1;$i<=10;$++){
$line = fgets($fp, 8192);
if (feof($fp)){break;}
$tmpline = explode('<>',$line);
unset($log,$data);
while($key = array_shift($tmpline)){
$log[$key] = array_shift($tmpline);
}
0387nobodyさん
03/01/16 01:23ID:???0390nobodyさん
03/01/16 01:25ID:???どこにも$iが使われてないんだけれど。
もう一度フローチャートなり何なりを書いて頭の整理をすることを激しくお勧めするけど。
俺は寝る。
0391380
03/01/16 01:32ID:???うーん全部書くとこんな感じなんですけど
これ自体がおかしいってことですかね…
<?
$logfile = 'xxx.dat';
$fp = fopen ($logfile, "r");
for($i=1;$i<=3;$i++){
$line = fgets($fp, 8192);
if (feof($fp)){break;}
$tmpline = explode('<>',$line);
unset($log,$data);
while($key = array_shift($tmpline)){
$log[$key] = array_shift($tmpline);
}
if($log[date]){
list($date[tm_mon], $date[tm_mday], $date[tm_hour], $date[tm_min]) = explode(',',$log[date]);
}else{
$date = localtime($log[Write_Time],1);
}
$log[date] = sprintf("%02d/%02d %02d:%02d", $date[tm_mon] +1, $date[tm_mday], $date[tm_hour], $date[tm_min]);
echo "$log[date]<br>\n";
echo "$log[note]<hr>\n";
}
fclose ($fp);
?>
おやすみなさい。
0392nobodyさん
03/01/16 01:34ID:???答えはこの板の住人ほぼ全員が答えられるだろうけど
それではきみはまたすぐにつまづくことになる。
マニュアル読め!ってのはややオニなので
入門書を買うことをすすめます。
3000円より無駄にハマっている時間のほうがもったいないです。
0393380
03/01/16 01:51ID:???やさしいお返事ありがとうございます。
ぶっちゃけ ttp://www.php.net/manual/ja/ こことか見ても書いてある意味がわからないです。
PHPに触れるまで他のプログラムも触ったことがなかったし(HTMLオンリーで)
PHPは自分で全部書けるようになろうとは思ってないんです…。
自分でもわかるようになればいいなとは思うんですけど
勉強しないとできないならば1件から10件の表示でいいや…と思うようなへたれです。
ごめんなさい。
つきあってくれてどうもでした。
0394ほげ
03/01/16 09:42ID:EjAVyOLAおそくなってすまんですたぃ。
えっと。実行させるだけなら簡単
passthru ("./hoge/hoge.pl" );
でできるとおもうけど。
環境変数は渡らない。
だーかーらららん
Remote_AddrとHTTP_USER_AGENTをつけたいのであれば
putenv("REMOTE_ADDR=" . getenv("REMOTE_ADDR"));
putenv("HTTP_USER_AGENT=".getenv("HTTP_USER_AGENT"));
をつけると良いヨイ
結果。
putenv("REMOTE_ADDR=" . getenv("REMOTE_ADDR"));
putenv("HTTP_USER_AGENT=".getenv("HTTP_USER_AGENT"));
passthru ("./hoge/hoge.pl" );//相対パスで。
でいけると思う。まちがってたら。ゴメシ
0395nobodyさん
03/01/16 16:43ID:???for($1=4;$1<=10;$1++){echo("こんばんわ");}
for($1=1;$1<=7;$1++){echo("こんばんわ");}
は同じ動きをします
ともに7回「こんばんわ」と表示します
「始まりの値」をいくつに設定しようと「終わりの値」との差分の回数だけ繰り返し処理をします
0397nobodyさん
03/01/16 17:15ID:???0398nobodyさん
03/01/16 17:27ID:???個人的には、i,j,k.. や l,m,n、x,y,zも良く使うなぁ。
0400nobodyさん
03/01/18 00:17ID:???微妙に年末どこかのスレで話題になっていた記憶が……
0401nobodyさん
03/01/21 12:11ID:4zwnocSK環境は RedHat7.3+Apache1.3.27+PHP4.3.0 なんですが
PHP4.2.3等で動いていたソースが警告を受けるようになってしまいました。
ソース先頭で
$name_ = $_REQUEST['name'];
として、グローバル変数をローカル変数に取得して、操作しているのですが
Notice: Undefined indexのエラーが出力されるようになってしまいました。
4.2.3で動作していたソースを4.3.0にそのまま持ってきただけなのですが・・・。
どこか設定をいじらなければいけないのでしょうか?すいませんが、よろしくお願いします。
0404nobodyさん
03/01/21 12:59ID:PC/WMbRD入力した text の値(value)を POST送信しないで取得する方法をご教示ください。
0406nobodyさん
03/01/21 14:22ID:xJNj/yikシーラカンス本見てもいまいち・・・
どうやってデータ取り出すんでしょう?
本の通りにやると多次元配列に入ってしまうのですが
私の頭では二次元くらいまでしかわかりません
おたすけ
0407nobodyさん
03/01/21 15:08ID:Y93UfzJDフォームからPOST送信したデータを$_POST["name属性"]で参照できる
と書いてありましたが、どうしてもうまく参照することができないみたいです。
よければアドバイスお願いします。
0409408
03/01/21 16:34ID:???○マルチに回答するときは質問形で書いても無駄。
「GETを使ってください」とか書かないと。
0410hmk
03/01/23 00:27ID:1086D/Beそんな質問のしかたじゃ誰も答えられません。状況がみえてきません。
ソースなりエラーメッセージなりを晒せ。
------
[PR] w-inds慶太の○○飲みたいプログラマ hmk をよろしく
0411ほげ
03/01/23 10:34ID:Vttepi7g.htaccessが使えるなら、
ほにゃららっと呪文を書いておけば、前バージョンと同じ方法で
ゲトでけるよ。
同じ方法とは・・・(略)
0412nobodyさん
03/01/23 15:33ID:???if ($value > 600){
なんちゃらかんちゃら;
}
ユーザーから入力された文字列をチェックして、
指定したサイズを越えるようなら末尾をカット
したいんですが、そういう関数を見付けられま
せんでした。どうしたら実現できますか?
0413nobodyさん
03/01/23 15:52ID:???http://php3.info/manual/ja/print/function.substr.php
0414nobodyさん
03/01/23 19:33ID:???600って文字列の長さ?
http://php3.info/manual/ja/print/function.strlen.php
0416nobodyさん
03/01/25 19:54ID:8WYgoXD5phpで圧縮通信はどのように行ってるのでしょうか?
0417nobodyさん
03/01/25 20:35ID:???0418nobodyさん
03/01/25 20:41ID:???マニュアルでいうと「出力制御関数」のあたり。
0421nobodyさん
03/01/25 21:20ID:???PHPに触れてみようと思い、レッツPHP! のぁぷろだをローカルPCに設置してみました。
ソースは一切修正せずに使ってみたところ、以下の問題が起こりました。
1. サイズが表示されない。そもそもログにサイズが書き込まれていない。
2. ファイルの削除ができない。ただしログから該当行は削除される。
ソースを修正していない以上、環境の問題だと思うのですが、
まず何から当たってみるべきでしょうか?
ローカルの環境は、FreeBSD 4-stable + Apache 2.0.44 + PHP 4.2.3 です。
0423nobodyさん
03/01/25 22:28ID:???あれまごめんなさい。
とりあえず、サイズが書き込まれないのは、該当する $upfile_size という変数に
値を入力する処理が抜けているためであるようです、多分。
# $upfile_size という変数自体、検索しても1箇所(=ログの先頭行を作るところ)にしか現れないし
削除されないのは、その前の if(file_exists(... の条件で既に引っかかっていて、
unlink のところまで処理が来ていないためのようです、多分。
ということでそもそも環境が正しいのかどうかは判らずじまいですが、
忠告通り文法学んでから自作することにします。お邪魔しました。
0425nobodyさん
03/01/26 00:50ID:???ありがとございます。
間違ったこと書いてしまっていたのが解ったので今のうちに修正。
> $upfile_size という変数
ソースの方で、<input type="file" name="upfile" ...
となっているので、$upfile_size でいーんですね。
で、私の環境は 4.2.3 (>4.2.0)なのでそのままではこれが使えず、
その代わりに $_FILES['upfile']['size'] を使えと。
ふーん、PHP おもろいっスね。
0426nobodyさん
03/01/28 21:07ID:???0427nobodyさん
03/01/29 15:42ID:M6udjUCYPHPを使ってリダイレクト処理を行うにはどのようにすれば良いのでしょうか?
JAVAでのresponse.sendRedirectのようなものがあればと思うのですが
ご存知の方、おられまいたら、なにとぞご教授下さい。
0428nobodyさん
03/01/29 15:59ID:SzV4e5awheader("Location: http://www.php.net/"); /* ブラウザをPHP Web サイトにリダイレクトする */
exit; /* リダイレクトを行う際に以下のコードが実行されないようにする */
0431nobodyさん
03/01/29 17:48ID:???VBみたいなツールはないんですか?ずっとVBだったのでなんか過去に戻ったような気分なんです。
それともエディタで開発してるのはうちの会社だけですか?
0435nobodyさん
03/01/30 21:35ID:???今も手に入るのかな?
0437nobodyさん
03/01/31 11:03ID:???初心者なので教えて下さい。
マニュアルやリファレンス関係を探したのですが、見つけられなかったのです。
SQL実行失敗で:Column count doesn't match value count at row 11と出たんですが
これって11個カラムが多すぎるという事で良いんですよね? 辞書引いて多分そうだと思ったのですが…
ちなみに言うとprimary key でtext に設定して、合計で33個あるんですが、やっぱ多すぎですか?
0439nobodyさん
03/02/01 13:24ID:???insert into テーブル名 ( 項目名リスト ) values ( 値リスト ) としたとき、
項目名リストの数と 値リストの数が一致してないんじゃないかな。
MySQLは使ったことないんで間違ってたらスマソ
0442nobodyさん
03/02/01 15:24ID:h8yp1rmmこのURLは「aaaaaaaaaaa」とHTML出力、
それ以外のURLは「bbbbbbbbbbb」と出力したい。
どうすんの?
0444nobodyさん
03/02/01 15:33ID:???>それ以外のURLは「bbbbbbbbbbb」と出力したい。
解説いらないのか・・・
0445nobodyさん
03/02/01 15:34ID:???めんどいからな。
if(konoURL == aruURL)
print("aaaaaaaaaaa");
else
print("bbbbbbbbbbbbb");
と好意的に解釈した。
0446nobodyさん
03/02/01 15:35ID:???0447nobodyさん
03/02/01 15:43ID:???例えば、URLに「hogehoge」と含まれていたら、
HTMLで「HogeHoge Homepage」とか出力したいのですよ。
含まれていなかったら「No HogeHoge Homepage」とかな。
■ このスレッドは過去ログ倉庫に格納されています