前提・実現したいこと
PHPのPOSTについてご質問があります。
添付画像のような名前を入れたら「ようこそ'名前'さん」
空欄であれば「名前を入力してください」
と表示されるコードを書きたいです。
不具合
名前を入力していないのに「ようこそさん」と表示されてしまいます。 空欄の場合は名前を入力してくださいと表示したいです。
該当のソースコード
PHP
1//send.php 送信側 2<!DOCTYPE HTML> 3<html lang="ja"> 4<head> 5 <meta charset="UTF-8"> 6 <title>課題</title> 7</head> 8<form method="post" action="receive.php"> 9 <label>名前: <input type="text" name="my_name"></label> 10 <input type="submit" value="送信する"> 11</form> 12</body> 13</html> 14
PHP
1//receive.php 受け取り側 2<!DOCTYPE html> 3<html> 4<head> 5 <meta charset="UTF-8"> 6 <title>post</title> 7</head> 8<body> 9<?php 10 11if ($_SERVER['REQUEST_METHOD'] === 'POST') { 12 if (isset($_POST['my_name'])===TRUE){ 13 $my_name = htmlspecialchars($_POST['my_name'], ENT_QUOTES, 'utf-8'); 14 } 15} 16if (isset($my_name) === TRUE) 17 {print 'ようこそ'.htmlspecialchars($my_name,ENT_QUOTES, 'utf-8').'さん'; 18}else{ 19 print '名前を入力してください'; 20} 21?> 22</body> 23</html> 24 25
試したこと
上記のようにコードでinputに何も入力せず送信すると、$_POST['my_name']の中身がnullではなく''になります。
そのため、空欄でもようこそさんと表示されてしまいます。
解決方法を教えていただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/18 02:51