按下“输入”按钮时,按钮会执行错误代码
问题描述:
我正在编写用于登录用户的代码。按下“输入”按钮时,按钮会执行错误代码
登录名和搜索,但工作过,自从我两者相结合的登录表单没有实现它自己的代码,而是,它运行的搜索代码
编辑:我发现,之所以出现这种情况,这是因为我一直在按Enter键而不是选择登录。所以现在我想知道,我如何按Enter键并实现登录代码。
下面是一个包含搜索代码
<?php
//---------------------BEGIN SEARCH FROM THE SEARCH BAR IN PUBLIC HEADER----------------------------------
if(isset($_POST["search_button"]))
{
//PHP SEARCH CODE
}
//---------------------END SEARCH FROM THE SEARCH BAR IN PUBLIC HEADER----------------------------------
?>
<html>
<head>
<title>VCR Exchange</title>
</head>
<body>
<nav>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="about.php">About</a></li>
<!------------------------------------SEARCH BAR---------------------------------------------->
<li>
<form role="search" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST">
<div class="form-group">
<input type="search" name="search">
</div>
<button type="submit" value = "search" name="search_button">Search</button>
</li>
<!------------------------------------SEARCH BAR---------------------------------------------->
<li><a href="register.php">Register</a></li>
<li><a href="login.php">Log In</a></li>
</ul>
</nav>
的headerPublic.php这是login.php中。
<?php require('connect.php'); ?>
<?php require('headerPublic.php'); ?>
<?php require('session.php'); ?>
<form class="form" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<label for="inputEmail" >Email address</label>
<input type="email" name="email" placeholder="Email address">
<label for="inputPassword" >Password</label>
<input type="password" name="password" placeholder="Password">
<button name="login" type="submit">Login</button>
</form>
</body>
</html>
<?php
// IF LOGIN BUTTON IS CLICKED:
if (isset($_POST['login']))
{
//LOG IN CODE
}
?>
答
搜索表单是缺少一个右表单标签
<!------------------------------------SEARCH BAR---------------------------------------------->
<li>
<form role="search" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST">
<div class="form-group">
<input type="search" name="search">
</div>
<button type="submit" value = "search" name="search_button">Search</button>
</form>
</li>
<!------------------------------------SEARCH BAR---------------------------------------------->
我认为问题是,你永远关闭搜索形式在你的HTML。 – jh1711
您也容易受到SQL注入的攻击,并且会从单引号搜索中获取错误。 – jh1711
刚刚添加了关闭标签,它的工作原理 – patreilly