1 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 12:39:39.75 ID:P0iZ4CYt0.net] !extend::vvvvv:1000:512 !extend::vvvvv:1000:512 !extend::vvvvv:1000:512 ★スレ立て時 ↑ が3行以上になるようコピペ PHPに関する質問スレです 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 11 https://mevius.5ch.net/test/read.cgi/tech/1591334726/ 次スレは>>980 以降 VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
189 名前:181 mailto:sage [2021/06/01(火) 17:21:43.11 ID:ClFiADUo0.net] >>184 ありがとうございます 本にもそう書いてありました
190 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 17:49:07.02 ID:M9c5R8jt0.net] 何でもかんでも===等で書くやつはそれはそれでどうかと思う
191 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 20:28:48.38 ID:8+a6jCev0.net] tlintってあるんですね 使ったことありますか?
192 名前:デフォルトの名無しさん [2021/06/03(木) 11:58:08.78 ID:8LmW0nkV0.net] 宜しくお願いします ↓の分の最後の?が何でしょうか、ワイルドカードの仲間でしょうか INSERT INTO テーブル名 SET カラム名=? -------------------------- 例: $message = $_POST['message']; if (strlen($message) >= 1 && strlen($message) <= 200) { $statement = $db->prepare('INSERT INTO posts SET message=?'); $statement->execute(array($_POST['message'])); echo '投稿を送信しました'; } else { echo '投稿エラー: 200文字以内で入力してください'; }
193 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 12:15:29.93 ID:Ers5yK+g0.net] ? は、place holder。 それを使わないと、SQL インジェクションされるから危険 例えば、文字列を連結させて、クエリー文を作っていると、 「1=1 or テーブル削除文」みたいに、関係のない文も入れてくる ?を使うと、そういう危険な文をエラーにしてくれる
194 名前:デフォルトの名無しさん [2021/06/03(木) 12:19:52.18 ID:8LmW0nkV0.net] >>189 ありがとうございます、勉強になりました https://i.imgur.com/gaMtNqS.jpg
195 名前:デフォルトの名無しさん [2021/06/03(木) 12:36:41.22 ID:RiqJ4UERd.net] 広瀬アリスに脳内変換
196 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 14:16:36.33 ID:BVnHspSa0.net] 谷間にインジェクションしてみたい
197 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 19:15:26.61 ID:7uOjplBO0.net] >>186 著名なプロジェクトの大半で、「ゆるい比較はなるべく使うな」ってのがコーディング規約になってるけどねぇ
198 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 20:52:43.43 ID:vjm2kGYb0.net] ワイの会社では緩比較を使う理由をコメントに入れておけば許すことにしてる
199 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 21:39:16.89 ID:x016GdXu0.net] >>194 コメント必須なら間違いは起きにくいかもね
200 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 22:52:44.29 ID:BVnHspSa0.net] コメントには、自分の名前と電話番号も入れておこう
201 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 15:59:37.32 ID:KWGLQaPU0.net] preg_match関数は、エラーの時にnullを返すことってあるのでしょうか? 本にそのように書いてありました… PHPマニュアルによると、原則としてエラーの時はfalseを返すが、 時にfalse相当の別の値を返すこともありうると書いてありました
202 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 16:31:57.79 ID:cYS3aqAu0.net] マッチしたら 1 しなかったら 0 エラーの場合 false エラーかどうかを判定するために if (!preg_match(...)) なんてことをするとエラーじゃないがマッチしない場合も正として評価されると言うことかと nullの話は本が間違ってるか、または第三引数に入ってくる値のことかも
203 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 17:08:28.21 ID:9DhQUJf30.net] $_POST['checked'] === 'true' $_POST['checked'] === '1' $_POST['checked'] == true $_POST['checked'] == 1 $_POST['checked'] === 'on'
204 名前:197 mailto:sage [2021/06/04(金) 18:36:12.37 ID:KWGLQaPU0.net] >>198 やはり誤植のようです ありがとうございました
205 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 20:42:13.27 ID:D2bNwRnn0.net] データベースに接続する時についてなんですが、 PDOオブジェクトをインスタンス化する際の第一引数(DSN)では、 文字コードを指定しなくても特に問題ないでしょうか? 本には、 $dbh = new PDO('mysql:host=localhost;dbname=sample_db', (以下略)); と書いてあります
206 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 21:06:16.71 ID:WZ+0wJ8c0.net] >>201 サーバとクライアントの間で適切な文字コードを設定しないと意図しない挙動を引き起こすことがある 結果として、SQLインジェクションができる場合も `SET NAMES utf8`とかやるのはダメな例
207 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 23:32:10.29 ID:aCDMde3X0.net] 初歩的な質問ですいません。 WordPressである変数の値をリンク先の別のファイルでも使いたいのですが、うまく取得できません。どういうキーワードでググったらいいのか教えて下さい。一番簡単な方法がいいです。よろしくお願いします。
208 名前:201 mailto:sage [2021/06/06(日) 00:10:06.42 ID:OZUQa5NH0.net] >>202 回答ありがとうございます … new PDO('mysql:host=localhost;dbname=sample_db;charset=utf8mb4', …); とした方がいいですか?
209 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 07:09:31.45 ID:dVU4kGZr0.net] https://www.php.net/manual/ja/mysqlinfo.concepts.charset.php
210 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 12:31:49.08 ID:kOEZc78Z0.net] さくらインターネットサーバー契約してターミナルで繋いでVimでプログラミングしているんですが vscodeとかでプログラミングするにはどういうふうな開発環境を整えたらいいんでしょうか
211 名前:デフォルトの名無しさん [2021/06/08(火) 12:50:39.53 ID:RYeCuNYXd.net] mysqli_fetch_assocの質問なのですが"もう存在しない"場合はnullを返す、との事ですが"始めから一行も存在しない"場合でもやはりnullを返すのでしょうか? 自分で試せればいいのですがdbの設計はまだ手をつけてない分野ですのでお聞きしたいです
212 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:35:59.66 ID:xmLRsmnH0.net] 手につけてから実際に自分で試したほうがいいよ
213 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:09:30.31 ID:IVQVhItT0.net] >>206 拡張機能からSFTP入れてみてはどうか
214 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:11:40.84 ID:dOMi6vvz0.net] >>206 YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、 Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース Docker Composeまでが初心者用コース 普通はMac で、メモリは32GB以上。 ただし、新しいCPU に変わったから、よくわからない Windows 10 Pro版, WSL2, Linux, Dockerなら、 メモリは16GB以上で、32GBが推奨 Dockerを使うから、メモリ8GBじゃ足らない Udemy の山浦清透も、サロンをやってるかも知れない。 PHP の本も出してる、たにぐちまことも有名
215 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 16:10:19.02 ID:kOEZc78Z0.net] 直接本番のphpプログラムをいじってるのが良くないんだな デプロイとか本番用と開発用の環境作るとかが必要なんやな
216 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 16:49:06.81 ID:az/B2squ0.net] >>206 https://code.visualstudio.com/docs/languages/php マケプレから自分にとって最適な拡張機能を入手出来るかはわからないが vim使いならうまくカスタマイズ出来るじゃろう
217 名前:210 mailto:sage [2021/06/08(火) 16:50:43.18 ID:dOMi6vvz0.net] Ruby on Rails で良ければ、Docker, CircleCI まで含めた動画ある Udemy の山浦清透、1/15 Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース https://www.youtube.com/watch?v=lZD1MIHwMBY Windows 10 Home版, WSL2, Ubuntu 20.04 LTS, Docker Compose, VSCode, Heroku, Rails, Git, CI/CD, CircleCI
218 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 16:56:20.73 ID:6XJLy+sH0.net] NG多すぎワロタ
219 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 01:40:41.45 ID:6+3NO6mw0.net] xamppよりもdockerの方がナウいんでしょうか
220 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 09:00:49.39 ID:m05KcYPg0.net] 個人でwebアプリ作るなら、PHP+フレームワーク一択?
221 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 09:32:05.11 ID:ELCmA1Vb0.net] 全然一択じゃないと思うけど、なんで一択だと思ったんだ
222 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 09:38:24.10 ID:m05KcYPg0.net] >>217 単純に小さいWEBアプリをレンタルサーバで公開するのにいいと思ったから あと、スマホアプリのwebapiをphpで作ってもらった
223 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 10:54:30.09 ID:CSG59Cdu0.net] >>210 ,213 業者さん宣伝ご苦労さまです
224 名前:デフォルトの名無しさん [2021/06/09(水) 14:07:19.93 ID:suiQmlXU0.net] Zend→CakePHP→Laravelに代わったように、 フレームワークの移り変わりが一定周期でありますが、 その時に作っていたプログラムはどうなりますか? なかったことにして、新しいFWで作り直すんですか? 車輪の再発明をFWが出るたびに行っているように感じますが 皆さんはどうしてるか気になります。
225 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 15:37:02.08 ID:cnjxdL8Kr.net] 作りっぱなしでほっとくんだよ 改修が必要であれば金貰って改修する ただし責任は取らない
226 名前:210 mailto:sage [2021/06/09(水) 15:53:02.92 ID:w6w52mg40.net] >>216 以下のスレに書いた ぶっちゃけ始めるのにいい言語て何 part5 https://mevius.5ch.net/test/read.cgi/tech/1622766330/120-121 Udemy の山浦清透も、PHP・Laravel のおすすめ本は無いと言ってる。 一方、Rails なら、Railsチュートリアル、黒田努の本とか、教育体制が優れている だから、KENTA も、Railsを推奨してる 優れた教育体制が無いと、効率的に勉強できない。 ドラゴン桜・予備校などと同じ
227 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 17:17:08.00 ID:mTab7dlX0.net] こいつの相手すると怒られるけど PHPのおすすめ本はある
228 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 19:23:26.26 ID:Dz8whFwwa.net] >>223 相手するなよ、と脊髄反射しそうになったけど キチガイの間違いを正すのは大切だな
229 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 20:39:22.17 ID:CBbl/boe0.net] >>2 を読めないアホが多すぎる
230 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 20:45:44.78 ID:7MnLem3f0.net] 自前でサーバー立てるのとさくらインターネット使うのとAWSとherokuでどれがいんすか
231 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 22:24:36.07 ID:Qysgy0Bo0.net] 学習用なら自分で立ててみると良いかも
232 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 22:37:04.95 ID:DL0JuXZOM.net] 今は金かからないFaaSだな
233 名前:デフォルトの名無しさん [2021/06/10(木) 07:13:04.52 ID:q2jU2qVx0.net] PHPで掲示板サイト作ったんだけどアドセンス落ちた…一応ある程度の書き込みもあるのになんでだろ、ちなみに低俗な内容ではない、もっと人集めんと行かんのかね
234 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 11:39:40.93 ID:oO6awXFS0.net] セキュリティーが危険とか? PHP と言えば、セキュリティーが危ないイメージ
235 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 11:51:36.67 ID:wZ1zl+ZN0.net] >>226 今どき自宅サーバなんかしなくていいよw 月額500円未満で借りられるVPSがあるから、それ使うのがお勧め レンタルサーバを使うのだけはやめとけ あんなもん使っても何の勉強にもならんから
236 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 11:52:35.88 ID:wZ1zl+ZN0.net] >>230 頭悪そう PHPのコード書けない人でしょ?
237 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 11:54:42.25 ID:wZ1zl+ZN0.net] あーなんだ、こいつRubyガイジかw 相手にしてスマン
238 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 13:26:11.53 ID:MBvszo0r0.net] PHPの勉強がしたい→ローカル 店の宣伝をしたい→レンタルサーバ〜 店の予約管理をしたい・小規模な販売、売上管理をしたい→VPS〜 Webサービスを提供したい・スマホアプリのバックエンド→クラウド
239 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 16:59:07.23 ID:rgwU/HuH0.net] 以下PHPの2処理があります。 1.CSVアップロードフォームからユーザー操作でアップロードされる 場合によっては同一ファイルを更新する目的でアップロードされるときもある move_uploaded_fileを使用 2.何かしらのトリガーでCSVを読み込んで処理する(書き込みはしない) この1.2.の処理は何かの決まりを守って順番に実行されるわけではなく、 1.の処理はユーザー操作で不定期に実行されます。 2.の処理は該当ファイルが無ければ実行しませんし、トリガー発行がなければやはり実行しません。 ここで質問ですが、1.2.の処理が同時に実行される可能性があると思いますが、この場合問題が発生するでしょうか? move_uploaded_fileを使う1.の処理中はファイルがロックされているようですが、2.では読み取りエラーの 処理を強化するだけでいいでしょうか? よろしくお願いします。
240 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 18:19:10.45 ID:kFRSwea40.net] DBUnitがとうの昔に使えなくなっていたことにようやく気付いたのだけど、 これ使わないでDB周りのテストってどうやるん?
241 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 18:19:50.44 ID:9KIBsohX0.net] >>220 ですが、結局は新しいフレームワーク使う時は 車輪の再発明になろうが一から作り直すってことでいいですか?
242 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 19:13:16.05 ID:MBvszo0r0.net] 同じシステムをフレームワーク変えてまで作り直したりは普通しない >>221 も言ってるけど基本作ったら作りっぱなし セキュリティに問題があって修正パッチ当てる必要があるとかでない限り 保守は必要最低限にとどめたものになる
243 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 21:30:19.86 ID:9KIBsohX0.net] >>238 いえ、過去に作ったものの保守ではなく、これから作るものについてです。 例えば、お問い合せフォームとか会員管理とか どの言語・フレームワーク使おうが必要な機能ってあります
244 名前:よね? そういうライブラリであったりプラグインであったりを、 フレームワーク毎にまた作るのか?って質問です。 [] [ここ壊れてます]
245 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 05:41:30.60 ID:eoxxjzbN0.net] テンプレート(view)の変数名を変える作業を車輪の再発明とは言わない
246 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 10:24:02.71 ID:llLxlLmn0.net] フレームワーク変えるわけですから 変数変える程度で済まないのではないかと
247 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 11:26:58.50 ID:obuHWxLk0.net] 気づけばプロ並みPHPはゴミ 徳丸先生協力って書いてあったから一緒に本作ったのかと思ったら大間違いw
248 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 11:46:50.82 ID:0v+h5w7s0.net] 俺もアマゾンレビューでの評価が高かったいきなりはじめるPHPを買ったが、 なんか合わなかった 本のノリが嫌い 載っている情報も古い エディタはテラパッドを使っているし、echoでなくprintを使っている
249 名前:デフォルトの名無しさん [2021/06/11(金) 12:02:16.66 ID:+ogjkljv0.net] お昼時にゴメンナサイ、よろしくお願いいたします PHPのバージョンを 5.6.40 から 7.3.27 に上げたら↓がエラーするようになりました 【PHP文】 ループ $hage[$id][0]=$row[name]; $hage[$id][1]=$row[age]; $id++; ループ終わり 【エラーメッセージ】 arse error: syntax error, unexpected ',', expecting ']' in /home/xxxx
250 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 12:21:06.82 ID:1TMBp1KK0.net] >>244 nameとageをクオーテーションで囲う
251 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 13:39:01.07 ID:eoxxjzbN0.net] >>241 そんな大げさな話じゃないだろう 書き方が違うだけでやることは同じなんだから やろうと思えば自分でマイグレーション用スクリプトだって書けるでしょ
252 名前:デフォルトの名無しさん [2021/06/11(金) 13:48:23.23 ID:+ogjkljv0.net] >>245 ありがとうございます!
253 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 14:56:36.56 ID:Nrr2zqrZr.net] いえいえ
254 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 15:52:24.78 ID:2+S4K7N30.net] >>235 同期用ファイルでも作って、 それを2つの処理で、mutex みたいに使って排他処理すれば? mutexは1つだけあって、2つの処理の内、mutexを獲得できるのは、常に1つの処理だけ
255 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 18:38:14.01 ID:llLxlLmn0.net] >>246 マイグレーションにしても、CakeとLaravelで大きく違うし、 CRUDの書き方も違うのに、変数変える程度で済むとは意外です。 というか、変換プログラムみたいなのを作るなら 車輪の再発明と言っても良いんじゃないですか?
256 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 20:47:03.14 ID:jsMTDkupM.net] 自分で作ってたものをFWに合わせて作りなおすってのはただの改良 PHPのバージョンアップに合わせて動かなくなったコードを書き直すのと全く同じこと ていうか車輪の再発明が嫌そうなのに自分で作る前提がそもそもおかしいのでは 探せばあるでしょうに
257 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 21:23:49.98 ID:llLxlLmn0.net] いえ、嫌かどうかじゃなくて、みなさんはどうしてるのか気になるのです。 PHPのバージョンが変わるから書き換えるのと、 フレームワークが変わるから作り直すのでは明らかに手間が違うわけで、 同じような作業をまたやるという行為が、プログラマとして正しいのか知りたいだけです。
258 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 21:30:08.39 ID:kzDclVsl0.net] 下らねぇ質問をここに書き込みやがって
259 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 22:20:07.19 ID:jsMTDkupM.net] 手間の問題じゃなくて そうしないと動かないからそうするという話であって それを車輪の再発明とは言わない 移行先で前のものがそのまま使えるような場合もあるだろうけど そうでない場合は使えないのだから作り直すのは当たり前
260 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 22:39:30.70 ID:llLxlLmn0.net] わかりました。つまり、作り直すのが一般的(普通)という受け取り方で良いわけですね。 自分もそうなので、他の人はどうしているか気になりましたが 別におかしなことではないと知って安心しました。
261 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 20:17:18.78 ID:S66YQD530.net] wordpressのogpに関する出力ですが $ogp_type = ( is_front_page() || is_home() ) ? 'website' : 'article'; フロントページやホームでなければ○○だと思うのですが 「?」が何をしているかわからないのと、 2つの文字列がコロンで繋がれているのがわかりません。 動かして見ると articleが出力されています。
262 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 21:08:16.54 ID:S66YQD530.net] わかりました。 三項演算子というものですね、生まれて始めて見ました。
263 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 21:33:24.33 ID:GDzf8H390.net] 三項演算子は見慣れないと読みづらいけど別にPHP固有でもないし、 早めに慣れておくのが吉
264 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 02:08:44.02 ID:bl7tXQVC0.net] if使った方が感覚的にわかりやすいのですが、 あえて三項演算子を使う理由は1行で済む以外にメリットはありますか?
265 名前:デフォルトの名無しさん [2021/06/13(日) 03:13:44.77 ID:oPgmrpm20.net] const HOST = 'localhost'; echo $HOST; 自学の為一纏めにしたいのですが上記のソースですとHOSTにnoticeが出てしまいます 調べたのですがconstを使う方法が乗ってるサイトにこれ以上の情報が無かったのでお聞きしたいです
266 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 03:26:48.32 ID:NFGlH9a70.net] >>259 ちょっと慣れれば、シンプルなケースでは三項演算子も感覚的にif文より見やすくて分かりやすくなる。 ケースバイケース。
267 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 05:09:07.64 ID:bl7tXQVC0.net] >>261 ありがとうございます。 やはり慣れですね
268 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 05:11:59.73 ID:er0CkKAQ0.net] >>259 その「一行で済む」ってのが最大のメリットだろうね for(;@$i++<100;)echo$i%3?!$$i=$i:@Fizz,$i%5?@$$i:@Buzz,' '; みたいに書ける これは8系じゃ動かないけどw >>260 変なサイト見てないでマニュアル嫁 https://www.php.net/manual/ja/language.oop5.constants.php ただ、やりたいことと違うんじゃないかなぁ
269 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 05:14:07.02 ID:er0CkKAQ0.net] げ、なんか余計な改行が入ってるw
270 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 06:09:18.51 ID:d/vYrCOI0.net] 5ch のバグ。 URL などを投稿すると、; が付いたりする 5chの書き込みには、表示を変えるような特殊な命令があったりして、 それを解析する箇所に、バグがあるのだろう
271 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 12:08:56.26 ID:h3r9Ktq+0.net] 三項演算子は条件次第で$varが変化するような場合には使っていいけど それ以外のことやelseifが入る場合は使わないほうがいい 改行駆使して読みやすくする手法もあるがそんなことするなら普通にかけばいいし 読みづらいコードは保守の妨げになったりバグうむ原因になる
272 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 14:06:10.67 ID:V1lM1Rfw0.net] 教えてください。 <?php print("接続開始"); pg_connect("user=pet930 password=h17174422"); # if($dbconn == false){ # print("<p>接続失敗</p>"); # # } print("<html><p>接続成功</p></html>"); ?> なんか、pg_connect()で止まっちゃってるみたいで、「接続成功」の表示まで行けません。 pg_connect()でエラーメッセージ吐いてくれないんで原因が解らないです。 何処が悪いとエスパーできますか? よろしくお願いします。
273 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 14:10:31.45 ID:ikXPzBM50.net] >>267 $dbconn = pg_connect("user=pet930 password=h17174422");
274 名前:267 mailto:sage [2021/06/13(日) 14:26:02.54 ID:V1lM1Rfw0.net] >>268 ありがとです。 ちょっと試します。
275 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 14:26:08.18 ID:h3r9Ktq+0.net] pgsql使ったことないからわからないけど host port dbnameまでパラメーターちゃんと入れてみたら? あとPHPの設定やバージョンがどうなのかわからんけど error_reporting(E_ALL);を先頭に追加してエラーメッセージ出るようになるかどうか確認する 本当にpg_connectが原因なのか判断するには pg_connect(略) or die("接続失敗");に変えるのがてっとり早いと思うけど
276 名前:267 mailto:sage [2021/06/13(日) 14:34:36.14 ID:V1lM1Rfw0.net] >>270 PHPのバージョンは807です。 ありがとです。 ちょっと試してみます。
277 名前:267 mailto:sage [2021/06/13(日) 14:51:02.33 ID:V1lM1Rfw0.net] >>270 設定を調べてみます。 でも、かなり勉強になりました、エラー設定とかDieとか知りませんでした。 5chにコード書き込めないみたいですが、pg_connect()以降は表示されなかったです。 設定関係調べてきます。
278 名前:267 mailto:sage [2021/06/13(日) 16:36:28.97 ID:V1lM1Rfw0.net] phpinfo()でpostgresqlのセクションがありませんでした。 正常ならセクションが有るらしいので、調べてみます。 情報が豊富なphp7系にするべきかなぁ;
279 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 17:12:59.44 ID:h3r9Ktq+0.net] https://www.php.net/manual/ja/pgsql.installation.php ソースからなら上記みたいにインストールが必要かもしれないし なんかのパッケージ使ってるならphp.iniに ;extension=pgsql っていうラインがあれば先頭の;取り払ってみるだけで使えるかもしれない 将来pdoも使うだろうからついでに ;extension=pdo_pgsql も有効にしといたほうがいいかもね
280 名前:267 mailto:sage [2021/06/13(日) 17:31:29.77 ID:V1lM1Rfw0.net] >>274 ありがとうございます!! リンク先読みました。 Apacheのhpd.confに、LoadFile "C:\Program Files\PostgreSQL\13\bin\libpq.dll"を書き足してphpinfo()に、postgresql反映されました。 助かりましたorz
281 名前:267 mailto:sage [2021/06/13(日) 17:33:44.93 ID:V1lM1Rfw0.net] >>274 pg_connect()も、無事動いて、想定どうりスクリプトが動きました。 お世話になりました〜
282 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 21:34:10.90 ID:JupjNNoP0.net] どうでもいいけどPDO使えよ
283 名前:267 mailto:sage [2021/06/14(月) 02:37:29.72 ID:926agaQr0.net] >>277 手探りでPDO認識できました。 今はPDOで書くべきですよね。ありがとです。
284 名前:267 mailto:sage [2021/06/16(水) 15:53:30.79 ID:+Q5Hm82n0.net] 何度も失礼します! iframe先にPOTしたいのですが、飛ばせてないみたいです。 検索したら、これで動くのが一般的みたいですが… <iframe src="localhost/frame.php" id="frame_1"></iframe> <form method="post" target="frame_1" action="localhost/frame.php" id="edit_form"> <input type="hidden" name="id" value="3"> <input type="button" value="追記"> </form> frame.phpには、 sleep("2"); print("page2_post".$_POST["id"]); と、書いて待っているのですが、ボタンを押してもifram側に何もしていない様子です。 検索先を何度も調べたのですが… よろしくお願いしますorz
285 名前:デフォルトの名無しさん mailto:sage [2021/06/16(水) 16:26:27.31 ID:ipoppQf40.net] >>279 id="frame_1" > name="frame_1" 余談だがsleepの引数はintだから " いらない
286 名前:267 mailto:sage [2021/06/16(水) 16:33:45.31 ID:+Q5Hm82n0.net] >>280 ありがとうございます! しかし、修正しましたが、動きませんでした… アパッチの設定見てきます。 >引数はintだから”要らない ありがとです。
287 名前:267 mailto:sage [2021/06/16(水) 17:15:07.61 ID:+Q5Hm82n0.net] すいませんでした。 <input type="button" …> のbuttonをsubmitに変更したら動きました! ありがとうございました!
288 名前:デフォルトの名無しさん mailto:sage [2021/06/16(水) 17:55:12.30 ID:u+PEF3EC0.net] データベースを扱う際の例外処理で、本に、 … } catch (PDOException $e) { echo "エラー:" . htmlspecialchars($e->getMessage(), …) . "<br>"; exit; } // 一部改変 とあったのですが、$e->getMessage()を無害化する必要性がよく分かりません ここはPHP製作者の側で用意した文字列が表示されるのではないでしょうか?
289 名前:デフォルトの名無しさん mailto:sage [2021/06/16(水) 18:39:41.81 ID:o6SqvTfC0.net] >>283 そうだよ、無害化する意味ない。 さらに言うと、エンドユーザーにシステムがそのまま出力するメッセージを見せるとかありえないから、あくまで開発者向けのデバッグ用という意図で書かれているんだろうけど、それを無害化する意味も分からない。