新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

今PHPで気になっていること。

2020-07-19 20:11:29 | PHP

 今ネタ本を見ていて、気になっていることが2点ばかりあります。一つは自分自身を渡す引数をもって、呼ぶこと。二つ目はhtml形式の出力をすること。この二点が出来ると、ページネイションが出来るように感じるのです。html形式の出力をするのが意外と難しいようです。単なる文字列だけなら簡単なんでしょうが、例えば、ネタ本の内容から言うと、データベースをどういう風に読んで出力するのか?難しそうに見えます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

長い間取り組んだ、PhotoLib大分進みました。(^^♪

2020-07-18 08:17:35 | PHP

 普通は、参考する本にあるのは、短いスクリプトやプログラムが殆どで「PHP5.0+MySQL5.0で構築する最速Webシステム」のフォトライブラリのような例を見たことがありません。素人は完成したものを見ることはほとんどないと思います。その意味では貴重だろうと思います。例を参考に出来るかどうかは置いておいて。ここまで楽しみながら、苦しんできました。"(-""-)"

 中々自分一人ではここまで、出来ないでしょうから、この参考書をベースにして、PHPに取り組みたいです。実行中の様子が少し変わりました。

PHPのテストを加えてみました。このデータベースを使う試験をしてみます。

データベースに登録されているデータは、日付でSELECTすると、上の様になるようです。

カテゴリーで分けると、上の様になるようです。

犬のカテゴリーを表示しました。

ネットから探した、ページネーションでtblphotoをべた出力して見ました。このページネーションでは、数字で表示です。前とか後とかで無いです。ネタ本では、前、後ろを表示です。

自分はPDO接続に変えたつもりだったんですが(上)、下のcaleglist.phpではmysqliを使ってました。何時か直したんですね。"(-""-)"結果、混ぜても大丈夫ということですか?

 上は、出力する区分を何でするか?キーワード、日付、カテゴリーを判断するところ。ネタ本だとelseif (isset($categid))となってますが、ここはPHPのバージョンが違うせいか?一度isset($_GET['categid'])で、入力が有効の時に、初めて$categid=$_GET['categid'];で、変数化します。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

解決の糸口見つかりました。!

2020-07-17 07:11:58 | PHP

 実行の様子は前と同じです。キーポイントは赤丸のブレークポイントのところ。下の図で次の画面に渡す変数をセットしてます。ここは本の通りです。

 少し違うのが上の方の図です。本ではif(!isset($page))とあったんですが、それでは駄目でif(!isset($_GET['page'])と書かないとダメでした。分かれば簡単、分からなければ五里霧中です。本の通りやれそうです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

問題の本質が見えました。

2020-07-16 11:40:40 | PHP

 自分から自分を呼んでいるのですが、この時に保持しておかないといけない変数があります。今やっている「PHP5.0とMySQL5.0で構築する最速Webシステム」では今のところ、$page、$tcnt、$totalpage。$pageは今出力しているページの数、$tcntは該当している件数、$totalpageは出力するのに必要なページ数。

 例えば、$pageは変わる数です。1ページに9件出力するとします。該当の件数$tcnt=20とすると、必要なページ$totalpage=3です。この3つの数値を一画面の表示終わったときに、渡さないといけないようです。渡す方では、出来ているようです。渡される方でも、キチンと渡されれば、処理できるようです。

 結果は受け取ることが出来ないので、ページネーションが出来ません。((+_+))

前回出来たように感じてましたが、改めてネタ本に忠実にしようと訂正を重ねたら、崩れました。3歩進んで、5歩下がる。です。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPが難しい理由、其の一

2020-07-14 10:10:34 | PHP

 ブレークポイントが3個ありますが、$page_numの性質が違います。一番上の$page_numは調べると、PDOStatementとでます。2個目のブレークポイントで$page_num = $page_num->fetchColumn();で初めて、intの性格を持つようです。

 知らないところで、クラスとインスタンスが動いているようです。この辺もPDOを使ったデータベース接続とmysqliを使った場合の違いが、さらに混乱を起こします。

追記)VS Codeの配色を変えました。前のは行番号が見えないと、コメントが見えなかったので、変えました。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPはまって抜け出せません。

2020-07-13 21:45:36 | PHP

 PHPは簡単そうで難しいです。コンパイラで無いので、実行するまで分からない。ごく簡単なことは構文チェックするようです。変数関係はノーチェックみたいなものです。文字列なのか?そうでないのか?PHPモードとhtmlモードがある。PHPで文字で出力でhtmlモードを表現する。こともある。画面の移り変わりが分かりずらい。

 ネタ本の「PHP5.0とMySQL5.0で構築する最速Webシステム」は、良いとこまで行ったように思えたんですが、肝心のところが分からずじまい。画面が変わっていく段階で、元の画面の入力をどうやって覚えておくか?結果のみであれば、globalかstaticな変数で良いように思えるんですが、どうも違う。入力があったか?変数であれば$hogeとかで良いのでしょう。$_POST['kyword']という書き方が、最初の時は良いのですが、違う画面に行って帰ってきたときに、入力があったことにする方法が分からない。そこで諦めて、出来ることをしてみましょうです。

写真のテーブルをべた出力して見ました。この表から図をどうやって開くんでしょうか?それと取り敢えずPHPの要らない部分をコメントにしたんですが、何故か出てきます?

ここからやって見たいと思います。

追記)コメントが出力されると思ったのですが、一行上でphpモードを終了してました。只の文字になってました。そこを訂正したら、出なくなりました。もう一か所ありました。よく理解しないで、コードを張るので、間違っていました。FROMのあとは、テーブルを指定します。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPにはまって抜け出せません。"(-""-)"

2020-07-09 06:14:34 | PHP

 色んな参考書を見ましたが、中々その通りは動かないのが常のようです。「PHP5.0+MySQL5.0で構築する最速Webシステム」もその一つです。理由はいろいろあるでしょうが、参考書が古い。PHP自体色んなバージョンがあって、今では7になっているようです。書き方もバージョンが変わると、変わるという情けない状況です。前の書き方が通用しなくなる。もちろん自分の力不足もありますが、知っていたらやらないでしょう。分からないからやるみたいなところがあります。変な性格ですか?少しだけ進みましたので、画面のSSがあります。

上の図はxampp起動していて、localサーバーを起動する直前です。アパッチとMySQLサーバーを起動しておかないと使えません。

参考書のindex.phpが起動するとこの画面が出ます。今は、キーワード入力でデバッグ中です。

 上の図の$moji1にキーワードが入りますが、$_POST['keyword'];の書き方が今風で、参考書は古いので違いました。$keywordと書いています。自分は$moji1に一旦入れて、変数の参照で分かるようにしてます。

キーワードが受け付けられました。

今この辺で悩んでます。cntが決められてないコンスタントと出てます。

上のNoticeを無視して、実行すると、少し進みますが、その先は行きません。"(-""-)"

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPにはまって抜け出せません。"(-""-)"その2

2020-07-09 06:14:34 | PHP

「PHP5.0+MySQL5.0で構築する最速Webシステム」、昔買った本ですが、捨てないであったので、さいどちょうせんしてますが、本が古いためPHPがだいぶ違います。PHPをそれ程、ほとんど知らないのですが、VS Codeという強い味方がいるので、試行錯誤を続けてます。

 今回は写真のメンテナンスをやって見ました。

 

上は20件の前半部分。下は後半です。

 

表示は正常そうですが、次の20件に行けませんし、最後へもダメです。胃が痛くなってきました。"(-""-)"

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

xamppでPHPのデバッグ、悩んでました。

2020-07-05 16:08:40 | PHP

参考書の例題ですが、ここ迄も苦難がありました。Shift-JISとUTF-8の区別がいまだにつきません。

 赤丸がブレークポイントです。その下の黄色の矢印みたいのが、現在の地点です。入力があれば、そこへ行くのですが、どうしても行きませんでした。

 最後にたどり着いたのが、多分ですが、xamppの下にhtdocsがあるんですが、その下にホルダーを作ってそこにコピーするような説明でした。しかし、xamppではないApcheなので、その違いと思います。上の図はやり直しの図ですので、ブレークポイントの部分しか直してません。今回はhtdocsへ直接コピーしました。すると上の様に入力があったと判断されました。前はデータベースの接続まで行ったのですが、(デバッグでエラーにならないデータを入力)今回はどうですか?

 htdocsへはホルダーの配置の方が、ゴチャゴチャしないのですが、動かないのでは仕方ありません。別の解決方法があるかもしれません。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

今の自分の混乱は?

2020-07-02 10:57:54 | PHP

 何処から来ているのだろうか?PHPとJavaScriptのデバッグをVS Codeで出来るという、サイトが原因です。本当の原因は自分が理解できないことですけど。PHPはもともとがサーバーで処理するものだと思うので、仮でもサーバーが欲しいでしょう。JavaScriptのデバッグにもサーバーを使う設定があるようです。

 上はmain.jsをデバッグ、または実行に使われる「構成」です。右下にGo liveとありますが、ここをクリックするとxamppでアパッチをStartしたような感じです。でもJavaScriptは例えばchromeが実行するんではないんですか?実行とデバッグが安定しませんが、何とからしく動くことは動きます。((+_+)) 上の図のConfigurationの意味するとこが正確に分からないのが辛いですね。多分こうなんではないか?くらいしか分かりません。

 それとPHPですね。今、仮のサーバーを作るプラグインを見つけたのでそれをやって見てから、また続けたいと思います。

右の上に青いボタンがありますが、これが仮のサーバー(PHP Server)を動かします。xamppではありません。左の方に赤丸がありますが、ブレークポイントです。その上の黄色い線の矢印みたいのが、今実行中の文です。このPHP Serverを動かさないとデバッグは出来ないようです。

プログラムの実行中は、実行の結果は出ません。

 実行を続行して、最後まで行くと結果が出ます。これで簡単な場合は出来たことになります。問題は、「山爺のPHP試行錯誤的実験室」のような場合でも上手く行くかどうかです。自分はphpファイルとして書いてきましたが、実際はPHPとJavaScriptが混じってますし、これを分けるというのも楽でない気もします。ダメもとでやって見るしかないのですが。((+_+))

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VS Codeでデバッグ出来ると喜んでましたが…

2020-06-25 17:20:28 | PHP

 どうも話はそんなに簡単ではないようです。ローカルのサーバーでは、StarSeverには接続できないようです。また今使っているホルダーをlocalhostにすることも簡単ではないようです。xamppにもMySQLがあるので、そちらとだったら接続できるんでしょうかね?でも、データベースが作れたとしても、両方を管理しないといけなくなるし、同じ状態にしておかないと、デバッグが進まないでしょうし、どうしたら良いんでしょうか?

 どうも最終的には、今まで通りに毎回アップして、サーバーにチェックしてもらうしかないのでしょうかね?やっぱ、C#のIDEのようには行かないのでしょうか?Web関係の難しさがあるのかもしれません。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

どうやらVS codeでxamppローカルサーバによるPHPのデバッグ出来ました。

2020-06-23 23:07:22 | PHP

間違っていたとこは2か所でした。

一つ目は、「Visual Studio Code」と「XAMPP」を紐づけるための環境設定方法ユーザー設定、設定、setting-jsonのとこ。{}の中に入れること。

二つ目は、「PHP」を選択すると「.vscode」というフォルダが自動で生成されます。F5とありますが、実際は左メニューの実行・デバッグからです。新しく作るときは良いようですが、現にあるときはどうですかね?

このように単純な場合は良いようですが?「山爺のPHP試行錯誤的実験室」は今のところはデバッグできないようです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

大分動いてきました。VS Code+xampp+phpデバッグ環境

2020-06-23 23:07:22 | PHP

 VS Codeが動いても、それだけでは駄目です。xamppからサイトを表示させると、VS Codeとの連携が取れるようになるようです。上の図でサイトの表示は、VS Codeでの部分とは違います。上での問題は、時間表示が違うとこですね。7時間遅れてるようです。"(-""-)"

 ネット情報でphp.iniのdate.timezone="Asia/Tokyo"とすれば良いと書いてました。でも直らなかったんです。何故か?date.timezoneが二か所ありました。両方とも直したら、直りました。(^^♪

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VS CodeでPHPのデバッグと思ってましたが、挫折です。

2020-06-23 20:36:10 | PHP

 前回出来かけと思ったんですが、やっぱり不安定です。全くデバッグを諦めたわけで無くて、php.logを作る方法でやって見ました。これは安定してやれるようです。但し、サーバにファイルが出来るので、FTPツールでダウンロードして見る感じですね。本当はIDEでデバッグしている感じでやりたかったんですが、その情報はネットからゲットしました。

 前もアップして実行したんですが、エラーが在れば、サーバからメッセージは来てました。というわけで、PHP停滞です。"(-""-)"

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VS CodeでPHPのデバッグ開始、まだ決定ではないですが?

2020-06-23 10:09:53 | PHP

上の図がデバッグが開始した様子です。しかしまだ、どうすれば安定して動くのか分かりません。最後に自分がやったことは、有料のようですが、拡張ツール入れました。30日間は試用期間のようですが。有料は自分は、仕事で無いので×ですね。"(-""-)"

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする