PHP関連のことを調べてみた2020年11月29日

PHP関連のことを調べてみた2020年11月29日

お問い合わせフォーム、jsバリデーション【改】

“`javascript:contact.js
window.addEventListener(‘DOMContentLoaded’, () => {
// 「送信」ボタンの要素を取得
const submit = document.querySelector(‘#contact-submit’);

// エラーメッセージと赤枠の削除
function reset(input_infomation, error_message){
const input_info = document.querySelector(input_infomation);
const err_message = document.querySelector(error_message);
err_message.textContent =”;
input_info.classList.remove(‘input-invalid’);
};

// 「お名前」入力欄の空欄チェック関数

元記事を表示

学習を応用し自分で考えたプログラム(随時更新予定)

####今回は、お客様アンケート(仮)を作成 2020/11/27

“`
1) {
echo ‘ご利用ありがとうございました’ . PHP_EOL;
} else {
echo ‘品質向上の為何かアドバイスをいただけないでしょうか’ . PHP_EOL;
}
$Impressions = trim(fgets(STDIN));
//aが1より大きければご利用ありがとうございました!aが1より小さければアドバイスのお願い
//標準入力と、半角スペース削除の処理、if文のみを使用した処理です。
“`

![first_production.gif](https://qiita-image-store.s3.ap-northe

元記事を表示

[PHP]クラスメソッド

#PHPクラスメソッド
##コンストラクタを活用
$countの初期値を0として、コンストラクタ内でクラスプロパティ$countの値に1を足すことで、生成されたインスタンスの数(メニュー数)を数えることができる
![1468306056981.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/725167/ffb3bc07-282a-22e3-c67e-2c01adb21c7c.png)
![1467970306991.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/725167/ba168247-322a-cc8e-f27d-f5468cb271a8.png)
#self
クラスの中で使うとそのクラス自身のことを指し示し、「self::$クラスプロパティ名」のように使う
![1467970318544.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com

元記事を表示

MAMPのPHPのexec()からpython3を簡単実行。

MAMPのpythonはversion2なので、ずっとこの壁にぶつかってたんですが、

“`php
$command = “python test.py”;
exec($command, $output, $return_var);
“`

python→python3でできました。意外と簡単でした。

“`php
$command = “python3 test.py”;
exec($command, $output, $return_var);
“`

元記事を表示

DockerでPHP開発をしている際に、vscodeでの実装変更が反映されない。

#環境
macOS
DockerでPHPを使用
#解決方法
順序1

“`
Docker コンテナの停止・削除
$docker-compose down
“`
順序2

“`
Docker コンテナの起動
$docker-compose up -d
“`
これだけでした汗

#発生状況&原因
#####発生状況
vscodeでいつものようにPHPの勉強をしていた際に、vscodeで新たな実装変更を行いました。ターミナルで動作確認すると実装変更が反映されない状況になってしまいました。

このような状況に、、、汗

“`
ss@saaaMPro src % docker-compose exec app php book_log.php
Could not open input file: book_log.php
“`

なので原因を探るため
ターミナルでのディレクトリの位置が間違っていないか?
ファイル名が間違っていないか?
エラー内容が、入力ファイルが開けないと言っている、、、、なぜ、、(泣)

#####原因

ここでは、server-sideディレクトリのpart2の

元記事を表示

ログイン機能例

“`
setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

$sql = ‘SELECT name FROM mst_staff WHERE code=? AND password=?’;
$stmt = $dbh->prepare($sql);
$data[]=$staff_code;
$data[]=$staff_pass;
$stmt->execute($data);

$dbh =null;

$rec = $stm

元記事を表示

curlの”-u”オプションで引き渡される認証情報をヘッダーに直接設定したい

先日プロダクトのアップデートを管理しているJenkinsサーバに対して新たにAPIを送るよう実装する機会があり、その際にインフラチームから共有いただいたAPIの呼び出し方法が下記のようなものでした。

“`
curl -k -X GET “https://hogehoge.jp/job
?token=${api_job_token}” -u ${api_user_name}:${api_user_token}
“`

#### “-u”オプションって?
> Specify the user name and password to use for server authentication. Overrides -n, –netrc and –netrc-optional.
If you simply specify the user name, curl will prompt for a password.

参照:https://curl.se/docs/manpage.html#-u

curl先のサーバーで行われる認証に対し、ユーザ名と

元記事を表示

VScodeでPHPを書こうとすると右下に表示されるエラーを解消したい

## 環境
* OS
* Windous10 Home x64

* VScode
* Version 1.51.1

## 表示されたエラーメッセージ
【 phpcs: Request workspace/configuration failed with message: Unable to locate phpcs. Please add phpcs to your global path or use composer dependency manager to install it in your project locally. 】

## ざっくりした意味
「phpcs」を見つけることができなくて、ワークスペースの構成ができていないよ!
phpcsを自力でインストールするか、「Composer」を利用してインストールしてください。

## 解決するためにやったこと
1. Composer をインストールする
[➤Composerインストール先](https://getcomposer.org/download/)

2. コマンドプロンプトを起動

元記事を表示

Webサイトに来る実際の攻撃(不審なアクセス)を公開してみる

グローバルIPアドレスを持つWebサーバーで自分のサイトを運営していますが、脆弱性を狙った不審なアクセスが毎日来ます。一度内容まとめたいと考えていたのですが、同様のことをされている方の記事を見つけ、自分もしてみました。

– [Webサイトに来た攻撃をまとめてみた](https://qiita.com/hot_study_man/items/b12340f932574c9f309d)

実際に来た不正アクセス試行は種類を挙げればきりがありませんが、件数が多いものを紹介したいと思います。有効な対策だと思われることについても言及しています。

ちなみに解析の方法は、ログを一旦DBに入れてSQLで集約しています。

インターネットにWebサーバーを公開すると、こんな攻撃が来る…という参考になればと思います。と考えると、はてなブログやレンタルサーバーはプロバイダーが責任を持ってくれるから安心ではありますね。

##環境

– VPS (Virtual Private Server: 仮想環境のLinuxサーバー)
– WordPress

一応、WAF (Web Application Fi

元記事を表示

MAMPでphpのエラーをターミナルから問題を探す方法

## MAMPでphpエラーが出た際にターミナルでエラーを探す方法

みなさんこんにちは。
今回はMAMP環境でエラーが出た時にエラーがどこから出てきているのかを確かめる方法を紹介します。

また、間違えや指摘等ございましたらコメントよろしくお願い致します。

### 環境
今回僕のパソコンはmacなのでwindowsの方には対応しておりません。

### エラーの確認方法1
初心者の頃(現在も初心者)にエラーが出たらどこを見て、何が問題なのかを見つけることさえできていませんでした。

まず、エラーが出た際にはブラウザのディベロッパーツールを利用して確認してみましょう。プログラムを反映させたいページ(現在エラーが出ていて動いていないページ)で右クリック→検証→consoleを確認してみましょう。

こちらにエラーが出てきます。これは大体利用されていると思うので次の方法も紹介します。

### エラーの確認方法2
ターミナルから確認する方法です。ターミナルは真っ黒の画面になっていて、cuiなので初めは操作やりにくいけど意外と慣れたら使いやすいかもです。

方法としてはま

元記事を表示

【PHP】コメント機能実装

学習内容を備忘録としてまとめます。
コメント機能を実装しましたので、作成方法を記載します。
![tatteimasu.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597913/76d77867-760d-67d4-fe80-85d29327c3c4.gif)
投稿に対してコメントを行えるようになっています。

※動作画面に出てきているモーダル画面については下記をご参照ください。
[【JavaScript】モーダル画面実装](https://qiita.com/ryouya3948/items/bd1bccef883148f1b281)
#実装方法
実装方法について記載していきます。
##テーブル構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597913/e4b6a6ea-054e-c2ce-0533-ccd8abc8cb9c.png)

まずはコメントテーブルを作成していきます。
それぞれのカラム

元記事を表示

[PHP] エラー解決 php artisan migrate

Udemyにて学習した際にエラーにハマりましたのでその解決方法を投稿したいと思います。

今回のエラー文は下記になります。
`SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known (SQL: select * from information_schema.tables where table_schema = laravel_task and table_name = migrations and table_type = ‘BASE TABLE’)`
![2020-11-25_12-34-39-47c2c1db8e1dbed6e5db458f9a1dcb3e.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698439/eaec097e-c858-7b68-b688-b5f0d1a9284b.png)

#エラー分の解説
データ

元記事を表示

【Mac】任意のPHPバージョンをphpbrewで取得してみた

# はじめに

MacはデフォでPHPがインストールされているけど、開発する際に指定したPHPバージョンを使いたい!

しかし、、WindowsのようにPHP公式サイトでダウンロードしPATHを通すことが難しい。。
Homebrewだとバージョンの[x.x.★]の★部分まで選べない。。

phpbrewならバージョンの指定ができ、複数のバージョンを切り替えることができる為、
phpbrewを使って好きなバージョンを取得してみました。

## 環境
– macOS 10.15.7
– Homebrew 2.5.11
– phpbrew 1.26.0

## 事前準備
Homebrewというツールを使用するので事前にインストールしておきます。
インストール方法は以下サイトを参考にしました。

[Mac Homebrewインストール手順](https://awesome-linus.com/2019/08/17/mac-homebrew-install/)

## phpbrew本体のインストール
[公式ドキュメント](https://github.com/phpbrew/phpbre

元記事を表示

[PHP]フォームのデータを受け取る

#PHPでフォームのデータを受け取る
“`java:PHP

■ 内容

“`
#$_POST[‘name’]
フォームで送信した値を受け取るには「$_POST」を使用する。
「$_POST」は連想配列になっていて[ ]の中に、