"CHANGE" [the:world]

34才高卒男が開発エンジニアになるための記録

php学習&備忘録(4)

■in_arrayについて

in_arrayは、配列の中を探してくれる命令です。

例:

$yasai='トマト';

$yasai='ピーマン';

$yasai[]='大根';

if(in_array('ピーマン',yasai)==true)

{

         print'ピーマンはすでに存在します。';

}

■フラグ制御について

下記は参照コード。フラグとして機能させる変数名を$okflgとする。

$okflgがtrueなら「入力OK」,$okflgがfalseなら「入力ミスあり」とする。

 

○下記のサンプルコード解説

まずは$okflgをtrueとして初期化し、

入力ミスのコードに$okflgがfalseを追加する。

最後に、if命令でtrueであれば(入力ミスがなければ)次のページにデータを渡し、okボタンと戻るボタンを表示させ、そうでなければ戻るボタンを表示させている。

 

$okflg=true;

//まずは、trueにして初期化する!

if($onamae=='')
{
print'お名前が入力されていません。<br/>';
$okflg=false;
}
else
{
print'おなまえ<br/>';
print $onamae;
print'<br/><br/>';
}
if(preg_match('/\A[\w\-\.]+\@[\w\-\.]+\.([a-z]+)\z/',$email)==0)

{
print'メールアドレスを正確に入力してください。<br/><br/>';
$okflg=false;
}
else
{
print'メールアドレス<br/>';
print $email;
print'<br/><br>';
}

if(preg_match('/\A[0-9]+\z/',$postal1)==0)
{
print'郵便番号は半角数字で入力してください。<br/><br/>';
$okflg=false;
}
else
{
print'郵便番号 <br/>';
print $postal1;
print '-';
print $postal2;
print '<br/><br/>';
}

if(preg_match('/\A[0-9]+\z/',$postal2)==0)
{
print'郵便番号は半角数字で入力して下さい。<br/><br/>';
$okflg=false;
}

if($address=='')

{
print'住所が入力されていません。<br/><br/>';
$okflg=false;
}
else
{
print'住所<br/>';
print $address;
print '<br/><br/>';
}

if(preg_match('/\A\d{2,5}-?\d{2,5}-?\d{4,5}\z/',$tel)==0)
{
print'電話番号を正確に入力してください。<br/><br/>';
$okflg=false;
}
else
{
print '電話番号<br/>';
print $tel;
print '<br/><br/>';
}
if($okflg==true)
{
print'<form method="post" action="shop_form_done.php">';
print'<input type="hidden" name="onamae" value="'.$onamae.'">';
print'<input type="hidden" name="email" value="'.$email.'">';
print'<input type="hidden" name="postal1" value="'.$postal1.'">';
print'<input type="hidden" name="postal2" value="'.$postal2.'">';
print'<input type="hidden" name="address" value="'.$address.'">';
print'<input type="hidden" name="tel" value="'.$tel.'">';
print'<input type="button" onclick="history.back()"value="戻る">';
print'<input type="submit" value="OK"><br/>';
print'</form>';
}
else
{
print '<form>';
print '<input type="button" onclick="history.back()" value="戻る">';
print '</form>';
}
?>

</body>
</html>

 

総括

本日は自動返信メールの実装をするためのコーディングをした。

特に、1つの変数に文字や記号を追加できるとゆうのも目から鱗だった。

■例えば

$test='テストだよ,';

$test.='うまくいったかな?';

print $test

実行結果:

テストだよ、うまくいったかな?

※2つめの変数以降に”.”を付けています

 

そして、今日はBracketsが重くなるというハプニング,,

プラグインを削除したら挙動は戻ったが、急に重くなるのは勘弁していただきたい,,

そして、自動返信メールを作成する際の改行には

<br>ではなく<\n>を使うこと。

しかしページ上では改行されないため、

実行結果をページで確認したいときは、nl2brをつければok

例:print nl2br($honbun)