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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2009/04/05(日) 22:04:26ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

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

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

関連スレ
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
PHP初心者勉強会やらんかね!
http://pc11.2ch.net/test/read.cgi/php/1209137730/
0951nobodyさん2009/08/19(水) 18:13:25ID:lH3P7pqc
>>950
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
ってしてますけど間違ってますか??
0952nobodyさん2009/08/19(水) 18:21:07ID:???
つーかあー

if(isset($_POST["sumbit"])) echo 〜
             ^^
0953nobodyさん2009/08/19(水) 18:26:01ID:lH3P7pqc
>>952

ちょっと新しい眼鏡買ってくる

ありがとうございました
0954nobodyさん2009/08/19(水) 18:39:26ID:???
>>951
余談だけど「PHP_SELF」はやめときなさい。
「SCRIPT_NAME」を使おうね。
0955nobodyさん2009/08/19(水) 18:48:15ID:???
SELFだとGETリクエストを紛れ込ませられるんだっけ?
0956nobodyさん2009/08/19(水) 19:11:48ID:???
>>953
おじさん、老眼かい?w
0957nobodyさん2009/08/19(水) 19:18:27ID:???
> このスレッドは、他のスレッドでは書き込めない超低レベル、
> もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
0958nobodyさん2009/08/19(水) 21:42:56ID:???
自分に送るなら空白が吉
0959nobodyさん2009/08/20(木) 09:24:44ID:???
php,mysql に関する質問です。
引数でテーブル名を受け取って、そのままテーブル(行)内容を出力するのはどうすればいい?

function db_print($table) {
 // db接続部分は略

 $sql = "select * from $table";
 foreach ($dbh->query($sql) as $row) {
  // print ($row['name']); //列名を指定すれば出来る
 }
}
0960nobodyさん2009/08/20(木) 11:17:13ID:???
http://jp.php.net/manual/ja/book.mysql.php
この関数群の中に答えがあるはず
0961nobodyさん2009/08/20(木) 12:01:41ID:???
mysql_num_fields と mysql_field_name だぁね
0962nobodyさん2009/08/20(木) 12:16:45ID:???
つーかPear::DBだろ、その書き方だと。
だったらこのあたり見れ。
http://pear.php.net/manual/ja/package.database.db.db-common.tableinfo.php

上のお二方は、pear じゃないDB接続ライブラリを使った場合の話。
db接続部分を略しているとマトモな回答がもらえないぞ。いろいろな
接続方法があるんだから。
09639592009/08/20(木) 12:24:03ID:???
>>960-961
ありがとう。試行錯誤してみる。
ただ、できれば PDO 関数群でやってみたかった。
現状だと print_r でとりあえず出力出来ると分かったけど、
これだと出力形式が固定される気がしたので、質問してみたんだ。

うーん、質問が悪い気がするので取り下げます。
初心者過ぎたな。悪い。
とか書いてたら、>>962ありがとう。
0964nobodyさん2009/08/20(木) 15:39:46ID:???
拡張子を.htm、.htmlのままでphp動かせる?
0965nobodyさん2009/08/20(木) 15:41:14ID:???
Apacheで設定汁
0966nobodyさん2009/08/20(木) 15:45:16ID:???
JavaScriptで

document.write("<a href=http://www.xxxx.com/xxxxx.php>;</a>");

みたいに書くとか。
0967nobodyさん2009/08/20(木) 15:47:13ID:???
リンク貼るだけかよw
0968nobodyさん2009/08/20(木) 18:08:33ID:???
<script type="text/javascript" src="xxx.php"></script>
これで池。
0969nobodyさん2009/08/21(金) 14:52:20ID:???
PHP入門書の中に条件式としてis_int($channel)とあったんですが、
これってどういう意味なんでしょうか・・・

// チャンネルを変える
public function channel($channel) {
if (is_int($channel)) {
$this->channel = (int)$channel;
echo "チャンネルを{$this->channel}に変えました\n";

こういった文です・・・
0970nobodyさん2009/08/21(金) 15:00:16ID:???
http://google.com/search?q=is_int+php
0971nobodyさん2009/08/21(金) 15:29:41ID:???
oopの入門コードだなw
0972nobodyさん2009/08/21(金) 15:30:18ID:???
>>969
無駄の多い書き方だね
intをわざわざintにキャストしてるとこも謎だね
PHPは型が曖昧だから引数に違う型いれられても
自分で判定ロジック書かないといけないってことじゃないかな?
OOPで書いといてなぜException使わないのかと問い詰めたいけど
まぁその入門者は破り捨てていいよ
0973nobodyさん2009/08/21(金) 15:40:47ID:???
たしかにw
intであるのを確認した後でintにキャストってのがなんとも…
0974nobodyさん2009/08/21(金) 15:46:44ID:???
アホな本が多すぎるのが、PHPの困ったところだ。
0975nobodyさん2009/08/21(金) 15:49:23ID:???
あとは検索上位のサイトが平気で嘘を書くのも。
09769692009/08/21(金) 16:08:24ID:???
入門書に対する書き込み多くてかなり焦っております。
信頼できる本やサイトがあればご教授願いたいところです・・・
0977nobodyさん2009/08/21(金) 16:14:52ID:???
大丈夫
どんなクソ入門書からはじめても場数ふめばまともなの書けるようになるから
最初のうちはその入門書のクセがついちゃうけど
だんだんわかってくればかわってくるから平気
PHPスレとか眺めてるだけでも結構勉強になるはずだ
PHP関連スレではPHPマニュアルで勉強しろっていわれるだけだとおもう
http://jp.php.net/manual/ja/index.php
0978nobodyさん2009/08/21(金) 16:18:54ID:???
>>977に同意。
0979nobodyさん2009/08/21(金) 18:49:34ID:???
関数内の配列をGlobalにしたいんですがどうすればできますか?
変数と同じ方法じゃできませんでした。
0980nobodyさん2009/08/21(金) 18:54:32ID:???
まずは試してみたソースを曝すべし
0981nobodyさん2009/08/21(金) 18:59:02ID:???

function MONSTERREAD() {
while(${no}<9){
${no}++;
$fp = fopen("nightwish/".$_SESSION{'id'}."".${no}.".dat", 'r');
$hensu="unit";
$hensu.="${no}";
while (!feof($fp)) {
print $hensu;
global ${$hensu};
${$hensu}['$i'] = fgets($fp);
$i++;
}
}
}
$_SESSION{'id'}=dada;
MONSTERREAD();
$i++;
print $unit1[1];


これを実行するとunit1が行数文出力されてunit2unit3unit4…と続いてunit9で終わってunit1[1]の分が出力されません
0982nobodyさん2009/08/21(金) 19:10:57ID:???
変数は初期化しろ。
ファイルはクローズしろ。
0983nobodyさん2009/08/21(金) 19:15:03ID:???
なんかVBを思い出した
0984nobodyさん2009/08/22(土) 01:13:07ID:???
<?php
function MONSTERREAD($id) {
 $return = array();
 for($no=1;$no<9;$no++){
  $fp = fopen("nightwish/".$id.$no.".dat", 'r');
  $hensu = "unit" . $no;
  $lines = array();
  while (!feof($fp)) {
   $lines[] = rtrim(fgets($fp));
  }
  fclose($fp);
  $return[$hensu] = $lines;
 }
 return $return;
}
$var = MONSTERREAD("dada");
extract($var);

var_dump($unit1);
var_dump($unit2);
09859842009/08/22(土) 01:20:11ID:???
その糞コードのどこが間違ってるかは調べるだけ時間の無駄なので調べていない。

・関数は「値を受け取り、値を返すもの」だ。
 関数内で使う変数は、全て引数として渡せ。
 外で使う値は、常に返り値として返せ。一度で返しきれないなら関数を分けろ。
・変数名に数字を持たせるな。
 1-8までの数字を変数名に持つ、という事は、そいつは論理的には配列として扱うべき変数だ。
・変数名を文字列として扱うな。
 吐き気を催しつつ書いたが、extractはせず$varのまま使うほうが百万倍正しい。
 unit1...unit8となっている配列キーは、1...8の数値になるのが正しい。
・てめぇにオリジナルのプログラムは無理だ。出直せ。
0986nobodyさん2009/08/22(土) 02:50:22ID:???
$hensuの時点で萎える
0987nobodyさん2009/08/22(土) 15:00:18ID:???
$lineindex[$disptree]

こう言う風に書かれた変数はどういう意味になるのでしょうか?
0988nobodyさん2009/08/22(土) 15:01:30ID:???
配列$lineindexのキーが$disptreeのところ
0989nobodyさん2009/08/22(土) 15:06:58ID:???
$lineindex[0]こう言う風に書くと配列の最初の内容を表しますが
0という入れ物の名前が$disptreeに変わっただけなのですね。
0990nobodyさん2009/08/22(土) 15:15:21ID:???
PHPを使用して指定したWEBページの全てを取得し、保存するにはどうすればよいでしょか?

例: http://google.co.jp とtextbox項目に入力し、保存ボタンをクリックすると
   そのページで使用している画像等も全て

 data/googleIndex.html として保存したいです。
 

また、画像を保存する・しないも切り替えられる様にしたいのですが
どうすればよいでしょか?

ヒントをお願い致します。
0991nobodyさん2009/08/22(土) 15:27:20ID:???
PHPで携帯サイトを作っています。
例えばindex.phpが30KBあり、includeするPHPファイルが100KBあるとします。
PHPから吐き出されるHTMLが10KBの場合、携帯で発生するパケットを10KBと考えていいのでしょうか?
0992nobodyさん2009/08/22(土) 15:27:51ID:???
>>990
file_get_contents( $url ) でhtmlファイルを取得したのち、
htmlを解析して、インクルードしてる各種ファイルを取得、CSSファイルがあればさらにそれも解析して使ってる画像を取得、
イメージタグから画像のパスを取得して画像ファイルを取得。
インラインのスタイルを使っているかもしれないからそれも何とかして解析して画像へのパスを取得。
flashもあるかもしれない。javascriptの解析から、使ってるファイルとか画像を取得するのが面倒だな。

ちゃんとしたの作ってくれれば喜ぶ人がいると思うよ。頑張ってね。
0993nobodyさん2009/08/22(土) 15:29:11ID:???
>>991
実際のパケット量見てみれば分かることじゃない。
0994nobodyさん2009/08/22(土) 16:32:20ID:???
>>990
HTMLを全てトレースしてimg srcを見つけたら保存でいいじゃん。
それをON/OFFすりゃいいだろ。
0995nobodyさん2009/08/22(土) 18:26:30ID:???
>>992
>>993
何とかやりたい事が出来そうです。
どうもありがとうございました。
0996nobodyさん2009/08/22(土) 18:27:10ID:???
>>993



>>994
の間違いでした。
0997nobodyさん2009/08/22(土) 19:19:18ID:???
言われたとおりにしたらできましたありがとうございました
0998nobodyさん2009/08/23(日) 13:48:59ID:???
998
0999nobodyさん2009/08/23(日) 13:49:44ID:???
999
1000nobodyさん2009/08/23(日) 13:50:38ID:???
このスレは1000の風になりました
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。