Heim > Backend-Entwicklung > PHP-Tutorial > 该如何清空$_POST里的数据?

该如何清空$_POST里的数据?

WBOY
Freigeben: 2016-06-23 14:06:34
Original
2415 Leute haben es durchsucht

试写了一个登陆界面,还没有完成,测试的时候发现问题。$_POST里的值不会清空,每输入一次用户名,$_POST里面就多一个用户名,后果就是第一次错误输入的话,就无法再正确输入用户名。。。除非浏览器刷新页面。。。

<!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"><head><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-8" http-equiv="Content-Type" /><title>Welcome back</title><style type="text/css">.auto-style2 {	text-align: center;}.auto-style1 {	font-size: 36pt;	text-align: left;}.auto-style4 {	font-family: Broadway;	font-size: xx-large;}</style></head><body><table align="center" style="width: 100%">	<tr>		<td>		<div class="auto-style2">			<table align="center" style="width: 100%">				<tr>					<td class="auto-style1">Welcome back</td>					<td>					<img     style="max-width:90%" src="logo.jpg" style="float: right"  style="max-width:90%" / alt="该如何清空$_POST里的数据?" ></td>				</tr>			</table>		</div>		<hr />				<p class="auto-style4">Log in:</p>		<form action="login.php" method="post" style="height: 213px">			<div class="auto-style2">				<table style="width: 100%">					<tr>						<td class="auto-style2">User Name:</td>					</tr>					<tr>						<td class="auto-style2">							<input name="user_name" type="text" value="								<?php 									if(isset($_POST['user_name']))									{										print htmlspecialchars($_POST['user_name']);									}								?>							"/>						</td>					</tr>					<tr>						<td class="auto-style2">Password:</td>					</tr>					<tr>						<td class="auto-style2">						<input name="password" type="password" /></td>					</tr>				</table>				<br />				<br />				<input name="submit" type="submit" value="Sign in" /></div>		</form>		</td>	</tr></table><?phprequire_once 'connectDB.php';print '<style type = "text/css" media = "screen">.error {color: red;}</style>';if($_SERVER['REQUEST_METHOD']=='POST'){	$problem = false;	$login = false;	if(empty($_POST['user_name']))	{		$problem = true;		print '<p class = "error">Please enter your user name!</p>';	}	if(empty($_POST['password']))	{		$problem = true;		print '<p class = "error">Please enter a password</p>';	}	if(!$problem)	{		$user = trim(stripslashes($_POST['user_name']));		$pwd = trim(stripslashes($_POST['password']));		$user = mysql_real_escape_string($user);		$pwd = mysql_real_escape_string($pwd);				$q = "SELECT * FROM USER WHERE USER_NAME = '$user' and PASSWORD = '$pwd'";				echo $q;				$result = mysql_query($q);				if(!$result || mysql_num_rows($result) == 0)		{			print '<p class = "error">Wrong Username or Password.</p>';		}		else		{			$row = mysql_fetch_array($result);			$id = $row['USER_ID'];			$name = $row['USER_NAME'];			echo "User ID is ".$id;						session_start();			$_SESSION['$id'] = $id;						//clear the POST array				$_POST = array();   //网上找来的办法, 但貌似不管用					}			}	else	{		print '<p class = "error">Please try again!</p>';	}		}?></body></html>
Nach dem Login kopieren



请高手帮忙解决一下,感激不尽


回复讨论(解决方案)

                            <input name="user_name" type="text" value="                                <?php                                     if(isset($_POST['user_name']))                                    {                                        print htmlspecialchars($_POST['user_name']);                                    }                                ?>                            "/>
Nach dem Login kopieren
改为
                            <input name="user_name" type="text" value="<?php                                     if(isset($_POST['user_name']))                                    {                                        print htmlspecialchars($_POST['user_name']);                                    }                                ?>"/>
Nach dem Login kopieren
即可
是 value 中的空格和回车换行符在作怪

PHP code?12345678                             谢谢版主大神。小弟刚刚学习php和网页制作,大神是否能解释一下,空格和回车符作怪的原因吗?

input type=text 是单行文本编辑器
如果你给他的是多行的文本,那么只有第一行可以被编辑。这就是你遇到的问题的原因

怎么会有这种事???

=================================================

我是来学习的

可能是 你post 赋值时有问题,post 的值只会覆盖上一个,怎么会附加呢..

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage