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

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

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

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

Q&A

解決済

1回答

1009閲覧

値が空の場合クラスを付与する

MM1908000

総合スコア10

PHP

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

0グッド

0クリップ

投稿2019/10/12 03:26

チェック項目にすべてチェックがついていない場合、
次の画面でdl自体を非表示にしたいと考えおりました。

$error[] = にnoneという値を入れて、dl部分に表示させようとやってみたのですが、
何も付与されません。
もし、checkとcheck01とcheck02の全てが空の場合クラス名が付与されて、
dl自体が非表示になるという形式にしたいのですが。

こちらがinput.phpのコードとなります。

php

1<form id="mail-form" action="./confirm.php" method="post"> 2 <dl> 3 <dt>テキスト</dt> 4 <dd> 5 <ul><li> 6 <input type="checkbox" name="check" id="check" value="テキスト1">テキスト1</li> 7 <li><input type="checkbox" name="check01" id="check01"value="テキスト2">テキスト2</li> 8 <li><input type="checkbox" name="check02" id="check02"value="テキスト3">テキスト3</li> 9 </ul> 10 </dd> 11 </dl> 12 13 <p class="center"> 14 <button type="input-submit-check" id="input-submit-check" value="input-submit-check" name="input-submit-check">同意し、確認画面へ</button> 15 </p> 16 </form>

こちらが次のページのconfirm.phpのコードとなります。

php

1<?php 2session_start(); 3if(!$_POST){ 4 header('Location: ./input.php'); 5} 6$_SESSION = $_POST; 7 8 $postData = $_POST; 9 $page_flag = 0; 10 $error = array(); 11 function formValidation($postData) { 12 13 $error = array(); 14 if(empty($postData['check']) && empty($postData['check01']) && empty($postData['check02'])){ 15 $error[] = "none"; 16 } 17 return $error; 18 } 19 $error = formValidation($postData); 20 21?> 22<!doctype html> 23<html> 24<head> 25 26<meta charset="utf-8"> 27<title>テスト</title> 28 29</head> 30<body> 31<div id="wrap"> 32 33 <div class="entry"> 34 <h1>確認</h1> 35 </div> 36 37 <div id="contents_wrap" class="contents"> 38<form id="confirm" action="./thanks.php" method="post"> 39 40 41 42<?php if($page_flag == 1): ?> 43 <dl class="error <?php foreach( $error ): ?>"> 44<?php endif; ?> 45 <dt> 46 <label>テキスト</label> 47 </dt> 48 <dd><?php echo htmlspecialchars($postData['check'], ENT_QUOTES, 'UTF-8'); ?><?php echo htmlspecialchars($postData['check01'], ENT_QUOTES, 'UTF-8'); ?><?php echo htmlspecialchars($postData['check02'], ENT_QUOTES, 'UTF-8'); ?></dd> 49 </dl> 50 51 52 </form> 53 54 </div> 55 </div> 56</div> 57 58</body> 59</html>

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

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

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

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

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

m.ts10806

2019/10/12 05:10

$page_flagは何を分岐として1が設定されるのでしょうか
tanishi_a

2019/10/12 14:09

$page_flag の if 文を外した結果が知りたいですね。
guest

回答1

0

ベストアンサー

PHP

1<dl class="error <?php echo $error[0] ?>"> 2 <dt> 3  <label>テキスト</label> 4 </dt> 5 <dd><?php echo htmlspecialchars($postData['check'], ENT_QUOTES, 'UTF-8'); ?><?php echo htmlspecialchars($postData['check01'], ENT_QUOTES, 'UTF-8'); ?><?php echo htmlspecialchars($postData['check02'], ENT_QUOTES, 'UTF-8'); ?></dd> 6</dl>

上記でclass「none]が付与されます

css

1.none { display:none; }

あとはcssで非表示設定してください

投稿2019/10/13 04:58

jinba

総合スコア310

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問