検索ボックスをクリックした後の処理を searchbox.php に記入しているのですが、5行目の処理の意味が分かりません。
if(!isset($_POST['word'])){
この部分を「もしテキストが何も入っていなかったら」という意味だと思ったのですが、15行目の条件式がそんな役割を果たしているため違うと思いますし、searchbox.phpへ直接アクセスという意味もよく分かっていません。
ご教授いただけると幸いです。
PHP
1// sideber.php 2 3<sidebar class="sidebar" id="sidebar"> 4 <div class="searchbox"> 5 <form method="post" action="searchbox.php"> 6 <input type="text" name="word" value="" placeholder="word..." required> 7 <input type="submit" name="submit" value="検索" id="search" > 8 <label for="search"><i class="fas fa-search"></i> </label> 9 </form> 10 </div> 11</sidebar>
PHP
1// searchbox.php 2 3<?php 4// searchbox.php へ直接アクセスされたらリダイレクト 5if(!isset($_POST['word'])){ 6 header('Location:https://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'); 7 exit(); 8} 9 10// $_POST['word']で入力値を取得 文字前後の空白除去&エスケープ処理 11$word = trim(htmlspecialchars($_POST['word'],ENT_QUOTES)); 12// 文字列の中の「 」(全角空白)を「」(何もなし)に変換 13$word = str_replace(" ","",$word); 14// 対象文字列が何もなかったらキーワード指定なしとする 15if($word === ""){ 16 $word = "キーワード指定なし"; 17} 18?>
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/12/29 05:53 編集