/* Google Analytics ▽ */ /* Google Analytics △ */

WEB制作の勉強メモ / 猫脳人間

HTML CSS JavaScript ActionScript jQuery WordPress PHP Illustrator Photoshop Flash … 猫サイズの脳でも覚えるぞ と…

PHP 2日目

PHP公式マニュアル

PHP: PHP マニュアル - Manual


以下は急いで貼りつけたソースです(記述ミスがある可能性があります)。

POST の場合

<h1>フォームを動かす</h1>
<form action="form_receive.php" method="post">
<p>お名前:<input type="text" name="your_name"></p>
<p>ご年齢:<input type="text" name="your_age"></p>
<input type="submit">
</form>
<?php
$name = $_POST['your_name'];
$age = $_POST['your_age'];
?>

<body>
<p>あなたのお名前は <?php echo $name; ?> です。</p>
<p>あなたの年齢は <?php echo $age; ?> 歳です。</p>

<?php
echo "<p>あなたのお名前は {$name} です。</p>";
echo "<p>あなたの年齢は {$age} です。</p>";
?>
</body>

GET の場合

<h1>フォームを動かす</h1>
<form action="form_receive_get.php" method="get">
<p>お名前:<input type="text" name="your_name"></p>
<p>ご年齢:<input type="text" name="your_age"></p>
<input type="submit">
</form>
<?php
$name = $_GET['your_name'];
$age = $_GET['your_age'];
?>

<body>
<p>あなたのお名前は <?php echo $name; ?> です</p>
<p>あなたの年齢は <?php echo $age; ?> 歳です。</p>

<?php
echo "<p>あなたのお名前は {$name} です。</p>";
echo "<p>あなたの年齢は {$age} です。</p>";
?>
</body>
フォームに入れられたタグを無効化
<p>あなたのお名前は <?php echo htmlspecialchars($name,ENT_QUOTES,'UTF-8'); ?> です</p>
<p>あなたの年齢は <?php echo htmlspecialchars($age,ENT_QUOTES,'UTF-8'); ?> 歳です。</p>
<p>あなたのお名前は &lt;a href=&quot;#&quot;&gt;いたずら&lt;/a&gt; です</p>
<p>あなたの年齢は &lt;a href=&quot;#&quot;&gt;いたずら&lt;/a&gt; 歳です。</p>
<?php
/*$test = 2;
var_dump(isset($test));
exit;*/
// isset 値が入っているかいないか、見てくれる関数

if(isset($_POST['your_name'])!=true){
  header('Location:form.php');
  exit;
// form.php にリダイレクト
}

if(!isset($_POST['your_name'])||!isset($_POST['your_age'])){
  header('Location:form-01.php');
  exit;
}

if(isset($_POST['your_name'])===true){
  header('Location:form-01.php');
  exit;
}
?>
処理用のPHPファイルに直接アクセスされた場合にブロックする記述

( isset は、値が有るか無いか チェックしてくれる関数 )

<?php

if(!isset($_GET['your_age']) || !isset($_GET['your_age'])){
  header('Location:from.php');
}

$name = $_GET['your_name'];
$age = $_GET['your_age'];

?>
form の内容を表示

nl2br()
で、改行が有効になる。

<form action="check.php" method="post">


<table>
<tbody>

<tr>
<th>お名前: </th>
<td><?php echo htmlspecialchars($name,ENT_QUOTES,'UTF-8'); ?></td>
</tr>

<tr>
<th>Eメール: </th>
<td><?php echo htmlspecialchars($email,ENT_QUOTES,'UTF-8'); ?></td>
</tr>

<tr>
<th>お問合せ内容: </th>
<td><?php echo nl2br(htmlspecialchars($message,ENT_QUOTES,'UTF-8')); ?></td>
</tr>

</tbody>
</table>
<input type="submit" value=" 以上でよければ送信 ">
</form>
htmlspecialchars($str,ENT_QUOTES,'UTF-8');
の記述を短くする
// この記述で
function h($str){
  return htmlspecialchars($str,ENT_QUOTES,'UTF-8');
}
// これを
<?php echo htmlspecialchars($name,ENT_QUOTES,'UTF-8'); ?>
<?php echo htmlspecialchars($age,ENT_QUOTES,'UTF-8'); ?>

// こう省略できる
<?php echo h($name); ?>
<?php echo h($age); ?>