質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

247閲覧

filter_var_array()の半角英数のフィルターがけ

JanTh1989

総合スコア87

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/04/10 08:03

htmlのユーザ情報一覧データをphpから抽出して使おうと考えております。
抽出には、filter_var_array()を使おうと検討中です。
それに際し、パスワードには半角英数でフィルターしたいと考えているのですが、方法調査に詰まっており、ご相談させて頂きたいと思います。

htmlのユーザ情報は一覧化しており、以下の表があります。

ID|ユーザ|パスワード 1 |sam |1111 2 |joh |2222

コードは以下。

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>ユーザー一覧</title> 6</head> 7<body> 8<form action="index.php" method="post"> 9<table> 10 <tr> 11 <th>ID</th> 12 <th>ユーザ</th> 13 <th>パスワード</th> 14 </tr> 15 <tr> 16 <td><input type="text" name="id[]" value="1"></td> 17 <td><input type="text" name="user[]" value="sam"></td> 18 <td><input type="text" name="pass[]" value="1111"></td> 19 </tr> 20 <tr> 21 <td><input type="text" name="id[]" value="2"></td> 22 <td><input type="text" name="user[]" value="joh"></td> 23 <td><input type="text" name="pass[]" value="2222"></td> 24 </tr> 25</table> 26<input type="submit" name="update" value="更新"> 27</form> 28</body> 29</html>

php

1<?php 2define('UPDATEFILTER',['id'=>FILTER_VALIDATE_INT,'user'=>FILTER_FLAG_STRIP_BACKTICK,'pass']=>XXXXXXX); 3 4if (!empty($_POST)) { 5 if($inData = filter_input_array(INPUT_POST)){ 6 echo "エラー:L".__LINE__ ; 7 return; 8 } 9 if($in_array('update',$inData)){ 10 // ユーザ情報抽出 11 if(!$userData = filter_var_array($this->inputData,UPDATEFILTER)){ 12 echo "エラー:L".__LINE__ ; 13 } 14 if(count($userData['id']) != $userData['user'] || count($userData['id']) != $userData['pass']){ 15 echo "エラー:L".__LINE__ ; 16 } 17 // 以降は抽出データを使ってPDOでDB更新のため省略。 18 } 19}

#開発環境
PHP 7.4.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ユーザーからのpost入力をバリデートするだけなら
filter_inputだけでいけると思いますが・・

投稿2020/04/10 08:12

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問