php设置表单颜色

代码:

<!DOCTYPE html>
<html>
<head>
	<title>PHP 设置表单颜色</title>
	<style>
		input[type=text], select {
			padding: 12px 20px;
			margin: 8px 0;
			display: inline-block;
			border: 1px solid #ccc;
			border-radius: 4px;
			box-sizing: border-box;
		}

		input[type=submit] {
			background-color: #4CAF50;
			color: white;
			padding: 14px 20px;
			margin: 8px 0;
			border: none;
			border-radius: 4px;
			cursor: pointer;
		}
	</style>
</head>
<body>

	<?php
	if ($_SERVER["REQUEST_METHOD"] == "POST") {
		// 获取表单数据
		$name = test_input($_POST["name"]);
		$email = test_input($_POST["email"]);

		// 判断表单数据是否合法
		if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
			$nameErr = "只允许字母和空格";
		}

		if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
			$emailErr = "无效的 email 格式";
		}
	}
	
	function test_input($data) {
		$data = trim($data);
		$data = stripslashes($data);
		$data = htmlspecialchars($data);
		return $data;
	}
	?>

	<h2>PHP 设置表单颜色</h2>

	<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

		<label for="name">姓名:</label>
		<input type="text" id="name" name="name" style="background-color: <?php echo isset($nameErr) ? '#ffdddd' : ''; ?>" value="<?php echo isset($name) ? $name : ''; ?>">
		<span class="error"><?php echo isset($nameErr) ? $nameErr : ''; ?></span>

		<br><br>

		<label for="email">邮箱:</label>
		<input type="text" id="email" name="email" style="background-color: <?php echo isset($emailErr) ? '#ffdddd' : ''; ?>" value="<?php echo isset($email) ? $email : ''; ?>">
		<span class="error"><?php echo isset($emailErr) ? $emailErr : ''; ?></span>

		<br><br>

		<input type="submit" value="提交">

	</form>

</body>
</html>

解决思路:

要设置表单颜色,可以通过在表单标签上添加 style 属性,并使用 PHP 的条件语句控制样式。

在上述代码中,我们利用了 PHP 的 isset 函数来判断变量是否存在,从而决定是否改变表单的背景颜色。当某个输入项的数据不合法时,就将其背景颜色设为红色。同时,为了避免用户在刷新页面后失去填写的数据,我们使用了 PHP 的 htmlspecialchars 函数对输入数据进行转义处理,并将其赋值给相应的输入框。

总之,在设置表单颜色时需要注意以下几点:

  1. 需要先判断输入项的数据是否合法,再根据结果设置颜色。

  2. 在设置样式时,需要将样式代码放在表单标签的 style 属性中。

  3. 在用户刷新页面后,需要将已经填写的数据显示到相应的输入框中。

posted @   拓源技术  阅读(117)  评论(0编辑  收藏  举报
(评论功能已被禁用)
点击右上角即可分享
微信分享提示