该如何清空$_POST里的数据?
试写了一个登陆界面,还没有完成,测试的时候发现问题。$_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 src="/static/imghw/default1.png" data-src="logo.jpg" class="lazy" style="max-width:90%" 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>
请高手帮忙解决一下,感激不尽
回复讨论(解决方案)
<input name="user_name" type="text" value=" <?php if(isset($_POST['user_name'])) { print htmlspecialchars($_POST['user_name']); } ?> "/>
<input name="user_name" type="text" value="<?php if(isset($_POST['user_name'])) { print htmlspecialchars($_POST['user_name']); } ?>"/>
是 value 中的空格和回车换行符在作怪
PHP code?12345678 谢谢版主大神。小弟刚刚学习php和网页制作,大神是否能解释一下,空格和回车符作怪的原因吗?
input type=text 是单行文本编辑器
如果你给他的是多行的文本,那么只有第一行可以被编辑。这就是你遇到的问题的原因
怎么会有这种事???
=================================================
我是来学习的
可能是 你post 赋值时有问题,post 的值只会覆盖上一个,怎么会附加呢..

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

在PHPStorm中如何进行CLI模式的调试?在使用PHPStorm进行开发时,有时我们需要在命令行界面(CLI)模式下调试PHP�...

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。
