LoginSignup
0
0

More than 3 years have passed since last update.

[学習11日目]PHP初級編 〜関数・フォーム〜

Last updated at Posted at 2020-02-14

学んだこと

既存の関数の呼び出し方

カウント系:strlen()は文字数、count()は配列の要素数を数えてくれる

カウント系で似ているなと思ったこの2つだが、
strlen()は何かの文字列or変数を、
count()は配列を、
引数に入れるものっぽい。

rand()

これも便利な関数。

index.php
echo rand(1,4);

こうすると、1〜4のランダムな整数を返してくれるみたい。

関数の定義

関数定義の書き方はそんなに難しくない。
戻り値がいらない場合は

index.php
function 関数名(引数1,引数2){
  /*処理*/
}

こんな感じ。
で、
関数名(引数1,引数2);
の形式で呼び出せばOK

戻り値が必要な場合は、

index.php
function 関数名(引数1,引数2){
  /*処理*/
  return 戻り値;
}

って感じで書けばOK。
呼び出し方は戻り値がない時と同じ。

ちなみに引数がなくてもOK
関数名();
みたいに。

フォーム

formタグ

index.php
<form action="url" method="post">
//フォームの内容を書く
</form>

こんな感じでかく。タグの書き方覚えちゃえばHTMLと同じ感じだ。

methodは送信方法で、
送信先("url")に表示したい場合はgetを。

テキストボックス:一行文なら<input>でtype="text"、改行を含む大きいフォームは<textarea>を使う

よく、問い合わせフォームとかで
名前とかEmailを入力する時がある。
それはだいたい一行だから<input>を使う

よく、問い合わせフォームとかで、
フリー記入欄がある。備考とか。
それは<textare>をつ会う

その作り方は、inputタグでtypeをtextに指定すればできる。

まず、一行のテキストボックス。

index.php
<form action="sent.php" method~"post">

  Emailを入力してください
  <input type="text" name="email">

</form>

こうすると、
「Emailを入力してください」
という文字の下に一行分の入力フォームが表示される。

一方、広めの改行ありのテキストボックスは、

index.php
<form action="sent.php" method~"post">

<textarea name="content"></textarea>

</form>

★ここで注意したいのは、
<input>は閉じなくていい。
<textare>は閉じないといけない。
ってこと。

<input>
<input></input>

<textarea>
<textarea></textarea>

ややこし。。。
”inputが例外だな”って覚えるしかないか。

送信ボタンの書き方はHTMLと同じ。

送信ボタンは<form>の中で

index.php
<input type="submit" value="送信">

と書けばOK

フォームのデータの受け取りは$_POST['データ名']で受け取る

フォームで

index.php
<form action="sent.php" method="post">

Emailを入力してください
<input type="text" name="email">

....

</form>

となっていた時、
formタグで送信urlに指定したsent.phpの方では、

sent.php
echo $_POST['email'];

とすると、フォームで入力された情報が受け取れる。

セレクトボックスの作り方も基本HTMLと同じ

index.php
<select>
<option value="apple">りんご</option>
<option value="banana">ばなな</option>
<option value="orange">みかん</option>
</select>

★ここで理解したいのは、
<option></option>で挟まれた文字(ここではひらがなの「りんご」や「」ばなな」や「みかん」)は、
プルダウンの選択に表示される文字にすぎない。

実際にデータとして送信されるのは、valueで指定した、「apple」「banana」「orange」である。

応用

for文などのループを使ってもかける

書き方はこんな感じ

index.php
for($i=1; $i<4; $i++){
  echo '<option value='{$i}'>{$i}</option>';
}

★ポイント
・echoで表示させるので、option全体を' で囲う。
・変数は{}で囲って{$i}で表現
・タグ内の変数は、{$i}をさらに'で囲う。'{$i}'こんな感じ。

progateメモ

現在Lv. 18
bbpnuts21

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0