php – isset()在表单上无法正常工作
发布时间:2020-12-13 22:10:05 所属栏目:PHP教程 来源:网络整理
导读:我有一个用户提交的注册表单,使用isset($_ POST)发送数据,以查看是否有任何内容放入表单输入框.如果没有,则将其发送给else,然后将其发送到函数,该函数将用户返回到注册表单以完成一些丢失的表单.由于某种原因,它无法正常工作. 这是我的检查代码——- functio
我有一个用户提交的注册表单,使用isset($_ POST)发送数据,以查看是否有任何内容放入表单输入框.如果没有,则将其发送给else,然后将其发送到函数,该函数将用户返回到注册表单以完成一些丢失的表单.由于某种原因,它无法正常工作.
这是我的检查代码——- function returnBack(){ header("Location:register.php"); exit; } if(isset($_POST['myusername'])) { $myusername = $_POST['myusername']; } else { returnBack(); } if(isset($_POST['mypassword'])) { $mypassword=$_POST['mypassword']; } else{ returnBack(); } if(isset($_POST['myemail'])) { $myemail=$_POST['myemail']; } else{ returnBack(); } if(isset($_POST['myname'])) { $myname=$_POST['myname']; } else{ returnBack(); } if(isset($_POST['mylastname'])){ $mylastname=$_POST['mylastname']; } else{ returnBack(); } /////////////////////////////////////////////////////////////*******CONNECT TO SERVER ******************************************************************/ try { # MySQL with PDO_MYSQL $DBH = new PDO("mysql:host=$hostname;dbname=$database",$username,$password); $DBH->setAttribute( PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION ); } catch(PDOException $e) { echo "I'm sorry,I'm afraid I can't do that."; file_put_contents('PDOErrors.txt',$e->getMessage(),FILE_APPEND); } ////////////////////////////////////////////////////////////***********INSERT REGISTER DATA INTO DB ***************************************************************/ //$encrypt_password = md5($mypassword); $insertdata = $DBH->prepare("INSERT INTO members (username,password,email,firstname,lastname ) VALUES ('$myusername','$mypassword','$myemail','$myname','$mylastname')"); $insertdata->execute(); echo "success"; $DBH = null; 这是表格部分—————————— <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <form name="register" method="post" action="insertnewmem.php"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td colspan="3"><strong>Registration Form </strong></td> </tr> <tr> <td width="78">Username</td> <td width="6">:</td> <td width="294"><input name="myusername" type="text" id="myusername" ></td> </tr> <tr> <td>Password</td> <td>:</td> <td><input name="mypassword" type="text" id="mypassword"></td> </tr> <tr> <td>Email</td> <td>:</td> <td><input name="myemail" type="text" id="myemail"></td> </tr> <tr> <td>First Name</td> <td>:</td> <td><input name="myname" type="text" id="myname"></td> </tr> <tr> <td>Last Name</td> <td>:</td> <td><input name="mylastname" type="text" id="mylastname"></td> </tr> <tr> <td> </td> <td> </td> <td><input type="submit" name="Submit" value="Register"></td> </tr> </table> </td> </form> </tr> </table> 更新 – – – – – – – – – – – – – – – – – – – – – – – 抱歉,它跳过函数returnBack()并将其插入到db中,即使表单未正确填充. 解决方法
试试!empty()而不是isset().仅当存在除null,false,0或空字符串”之外的其他内容时,才会将其评估为true.您可能提交了空字符串.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |