为什么我的模态框无法通过 html 表单工作?
Why is that my Modal isn't working through html form?
为什么我的模态框不工作?使用 POST 方法是错误的吗?当我加载页面并单击 link 以忘记密码时,模式最终会显示,然后当我输入我的电子邮件时,什么也没有发生。有人可以帮助我吗?
这是我的 PHP 脚本。
<?php
require 'db.php';
$msg='';
if(isset($_POST['submit']))
{
$emailRet = mysqli_real_escape_string($connection, $_POST['emailRetrieve']);
$sql2 = mysqli_query($connection, "SELECT Email_Address, Password FROM pawnshop WHERE Email_Address='".$emailRet."'");
while ($row = mysqli_fetch_array($sql2, MYSQL_ASSOC)) {
$emailRetrieve = $row['Email_Address'];
$passwordRetrieve = $row['Password'];
}
$number = mysqli_num_rows($sql2);
echo $number;
if(mysqli_num_rows($sql2) < 1){
require 'smtp/Send_Mail.php';
$to = $emailRetrieve;
$subject = "PBMS Password Retrieval";
$body ='Hi, This is your account information<br><br> Username:'.$emailRetrieve.'<br> Password:'.$passwordRetrieve.'';
Send_Mail($to,$subject,$body);
$msg='Check your email to get your password';
echo 'send';
}
else
{
$msg='Check your email and try again';
}
}
?>
这是我的 html 模态
代码
<html>
<head>
<link type='text/css' href='css/modal.css' rel='stylesheet' media='screen' />
<script type='text/javascript' src='js/jqueryModal.js'></script>
<script type='text/javascript' src='js/jquery.simplemodal.js'></script>
<script type='text/javascript' src='js/modal.js'></script>
</head>
<body>
<form method="post">
<div id='basic-modal'>
<center>
<a href='#' class='basic custom-font-reg'>Forgot password?</a><br>
<a href='Registration.php' class='custom-font-reg'>Register for an account?</a>
</center>
</div>
<hr class="hr-custom2">
<div id="basic-modal-content">
<div class="getPasswordWrapper">
<hr class="PasswordHeaderColor"></hr>
<p class="enterEmailPasswordText">Enter your username to get your password</p>
<center>
<input type="text" name="emailRetrieve" class="getPassword" placeholder="Your Username\Email" required/>
<button type="submit" class="getPasswordButton">Send</button>
<span><?php echo $msg; ?></span>
</center>
</div>
</div>
</form>
</body>
</html>
您的表单必须具有 action
属性。它的值必须是处理表单的脚本文件的名称。
<form action="your/php/script.php" method="post">
或者,如果 php 脚本与表单在同一页面上,您可以这样写:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
首先,您没有带有 "submit" 名称属性的提交与 $_POST['submit']
一起使用,这就是它失败的原因,所以 if(isset($_POST['submit'])){...}
中的任何内容都不会得到已执行。
所以这样做:
<button type="submit" class="getPasswordButton" name="submit">Send</button>
或输入:
<input type="submit" class="getPasswordButton" name="submit" value="Send">
此外,MYSQL_ASSOC
需要 MYSQLI_ASSOC
。您不能混合使用 MySQL 个函数。
但是,查看 if(mysqli_num_rows($sql2) < 1){
可能需要使用 >
运算符进行更改。做 < 1
告诉 MySQL 如果它不存在; 洞察力[=30=]。
为什么我的模态框不工作?使用 POST 方法是错误的吗?当我加载页面并单击 link 以忘记密码时,模式最终会显示,然后当我输入我的电子邮件时,什么也没有发生。有人可以帮助我吗?
这是我的 PHP 脚本。
<?php
require 'db.php';
$msg='';
if(isset($_POST['submit']))
{
$emailRet = mysqli_real_escape_string($connection, $_POST['emailRetrieve']);
$sql2 = mysqli_query($connection, "SELECT Email_Address, Password FROM pawnshop WHERE Email_Address='".$emailRet."'");
while ($row = mysqli_fetch_array($sql2, MYSQL_ASSOC)) {
$emailRetrieve = $row['Email_Address'];
$passwordRetrieve = $row['Password'];
}
$number = mysqli_num_rows($sql2);
echo $number;
if(mysqli_num_rows($sql2) < 1){
require 'smtp/Send_Mail.php';
$to = $emailRetrieve;
$subject = "PBMS Password Retrieval";
$body ='Hi, This is your account information<br><br> Username:'.$emailRetrieve.'<br> Password:'.$passwordRetrieve.'';
Send_Mail($to,$subject,$body);
$msg='Check your email to get your password';
echo 'send';
}
else
{
$msg='Check your email and try again';
}
}
?>
这是我的 html 模态
代码 <html>
<head>
<link type='text/css' href='css/modal.css' rel='stylesheet' media='screen' />
<script type='text/javascript' src='js/jqueryModal.js'></script>
<script type='text/javascript' src='js/jquery.simplemodal.js'></script>
<script type='text/javascript' src='js/modal.js'></script>
</head>
<body>
<form method="post">
<div id='basic-modal'>
<center>
<a href='#' class='basic custom-font-reg'>Forgot password?</a><br>
<a href='Registration.php' class='custom-font-reg'>Register for an account?</a>
</center>
</div>
<hr class="hr-custom2">
<div id="basic-modal-content">
<div class="getPasswordWrapper">
<hr class="PasswordHeaderColor"></hr>
<p class="enterEmailPasswordText">Enter your username to get your password</p>
<center>
<input type="text" name="emailRetrieve" class="getPassword" placeholder="Your Username\Email" required/>
<button type="submit" class="getPasswordButton">Send</button>
<span><?php echo $msg; ?></span>
</center>
</div>
</div>
</form>
</body>
</html>
您的表单必须具有 action
属性。它的值必须是处理表单的脚本文件的名称。
<form action="your/php/script.php" method="post">
或者,如果 php 脚本与表单在同一页面上,您可以这样写:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
首先,您没有带有 "submit" 名称属性的提交与 $_POST['submit']
一起使用,这就是它失败的原因,所以 if(isset($_POST['submit'])){...}
中的任何内容都不会得到已执行。
所以这样做:
<button type="submit" class="getPasswordButton" name="submit">Send</button>
或输入:
<input type="submit" class="getPasswordButton" name="submit" value="Send">
此外,MYSQL_ASSOC
需要 MYSQLI_ASSOC
。您不能混合使用 MySQL 个函数。
但是,查看 if(mysqli_num_rows($sql2) < 1){
可能需要使用 >
运算符进行更改。做 < 1
告诉 MySQL 如果它不存在; 洞察力[=30=]。