PHPでウェブの世界と繋がろう!
menu
ホーム > PHPサンプル > フォーム系 > フォーム作成 $_GET(ゲット)

フォーム作成 $_GET(ゲット)

Pocket

サンプルコード sample code
[ $_GET(ゲット変数)の詳細説明はこちらを参照下さい。 ]

「$_GET(ゲット)」でフォーム作成

1 入力 phpsample-form-get.php

2 確認 phpsample-form-get2.php

3 完了 phpsample-form-get3.php

– サンプル Click Here ! –

1入力 phpsample-form-get.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta name="robots" content="index">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<title>GETフォーム</title>
</head>
<body>

<?php
//$htmlを初期化
$html = array();
//戻りの場合
if(isset($_GET&#91;'back'&#93;)){
    //htmlentities()でHTMLコードをエスケープします。
    $html&#91;'name'&#93; =               htmlentities($_GET&#91;'name'&#93;, ENT_QUOTES, 'UTF-8');
    $html&#91;'hoby'&#93;&#91;'reading'&#93; =    htmlentities($_GET&#91;'hoby'&#93;&#91;'reading'&#93;, ENT_QUOTES, 'UTF-8');
    $html&#91;'hoby'&#93;&#91;'appreciate'&#93; = htmlentities($_GET&#91;'hoby'&#93;&#91;'appreciate'&#93;, ENT_QUOTES, 'UTF-8');
    $html&#91;'hoby'&#93;&#91;'trip'&#93; =       htmlentities($_GET&#91;'hoby'&#93;&#91;'trip'&#93;, ENT_QUOTES, 'UTF-8');
    $html&#91;'maintext'&#93; =           htmlentities($_GET&#91;'maintext'&#93;, ENT_QUOTES, 'UTF-8');
//初期値
}else{
    //初期化
    $html&#91;'name'&#93; =               '';
    $html&#91;'hoby'&#93;&#91;'reading'&#93; =    '';
    $html&#91;'hoby'&#93;&#91;'appreciate'&#93; = '';
    $html&#91;'hoby'&#93;&#91;'trip'&#93; =       '';
    $html&#91;'maintext'&#93; =           '';
}
?>

<h3>1入力</h3>

<form action="phpsample-form-get2.php" method="GET">

<table border="1">

<tr>
<td>名前</td>
<td><input type="text" name="name" value="<?php echo  $html&#91;'name'&#93;; ?>" size=48></td>
</tr>

<tr>
<td>趣味</td>
<td>
<input type="checkbox" name="hoby&#91;reading&#93;" value="reading"<?php if($html&#91;'hoby'&#93;&#91;'reading'&#93; == 'reading') echo ' checked'; ?>>読書
<input type="checkbox" name="hoby&#91;appreciate&#93;" value="appreciate"<?php if($html&#91;'hoby'&#93;&#91;'appreciate'&#93; == 'appreciate') echo ' checked'; ?>>鑑賞
<input type="checkbox" name="hoby&#91;trip&#93;" value="trip"<?php if($html&#91;'hoby'&#93;&#91;'trip'&#93; == 'trip') echo ' checked'; ?>>旅行
</td>
</tr>

<tr>
<td>お問合せ内容</td>
<td><textarea name="maintext" cols="50" rows="10"><?php echo $html&#91;'maintext'&#93;; ?></textarea></td>
</tr>

<tr>
<td colspan="2" align="center">
<input type="submit" name="confirm" value="- 入力内容の確認 -">
<input type="reset" value="リセット" name="reset" onClick="Frest()">
</td>
</tr>

</table>

</form>

</body>
</html>

2確認 phpsample-form-get2.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta name="robots" content="index">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<title>GETフォーム</title>
</head>
<body>

<?php
//変数初期化
$html =      array();
$cln =       array();
$strError =  '';

//確認ボタンが押されていれば
if(isset($_GET&#91;'confirm'&#93;)){

    //名前 フィルタリング 30文字以内
    if(isset($_GET&#91;'name'&#93;) && $_GET&#91;'name'&#93; != ''){
        $cln&#91;'name'&#93; = $_GET&#91;'name'&#93;;
        //マルチバイト文字列を含めた文字数
        if(mb_strlen($cln&#91;'name'&#93;) <= 30){
            //htmlentities()でHTMLコードをエスケープします。
            $html&#91;'name'&#93; = htmlentities($cln&#91;'name'&#93;, ENT_QUOTES, 'UTF-8');
        }else{
            $strError .= "名前を30文字以内にして下さい。<br/>\n";
            $html['name'] = '';
        }
    }else{
        $html['name'] = '';
    }//end

    //選択読書 フィルタリング
    if(isset($_GET['hoby']['reading']) && $_GET['hoby']['reading'] != ''){
        $cln['hoby']['reading'] = $_GET['hoby']['reading'];
        //値のチェック
        if($cln['hoby']['reading'] === 'reading'){
            //htmlentities()でHTMLコードをエスケープします。
            $html['hoby']['reading'] = $cln['hoby']['reading'];
        }else{
            $strError .= "読書の選択肢が不正です。<br/>\n";
            $html['hoby']['reading'] = '';
        }
    }else{
        $html['hoby']['reading'] = '';
    }//end

    //選択鑑賞 フィルタリング
    if(isset($_GET['hoby']['appreciate']) && $_GET['hoby']['appreciate'] != ''){
        $cln['hoby']['appreciate'] = $_GET['hoby']['appreciate'];
        //値のチェック
        if($cln['hoby']['appreciate'] === 'appreciate'){
            //htmlentities()でHTMLコードをエスケープします。
            $html['hoby']['appreciate'] = $cln['hoby']['appreciate'];
        }else{
            $strError .= "鑑賞の選択肢が不正です。<br/>\n";
            $html['hoby']['appreciate'] = '';
        }
    }else{
        $html['hoby']['appreciate'] = '';
    }//end

    //選択旅行 フィルタリング
    if(isset($_GET['hoby']['trip']) && $_GET['hoby']['trip'] != ''){
        $cln['hoby']['trip'] = $_GET['hoby']['trip'];
        //値のチェック
        if($cln['hoby']['trip'] === 'trip'){
            //htmlentities()でHTMLコードをエスケープします。
            $html['hoby']['trip'] = $cln['hoby']['trip'];
        }else{
            $strError .= "旅行の選択肢が不正です。<br/>\n";
            $html['hoby']['trip'] = '';
        }
    }else{
        $html['hoby']['trip'] = '';
    }//end

    //お問合せ内容 フィルタリング 300文字以内
    if(isset($_GET['maintext']) && $_GET['maintext'] != ''){
        $cln['maintext'] = $_GET['maintext'];
        //マルチバイト文字列を含めた文字数
        if(mb_strlen($cln['maintext']) <= 300){
            //htmlentities()でHTMLコードをエスケープします。
            $html&#91;'maintext'&#93; = htmlentities($cln&#91;'maintext'&#93;, ENT_QUOTES, 'UTF-8');
        }else{
            $strError .= "お問合せ内容を300文字以内にして下さい。<br/>\n";
            $html['maintext'] = '';
        }
    }else{
        $html['maintext'] = '';
    }//end

    //フィルタリングでエラーがあれば
    if($strError != ''){
        echo $strError."<br/>\n";
        ?>

        <form action="phpsample-form-get.php" method="GET">
        <input type="hidden" name="name" value="<?php echo $html&#91;'name'&#93;; ?>">
        <input type="hidden" name="hoby&#91;reading&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'reading'&#93;; ?>">
        <input type="hidden" name="hoby&#91;appreciate&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'appreciate'&#93;; ?>">
        <input type="hidden" name="hoby&#91;trip&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'trip'&#93;; ?>">
        <input type="hidden" name="maintext" value="<?php echo $html&#91;'maintext'&#93;; ?>">
        <input type="submit" name="back" value="- 戻る -">
        </form>

        </div>
        <hr/>
        </body>
        </html>
        <?php
        exit;
    }

//確認ボタンが押されていなければ
}else{
    ?>
    確認ボタンを押して下さい。<br/>
    <a href="phpsample-form-get.php">入力へ</a>
    </div>
    <hr/>
    </body>
    </html>
    <?php
    exit;
}
?>

<h3>2確認</h3>

<table border="1">

<tr>
<td>名前</td>
<td><?php echo $html&#91;'name'&#93;; ?></td>
</tr>

<tr>
<td>趣味</td>
<td>
<?php if($html&#91;'hoby'&#93;&#91;'reading'&#93; == 'reading') echo '読書<br/>'; ?>
<?php if($html&#91;'hoby'&#93;&#91;'appreciate'&#93; == 'appreciate') echo '完了<br/>'; ?>
<?php if($html&#91;'hoby'&#93;&#91;'trip'&#93; == 'trip') echo '旅行<br/>'; ?>
</td>
</tr>

<tr>
<td>お問合せ内容</td>
<td><?php echo nl2br($html&#91;'maintext'&#93;); ?></td>
</tr>

</table>

<form action="phpsample-form-get.php" method="GET">
<input type="hidden" name="name" value="<?php echo $html&#91;'name'&#93;; ?>">
<input type="hidden" name="hoby&#91;reading&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'reading'&#93;; ?>">
<input type="hidden" name="hoby&#91;appreciate&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'appreciate'&#93;; ?>">
<input type="hidden" name="hoby&#91;trip&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'trip'&#93;; ?>">
<input type="hidden" name="maintext" value="<?php echo $html&#91;'maintext'&#93;; ?>">
<input type="submit" name="back" value="- 戻る -">
</form>

<br/>

<form action="phpsample-form-get3.php" method="GET">
<input type="hidden" name="name" value="<?php echo $html&#91;'name'&#93;; ?>">
<input type="hidden" name="hoby&#91;reading&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'reading'&#93;; ?>">
<input type="hidden" name="hoby&#91;appreciate&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'appreciate'&#93;; ?>">
<input type="hidden" name="hoby&#91;trip&#93;" value="<?php echo $html&#91;'hoby'&#93;&#91;'trip'&#93;; ?>">
<input type="hidden" name="maintext" value="<?php echo $html&#91;'maintext'&#93;; ?>">
<input type="submit" name="comp" value="- 完了へ -">
</form>

</body>
</html>

3完了 phpsample-form-get3.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta name="robots" content="index">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<title>GETフォーム</title>
</head>
<body>

<?php
//変数初期化
$html =      array();
$cln =       array();
$strError =  '';

//完了ボタンが押されていれば
if(isset($_GET&#91;'comp'&#93;)){

    //名前 フィルタリング 30文字以内
    if(isset($_GET&#91;'name'&#93;) && $_GET&#91;'name'&#93; != ''){
        $cln&#91;'name'&#93; = $_GET&#91;'name'&#93;;
        //マルチバイト文字列を含めた文字数
        if(mb_strlen($cln&#91;'name'&#93;) <= 30){
            //htmlentities()でHTMLコードをエスケープします。
            $html&#91;'name'&#93; = htmlentities($cln&#91;'name'&#93;, ENT_QUOTES, 'UTF-8');
        }else{
            $strError .= "名前を30文字以内にして下さい。<br/>\n";
            $html['name'] = '';
        }
    }else{
        $html['name'] = '';
    }//end

    //選択読書 フィルタリング
    if(isset($_GET['hoby']['reading']) && $_GET['hoby']['reading'] != ''){
        $cln['hoby']['reading'] = $_GET['hoby']['reading'];
        //値のチェック
        if($cln['hoby']['reading'] === 'reading'){
            //htmlentities()でHTMLコードをエスケープします。
            $html['hoby']['reading'] = $cln['hoby']['reading'];
        }else{
            $strError .= "読書の選択肢が不正です。<br/>\n";
            $html['hoby']['reading'] = '';
        }
    }else{
        $html['hoby']['reading'] = '';
    }//end

    //選択鑑賞 フィルタリング
    if(isset($_GET['hoby']['appreciate']) && $_GET['hoby']['appreciate'] != ''){
        $cln['hoby']['appreciate'] = $_GET['hoby']['appreciate'];
        //値のチェック
        if($cln['hoby']['appreciate'] === 'appreciate'){
            //htmlentities()でHTMLコードをエスケープします。
            $html['hoby']['appreciate'] = $cln['hoby']['appreciate'];
        }else{
            $strError .= "鑑賞の選択肢が不正です。<br/>\n";
            $html['hoby']['appreciate'] = '';
        }
    }else{
        $html['hoby']['appreciate'] = '';
    }//end

    //選択旅行 フィルタリング
    if(isset($_GET['hoby']['trip']) && $_GET['hoby']['trip'] != ''){
        $cln['hoby']['trip'] = $_GET['hoby']['trip'];
        //値のチェック
        if($cln['hoby']['trip'] === 'trip'){
            //htmlentities()でHTMLコードをエスケープします。
            $html['hoby']['trip'] = $cln['hoby']['trip'];
        }else{
            $strError .= "旅行の選択肢が不正です。<br/>\n";
            $html['hoby']['trip'] = '';
        }
    }else{
        $html['hoby']['trip'] = '';
    }//end

    //お問合せ内容 フィルタリング 300文字以内
    if(isset($_GET['maintext']) && $_GET['maintext'] != ''){
        $cln['maintext'] = $_GET['maintext'];
        //マルチバイト文字列を含めた文字数
        if(mb_strlen($cln['maintext']) <= 300){
            //htmlentities()でHTMLコードをエスケープします。
            $html&#91;'maintext'&#93; = htmlentities($cln&#91;'maintext'&#93;, ENT_QUOTES, 'UTF-8');
        }else{
            $strError .= "お問合せ内容を300文字以内にして下さい。<br/>\n";
            $html['maintext'] = '';
        }
    }else{
        $html['maintext'] = '';
    }//end

    //フィルタリングでエラーがあれば
    if($strError != ''){
        ?>
        不正なエラーです。<br/>
        <a href="phpsample-form-get.php">入力へ</a>
        </div>
        <hr/>
        </body>
        </html>
        <?php
        exit;
    }

//完了ボタンが押されていなければ
}else{
    ?>
    完了ボタンを押して下さい。<br/>
    <a href="phpsample-form-get.php">入力へ</a>
    </div>
    <hr/>
    </body>
    </html>
    <?php
    exit;
}
?>

<h3>3完了</h3>

<table border="1">

<tr>
<td>名前</td>
<td><?php echo $html&#91;'name'&#93;; ?></td>
</tr>

<tr>
<td>趣味</td>
<td>
<?php if($html&#91;'hoby'&#93;&#91;'reading'&#93; == 'reading') echo '読書<br/>'; ?>
<?php if($html&#91;'hoby'&#93;&#91;'appreciate'&#93; == 'appreciate') echo '完了<br/>'; ?>
<?php if($html&#91;'hoby'&#93;&#91;'trip'&#93; == 'trip') echo '旅行<br/>'; ?>
</td>
</tr>

<tr>
<td>お問合せ内容</td>
<td><?php echo nl2br($html&#91;'maintext'&#93;); ?></td>
</tr>

</table>

<form action="phpsample-form-get.php" method="GET">
<input type="submit" name="input" value="- 入力へ -">
</form>

</body>
</html>

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2012年3月2日
最終更新日:2014年02月20日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpsample-form-get/trackback/