该如何清空$_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 的值只会覆盖上一个,怎么会附加呢..

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Alipay Php ...

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...
