hokaguのWEB戦記

記録目的

PHPのエラー トラブルシューティング

PHPのエラーについて
●ailed to open stream: No such file or directory in
→指定したファイルは存在しません。

●supplied argument is not a valid stream resource in
→関係するファイルのハンドル・リソースが読み込めない。(ヴァーダンプで見ると詳細が分かる。)

●supplied argument is not a valid stream resource in
→指定したファイルは存在しません。もしくはスクリプトが読み込めません(バージョン違いかも)

●Call to undefined function mysql_connect
→SQLの読み込みに失敗しました


PHP4で作られたスクリプトをPHP5にするには

PHP5はヴァージョンアップにともなって下位互換性が無くなった。セキュリティの為なのでヴァージョンを下げて使うことは出来ない。
互換性のない関数だけをPHP5対応にすれば良いんじゃないか、とか考えたが、話はそう簡単じゃなく

危険な関数自体削除されているため、その代用になるコードを考えないといけない。だからPHP4でどう動くか完全に把握した上で代用のPHP5に書き換えないといけないわけだ・・神がいうには「バージョンアップの訂正なんてプログラマーのすることだ、1から作った方がよっぽど早い」との声。そうするしかないか。
エラーの箇所を訂正したいのだが、
そのエラーがピックアップされないのだからどうしようもない。

バージョンが上がることで下位のエラーに対応しなくなったようだ。手も足も出ない。悔しい。


●printは<br>を表示できるが
echoでは表示出来ない。

●phpの変数数は PHP内でincludeで読み込めばそのまま使うことが出来る。

●null・・ 「””」 つまり0と言う意味。

● 「..」は一つ上という意味。つまり最上位階層である\Dとか\Cには無い。

● 「.」はフォルダ内という意味。

●間違ったコメントほど危険。後で悩むハメになる。

●動かない場合 定義済み関数の可能性がある

●PHPでは比較演算子は=<では動かない。<=で動く。

●「//」でコメントアウトしても、文字列によってはエラーが出ることがある。
 「/*」でコメントアウトするのが吉(文字列が長い場合)

●<img src="xxxx.jpg" alt="画像"> という使い方は「"」を
  二重に使うことになってしまうので、htmlではalt=画像 として使う。

●ローカルホストの指定はIPでもできるが、プロバイダの都合で時々変わってしまうので
http://localhost/
http://127.0.0.1/

のほうがベター。

/////////////////////////////////////////////////////////////////

$GETの使い方

?page=02
$_GET[page]でうけとって表示する
"viewer.php?page=".$_GET[page]+2 をリンク先とする

ヒント
? →GETに渡すって意味
PAGE → キー

/////////////////////////////////////////////////////////////////

header関数について 

ヘッダーは他のページへ自動で飛ばす方法が使われる。METAタグの移動属性とは違う。
なぜならメタタグは読みこんだ後に何秒かしてから飛ばす(0秒にすると検索エンジンスパムになる)
のにたいして、PHPのヘッダー関数では移動先のページを指定して直で飛ばすことができるからだ。

使い方・・ header('location:./1.html');とやると指定ページへ飛ばすことが出来る。

ヘッダー関数ははエコーなどの出力関数よりも前に使う必要がある。
それよりも前に使った場合

エラーになる。→Cannot modify header information - headers already sent by (output started at


/////////////////////////////////////////////////////////////////

Division by zero in →0乗算 0で割ると無限大になってしまう。

可能性としてnull(0の意味)を割り算してしまっていることがあげられる。
要は割られるべき数値が無効という意味だ。

/////////////////////////////////////////////////////////////////

ファイルへの複数行書き込み操作(.txt)

二行目に書き込むために、ファイルポインタの関数がいろいろある。けど
それを使わなくても配列で $dict[1]に 書き込めば勝手に書き込まれる らしい
成功しなかったけど・・><

今回はテキストファイルを2つにして どうにか対応した。次からは1つのtxtファイルだけで
複数行かけるようにしたい。

PHP を使って 更新を簡単にする

PHPを使って更新をラクにする

PHP単体で保存しておき

ほかのPHPやHTMLで呼び出す。

そうすると、そのPHPを更新したときに 

表示が反映される。 

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

ネットマニア全ページがPHPです!
PHPって難しく考える人もいるかもしれないですが、一度マスターしたらとても便利です。
現にネットマニアの全ページがPHPです。

なぜPHPを使っているのか?
以前はhtmlを使用していました。
htmlでページ数が増えていった場合の難点と言えばまずメニューです。
例えば、最初はメニュー項目が5つだったが、その後6つに増えました。
しかし、それまでに同様のページを10ページ作っておりメニュー項目を変更するには、10ページ全部を更新する必要があります。

これが面倒であり、htmlの弱点でした。かと言ってフレームにするのは何かとイヤです。
そんな悩みに応えてくれるのがPHPなのです。

PHPはメニュー項目を外部ファイルから呼び出すことが可能であり、何百ページあっても1つのファイルを変更するだけでメニュー項目の変更ができるのです。
つまり、各ページでメニュー外部ファイルを読み込むので、その外部メニューファイルを変更するだけで全ページが更新できるわけです。もちろん、メニュー項目以外にもいろいろ使えます。

実際にPHPを使用してみる。
まず適当なhtmlファイルの表示させたい個所に

require("sample.txt");
?>

と記述します。上記sample.txtは外部ファイルです。
記述したら、そのhtmlファイルをPHPとして保存するのです。(拡張子を.php)

次に読込用外部ファイルを用意します。
メモ帳などで表示させたい内容を記述し、sample.txtという名前で保存します。
あとは、サーバーにアップして下さい。

phpファイルにアクセスすると、外部ファイルを読み込んで表示されるハズです。

ネットマニア全ページがPHPです。
先述したとおり、ネットマニアの全ページがPHPです。
1ページに読み込んでいるファイルは、このコラムページで言えば
1.ヘッダーメニュー
2.コラムメニュー
3.フッターメニュー
以上3つのファイルを読み込み表示させています。

「よくわからん」という方へ
よくわからない方の為にサンプルファイルを用意しました。
ダウンロードしたファイルをそのまま、サーバーにアップしたら動くハズです。
しかし、サーバーによってはPHPが使えないところもありますので注意して下さい。

http://www.netmania.jp/technique/hp/hp001.php

apache PHP MYSQL を自動インストール

apacheの設定はほんとに難しい。とにかく失敗する。

apache PHP MYSQL を自動インストール

ソフトを発見した。

実用的かどうかは不明。デメリットは特になく、うまくいかなくても削除すれば良いだけなので

 時間があるは是非トライして欲しい


apache PHP MYSQL を自動インストール

PHPリファレンスの本に載っていたリンク

詳しいことが載っているページとして記述されていたが、

どうもその道のスペシャリストが見るべきページらしい。

よく分からないので保留!保留!

英語のページもあったけどムシムシ!日本語でさえややこしいのにわかるわけねー(笑


日本 PHPユーザー会・・日本語版 PHPのすべて


日本語PHP
・・上のリンクの真似ページか?けど分かりやすい

DO YOU PHP?
・・実験ページ、新しい定数の癖が分かる。




こういうスクリプトを作りたい

プロフ。これって簡単にできそうだけど、今はやりのデコメとかにするには

デザインとか上手くないとなー
他のサイトのデザインも酷いもんだけどアレでユーザーは満足なんだろうか?

一番下に広告を置いて利益も期待できる かも

http://pr.cgiboy.com/
次のページ

最近のネタ

カテゴリー

(*~▼~)ノ

天気予報


-天気予報コム- -FC2-

カウンター

ブログ内検索

リンク

このブログをリンクに追加する