我在表单中有一个按钮类型为button,带有方法post和submit按钮。我想在点击按钮(不提交)后将用户名输入值传递给php,但它不起作用。问题是什么?请帮助
注意:input username获取一个值按钮retrieveQ被单击并调用用head编写的post方法,然后在最后调用php中的getQuestion,用户的值通过数据库被回送到另一个文本框的innerhtml中
数据库和一切正常我只是想要$_POST['uname']让我输入用户名框
<?php
include ('comp424.php');
session_start();
if(isset($_SESSION['users'])!="")
{
header("Location: home.php");
}
include_once 'comp424.php';
if(isset($_POST['btn-retrieveP']))
{
//SQL INJECTION
$uname = mysqli_real_escape_string($connection,strip_tags($_POST['username']));
$upass = mysqli_real_escape_string($connection,strip_tags($_POST['pass']));
$salt = '';
$key="ab01$%";
$res= mysqli_query($connection,"SELECT * FROM users WHERE username='$uname'");
$row=mysqli_fetch_array($res);
$salt = $row['salt'];
$hashPass = hash ('sha512', $salt . $key . $upass);
$count = mysqli_num_rows($res);
// if uname/pass correct it returns must be 1 row
if($count == 1 && $hashPass == $row['password'] )
{
if(isset($_POST["captcha"])&&$_POST["captcha"]!=""&&$_SESSION["code"]==$_POST["captcha"])
{
//Captcha code entered correctly
$_SESSION['user'] = $row['userid'];
header("Location: home.php");
}
else
{
?>
<script>alert('You have entered wrong captcha');</script>
<?php
}
}
else
{
?>
<script>alert('You have entered wrong username or password!');</script>
<?php
}
}
//php function to retrieve Question for the username
function getQuestion()
{
include ('comp424.php');
$unamePR = mysqli_real_escape_string($connection,strip_tags($_POST['username']));
global $question;
$question='sss';
$unamePR = mysqli_real_escape_string($connection,strip_tags($user));
$resPR= mysqli_query($connection,"SELECT * FROM users WHERE username='$unamePR'");
$rowPR=mysqli_fetch_array($resPR);
$countPR = mysqli_num_rows($resPR);
if ($countPR ==1){
$question = mysqli_fetch_array(mysqli_query($connection,"SELECT securityQuestion FROM users WHERE username='$unamePR'"));
$question = $question['securityQuestion'];
}else{
$question='No question is associated with the given Username!';
}
echo $_POST['uname'];
}
?>
<!DOCTYPE html >
<html >
<head>
<meta content="text/html; charset=utf-8" />
<title>Comp424 Password Retrieval</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$("#btn-retrieveQ").click(function () {
alert("ssss");
var username = $('#uname').val();
$.post("passwordRetrieval.php", {uname: username}, function(data){
alert("data sent and received: "+data);
});
document.getElementById("question").innerHTML= "<?php getQuestion(); ?> ";
});
});
</script>
</head>
<body>
<center>
<div id="login-form">
<form method="post">
<table align="center" width="50%" border="0">
<tr>
<td>
<input type="text" id="uname" name="uname" placeholder="Your Username" required />
</td>
</tr>
<tr>
<td>
<button id="btn-retrieveQ" type="button">Retrieve Question</button>
</td>
</tr>
<tr>
<td>
<p id="question">Type Your Username to Retrive Your Question</p>
</td>
</tr>
<tr>
<td>
<input type="text" name="answer" placeholder="Your Answer" />
</td>
</tr>
<tr>
<td>
<input type="password" name="pass" id="password" placeholder="Your New Password" />
</td>
</tr>
<tr>
<td>
<input name="captcha" type="text" placeholder="Enter Captcha Below">
</td>
</tr>
<tr>
<td>
<img src="captcha.php" />
</td>
</tr>
<tr>
<td>
<button type="submit" name="btn-retrieveP">Retrieve Password</button>
</td>
</tr>
</table>
</form>
</div>
</center>
</body>
</html>
您试图在一个从未调用过的函数中回显变量。在主PHP代码中,您使用的是$\u POST['username']
,但您发布的是uname
。
更改POST变量的对象以使用实际发送的内容。
附言:你的代码很难阅读。
问题内容: 我有一个用JS计算的值,希望将其作为输入表单的一部分传递给PHP脚本。我如何将JS值的JS值作为POST参数获取? 基本上,在提交时,我需要将var通过post传递到下一个脚本。 想到的第一个想法是创建一个不可见的输入表单,该表单中包含值并与该表单一起输入,这可能吗? 问题答案: 是的,您可以在JavaScript代码中使用和设置该隐藏字段的值,以便将其与其他表单数据一起发布。
为什么第一个和第二个写工作,但不是最后一个?有没有办法我可以允许所有3个,并检测它是1,(int)1还是i传入?为什么只允许一个,而允许最后一个?第二个被允许,但不是最后一个,真的让我大吃一惊。 演示显示编译错误
问题内容: 如何在不刷新页面的情况下将变量从jQuery传递到PHP?当我单击一个复选框时,我想将一个变量从jQuery传递到PHP。我也在使用formdialog。 我的PHP代码 我的JavaScript代码 问题答案: Ajax可以做到这一点。谷歌它,并检查api.jquery.com并查看ajax函数,.ajax(),.post(),.get(),.load()等。 关于您的特定问题,这是
问题内容: 为什么此代码无法编译? 为什么我不能将类变量传递给? 问题答案: 该操作符对引用类型,像,而不是对象,如。您可能想要类似 旁注:如果编写,您的代码将更加简洁 但是,我不确定是否需要某种方法。
问题内容: 好的,希望你们也能帮助我。我对jQuery和AJAX并不了解,也许我错过了一些非常简单的东西。我不能传递多个变量。 jQuery 因此,基本上,如果我运行此程序,它将运行正常,并且我的PHP脚本将对其进行处理。请注意,当我启用警报并显示加载的数据时,它会显示正确的信息(来自的信息),并且能够更新数据库。但是,一旦我添加了另一个变量,它就不会显示在警报框中加载的数据(如果我尝试显示来自两
问题内容: 目前,我在隐藏的输入字段中回显某些变量,并在需要时使用Javascript读取它们。 我和一个同事现在正在考虑使用PHP生成一个额外的Javascript文件,该文件仅包含Javascript的所有变量。这样,变量已经存在,HTML中没有多余的代码。 有什么好的方法可以将变量从PHP传递到Javascript?我们的解决方案听起来如何? 问题答案: 通用数据传递 JavaScript常