Javascript 如何将表单值传递给ChangePassword.php?
在使用javascript函数检查数据的有效性之后,我想将oldPassword、newPassword、newPassword值再次传递给ChangePassword.php。以下是表单和javascript:Javascript 如何将表单值传递给ChangePassword.php?,javascript,php,html,apache,post,Javascript,Php,Html,Apache,Post,在使用javascript函数检查数据的有效性之后,我想将oldPassword、newPassword、newPassword值再次传递给ChangePassword.php。以下是表单和javascript: <?php session_start(); ?> <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="..
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../style/style.css">
</head>
<body>
<div class="navbar">
<ul>
<li><a href="../Pages/Main.php">Home</a></li>
<li><a href="../Pages/Rules.php">Rules</a></li>
<li><a href="../Pages/Builds.php">Builds</a></li>
<li><a href="../Pages/Events.php">Events</a></li>
<li><a href="../Pages/Calendar.php">Calendar</a></li>
<li style="float:right"><a class="active" href="../Pages/UserSettings.php"><?php echo $_SESSION["username"]; ?></a></li>
</ul>
</div>
<div class="changepasswd_bg">
<div class="absolute">
<form name="changePasswordForm" method=POST action="../Pages/ChangePassword.php" onsubmit="return validateForm()">
<input type="password" name="oldPassword" placeholder="Old password" size="100"><br>
<input type="password" name="newPassword" placeholder="New password" size="100"><br>
<input type="password" name="newPasswordAgain" placeholder="New password again" size="100"><br>
<input type="submit" value="Change" size="70">
</form>
<h2 id="output"></h2><br>
<h2 id="debug"></h2>
</div>
</div>
<script>
function validateForm() {
var oldX = document.forms["changePasswordForm"]["oldPassword"].value;
var newX = document.forms["changePasswordForm"]["newPassword"].value;
var newXAgain = document.forms["changePasswordForm"]["newPasswordAgain"].value;
//ki kell tölteni a mezőket
if (oldX === null || oldX === "" || newX === null || newX === "" || newXAgain === null || newXAgain === "") {
document.getElementById("output").innerHTML = "All field need to fill";
document.getElementById("debug").innerHTML = masterPass;
return false;
} // a régi passwordnek a megadottal egyezni kell
else if ('<?php echo $_SESSION["password"] ?>'.toString() !== oldX.toString()) {
document.getElementById("output").innerHTML = "The original passwords are not matches";
return false;
} else if (newX !== newXAgain) {
document.getElementById("output").innerHTML = "The new passwords are not matches";
return false;
} else {
document.getElementById("output").innerHTML = "OK";
return true;
}
}
</script>
</body>
</html>
函数validateForm(){
var oldX=document.forms[“changePasswordForm”][“oldPassword”]。值;
var newX=document.forms[“changePasswordForm”][“newPassword”].value;
var newXAgain=document.forms[“changePasswordForm”][“NewPasswordReach”].value;
//基克尔·特尔特尼是一个梅斯基特人
如果(oldX==null | | oldX===“”| | newX===null | | newX==“”| | newXAgain===null | | newXAgain==“”){
document.getElementById(“输出”).innerHTML=“所有字段都需要填写”;
document.getElementById(“调试”).innerHTML=masterPass;
返回false;
}//一个régi密码,一个megadottal egyezni kell
else如果(“”.toString()!==oldX.toString()){
document.getElementById(“输出”).innerHTML=“原始密码不匹配”;
返回false;
}else if(newX!==newXAgain){
document.getElementById(“输出”).innerHTML=“新密码不匹配”;
返回false;
}否则{
document.getElementById(“输出”).innerHTML=“确定”;
返回true;
}
}
下面是ChangePassword.php:
<?php
session_start();
?>
<!DOCTYPE html>
<?php
include '../Database/Connect.php';
$oldPassword = $_GET["oldPassword"];
$newPassword = $_GET["newPassword"];
$newPasswordAgain = $_GET["newPasswordAgain"];
if (strlen($oldPassword) == 0 || strlen($newPassword) == 0 || strlen($newPasswordAgain) == 0) {
echo "valamelyik 0 hosszu";
echo $_SESSION["password"] . " " . $oldPassword . " " . $newPassword . " " . $newPasswordAgain;
//header("Location: ../Pages/SomethingWrong.php");
} else if ($_SESSION["password"] !== $oldPassword) {
echo "a session és az ild password nem egyezik";
echo $_SESSION["password"] . " " . $oldPassword . " " . $newPassword . " " . $newPasswordAgain;
// header("Location: ../Pages/SomethingWrong.php");
} else if ($newPassword !== $newPasswordAgain) {
echo "a két password nem egyezik";
echo $_SESSION["password"] . " " . $oldPassword . " " . $newPassword . " " . $newPasswordAgain;
// header("Location: ../Pages/SomethingWrong.php");
} else {
echo "minden ok " . $_SESSION["password"] . " " . $oldPassword . " " . $newPassword . " " . $newPasswordAgain;
}
?>
结果是这些错误:(我也看不到标题上的变量值。比如:…等等)
注意:中未定义的索引:oldPassword
第10行的D:\apache\htdocs\Pages\ChangePassword.php
注意:未定义索引:中的newPassword
第11行的D:\apache\htdocs\Pages\ChangePassword.php
注意:未定义索引:newpassword在
第12行的D:\apache\htdocs\Pages\ChangePassword.php
valamelyik 0 hosszuEzredes123您使用$\u GET,但您的方法是post。因此,使用$\u GET将其更改为$\u POST,但您的方法是POST。因此,将其更改为$\u POST您需要为您的场景使用
$\u POST
$oldPassword = $_POST["oldPassword"];
$newPassword = $_POST["newPassword"];
$newPasswordAgain = $_POST["newPasswordAgain"];
传递敏感信息: 通过Internet传递敏感信息时,使用SSL套接字更安全 有关这方面的更多信息,请参阅堆栈上的以下内容:
$\u POST
$oldPassword = $_POST["oldPassword"];
$newPassword = $_POST["newPassword"];
$newPasswordAgain = $_POST["newPasswordAgain"];
传递敏感信息: 通过Internet传递敏感信息时,使用SSL套接字更安全 有关这方面的更多信息,请参阅堆栈上的以下内容: