はもちくわ

コードについて自分なりの解釈を書いてます。

【HTML】inputとbuttonの使い所

自分の作ったページのコードを整理していたら、へんなコードがあったので見やすく修正したお話。

まず、書いてあったコード


<div style="desplay: inline-flex;" align="center"> 
  <form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="POST">
    <input type="submit" value="先月">
    <input type="hidden" name="month1" value="<?php echo $month->format('Y-m-d');?>">
    <input type="hidden" name="loginfo" value="<?php echo $login_chek ;?>">
  </form>
  <form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="POST">
    <input type="submit" value="翌月">
    <input type="hidden" name="month2" value="<?php echo $month->format('Y-m-d');?>">
    <input type="hidden" name="loginfo" value="<?php echo $login_chek ;?>">
  </form>
</div >

PHPが混ざってますが、やりたいことは、先月と翌月ボタンを2つ横並びにして、ボタンがおされたら同じページに日付データをPOSTで飛ばして再処理、表示させたいということでした。
POSTでデータを受けてから、name=""で指定してあるmonth1month2で先月か翌月かを判断して日付データを計算させてました。

他の作りは$login_chekのデータにログインしている人の情報をカンマ区切りで一緒に飛ばすようになってます。

 

ひとまず、同じ配置、動きで、他のコードに影響のないように修正します。


<div align="center"> 
  <form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="POST">
    <button type="submit" name="month1" value="<?php echo $month->format('Y-m-d');?>">先月</button>
    <button type="submit" name="month2" value="<?php echo $month->format('Y-m-d');?>">翌月</button>
    <input type="hidden" name="loginfo" value="<?php echo $login_chek ;?>">
  </form>
</div >

すっきりしましたね!

受け側の作りを変えるならもう少しきれいに書けますが、ボタンを配置するならbuttonのほうが自由度が高いですよね。ただ送るだけのボタンならinputのsubmitでいいですけど、値も一緒にしたいときはやっぱりbuttonですよ!