用PHP创建表单
用PHP创建表单
我們將使用 PHP 輕鬆地創建表單。
<!DOCTYPE html>
<meta charset = "utf-8">
<head></head>
<body>
<form method = "GET" action="input2.php">
氏名
<input type = "text" placeholder = "名前を入力 "name = "name"> //placeholderは下の薄い灰色のテキスト
<input type = "submit" value = "送信"> //送信部分
</form>
</body>
</html>
使用这个可以

form method用于指定数据的传输方法。在指定数据的传输方法(HTTP方法)时,有以下两种选择。
– 初始值为URL的发送内容将以GET方法传递。
– 发送的主体以POST方式提交。
form action指定了提交的URL。
需要注意的是,如果在input标签或button标签创建的提交按钮中指定了formaction,那么似乎会优先使用formaction。
在给表单命名时,可以使用name属性。
⚫︎占位符是上方浅灰色的文本。
⚫︎输入类型用于创建表单输入字段。
超级全球变量
在 index.php 文件的顶部加入以下描述。
<?php
if(isset($_GET['name'])){ //nameが入っていたなら
echo $_GET['name'];
}
//GET通信を見る
//スーパーグローバル変数 phpは9種類
?>

据说PHP有9种超级全局变量,
可以在函数外定义,并且一旦定义后,程序结束之前任何地方都可以访问和修改。
本次的超级全局变量是$_GET。
isset语句的意思是如果name存在的话。使用!empty也有相同的意思。
顺便提一句,在调试时加入dd会报错,但使用var_dump可以查看内容。
我试着勾选复选框。
我已经添加了复选框并尝试制作。
<?php
if(isset($_GET['name'])){ //nameが入っていたなら
echo $_GET['name'];
//echo '<pre>';
//var_dump($_GET);
}
?>
<!DOCTYPE html>
<meta charset = "utf-8">
<head></head>
<body>
<form method = "GET" action="index.php">
氏名
<input type="text" placeholder="名前を入力" name="name">
<pre>
<input type="checkbox" name="nation[]" value="日本">日本
<input type="checkbox" name="nation[]" value="中国">中国
<input type="checkbox" name="nation[]" value="アメリカ">アメリカ
<input type = "submit" value = "送信" >
</form>
</body>
</html>

使用标签可以创建复选框。
echo $_GET['name'];
可以用echo和var_dump($变量)来查看并了解其内容。
<?php
if(isset($_GET['name'])){ //nameが入っていたなら
//echo $_GET['name'];
echo '<pre>';
var_dump($_GET);
}
?>
试着用这个,你就可以看到内部的内容。
尝试将$_GET 转为$_POST
通过使用超级全局变量$_POST,在URL中防止其他人查看不希望被看到的信息。
<?php
if(isset($_POST['name'])){ //nameが入っていたなら
//echo $_POST['name'];
echo '<pre>';
var_dump($_POST);
}
//GET通信を見る
//スーパーグローバル変数 phpは9種類
?>
<!DOCTYPE html>
<meta charset = "utf-8">
<head></head>
<body>
<form method = "GET" action="index.php">
氏名
<input type="text" placeholder="名前を入力" name="name">
<pre>
<input type="checkbox" name="nation[]" value="日本">日本
<input type="checkbox" name="nation[]" value="中国">中国
<input type="checkbox" name="nation[]" value="アメリカ">アメリカ
<input type = "submit" value = "送信" >
</form>
</body>
</html>

我输入了“孙”作为名字,选择了中国作为国家,然后发送了。
创建表单:输入,确认,完成。
請創建一個輸入、確認和完成的表單。
輸入命名為input.php,確認命名為confirm.php,完成命名為thanks.php。
<?php
$pageFlag = 0; //ページ遷移の変数
if(!empty($_POST["btn_confirm"])){ //確認画面
$pageFlag = 1;
}
if(!empty($_POST["btn_submit"])){ //完了画面
$pageFlag = 2;
}
?>
<!DOCTYPE html>
<meta charset = "utf-8">
<head></head>
<body>
<?php if($pageFlag === 1 ) :?>
<form method = "POST" action="index.php">
<pre>
氏名
<?php echo $_POST["name"] ;?>
<pre>
メールアドレス
<?php echo $_POST["email"] ;?>
<pre>
パスワード
<?php echo $_POST["password"] ;?>
<pre>
<input type = "submit" name = "back" value = "戻る"> #戻るボタン
<input type = "submit" name = "btn_submit" value = "送信" >
<input type = "hidden" name = "name" value = "<?php echo $_POST["name"] ;?>">
<input type = "hidden" name = "email" value = "<?php echo $_POST["email"] ;?>">
<input type = "hidden" name = "password" value = "<?php echo $_POST["password"] ;?>">
</form>
<?php endif; ?>
<?php if($pageFlag === 2 ) :?>
送信が完了しました。
<?php endif; ?>
<?php if($pageFlag === 0 ) :?>
<form method = "POST" action="index.php">
<br>
氏名
<input type="text" placeholder="名前を入力" name="name" value ="<?php if(!empty($_POST["name"])){echo $_POST["name"];}?>">
<br>
メールアドレス
<br><input type = "email" placeholder = "メールアドレスを入力" name ="email" value ="<?php if(!empty($_POST["email"])){echo $_POST["name"];}?>">
<br>
パスワード
<input type = "password" placeholder = "パスワードを入力" name = "password" value ="<?php if(!empty($_POST["password"])){echo $_POST["email"];}?>">
<br>
<input type = "submit" name = "btn_confirm" value = "確認" >
</form>
<?php endif; ?>
</body>
</html>