操作文件PHP中出现错误
我有一个文件,该文件是管理员更改用户名和密码的表单。名为“change_password.php”的文件。代码如下:操作文件PHP中出现错误,php,Php,我有一个文件,该文件是管理员更改用户名和密码的表单。名为“change_password.php”的文件。代码如下: <?php session_start(); include_once('../config.php'); ?> <head> <meta charset="UTF-8" /> <!-- <meta http-equiv="X-UA-Compatible" content="IE=edge,
<?php
session_start();
include_once('../config.php');
?>
<head>
<meta charset="UTF-8" />
<!-- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> -->
<title>***********</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Login and Registration Form with HTML5 and CSS3" />
<meta name="keywords" content="html5, css3, form, switch, animation, :target, pseudo-class" />
<meta name="author" content="Codrops" />
<link rel="shortcut icon" href="../favicon.ico">
<link rel="stylesheet" type="text/css" href="../css/demo.css" />
<link rel="stylesheet" type="text/css" href="../css/style2.css" />
<link rel="stylesheet" type="text/css" href="../css/animate-custom.css" />
</head>
<body>
<div class="container">
<!-- Codrops top bar -->
<div class="codrops-top">
<div class="clr"></div>
</div><!--/ Codrops top bar -->
<header>
</header>
<section>
<div id="container_demo" >
<!-- hidden anchor to stop jump http://www.css3create.com/Astuce-Empecher-le-scroll-avec-l-utilisation-de-target#wrap4 -->
<a class="hiddenanchor" id="toregister"></a>
<a class="hiddenanchor" id="tologin"></a>
<div id="wrapper">
<div id="signup" class="animate form">
<form action="change.php" autocomplete="on" method="post" enctype="multipart/form-data">
<h1>Admin's Profile Account</h1>
<?php
$admin_id = $_GET['id_admin'];
$query = mysql_query("select * from administrator where ID_Admin='$admin_id'");
$data = mysql_fetch_array($query);?>
<p>
<label for="username">Username : </label>
<input id="username" name="username" class="wide" type="text" required="required" value="<?php echo $data['username']; ?>"/>
<input id="username2" name="username2" class="wide" type="hidden" required="required" value="<?php echo $data['username']; ?>"/>
</p>
<p>
<label for="password">New Password :</label><input id="password" name="password" class="wide" type="password" required="required" placeholder="Your password" />
</p>
<p>
<label for="confirm_password">Confirm Password : </label> <input id="confirm_password" name="confirm_password" class="wide" type="password" required="required" placeholder="Confirm your password" />
</p>
<p> </p>
<center><p class="signup button">
<input type="submit" value="Submit" />
</p></center>
</form>
<center><a href="panelAdmin.php">Panel Administrator</a></center>
</div>
</div>
</section>
</body>
</html>
***********
我有一个用于更改管理员用户名和密码的操作文件。名为“change.php”的文件。当我试图更改用户名和密码时,该文件仅为空白。它没有重定向到另一个页面。我的错在哪里?我试图改变if-else和other的部分,但结果仍然是一样的。这是我的密码:
<?php
session_start();
include_once('../config.php');
$ID_Admin = $_POST['admin_id'];
$username = $_POST['username'];
$password = $_POST['password'];
$encrypt = md5($password);
$confirm_pass = $_POST['confirm_password'];
if ($confirm_pass != $password) {
echo" <script language='JavaScript'> alert ('Password doesn't match');</script>";
echo '<script language="JavaScript"> window.location.href ="change_password.php" </script>';
} else {
if($_POST['username'] != $_POST['username2']){
$dup = mysql_query("SELECT username FROM administrator WHERE username='".$_POST['username']."'");
if(mysql_num_rows($dup) >0){
echo"<script language='JavaScript'> alert ('Username already use');</script>";
echo '<script language="JavaScript"> window.location.href ="change_password.php" </script>';
}
} else {
$query = mysql_query("update administrator set username='$username', password='$ecnrypt' where ID_Admin='$ID_Admin'") or die(mysql_error());
print '<script type="text/javascript">';
print 'alert("Profile has changed")';
print '</script>';
print '<script type="text/javascript">';
print "window.location.href='panelAdmin.php'";
print '</script>';}
}
?>
您需要转义单引号,以便:
echo" <script language='JavaScript'> alert ('Password doesn't match');</script>";
echo“警报('密码不匹配');”;
应该是这样的:
echo" <script language='JavaScript'> alert ('Password doesn\'t match');</script>";
echo“警报('密码不匹配');”;
我猜这就是它失败的原因,同时确保您的display_error()已启用,以确保您没有收到任何PHP错误。尝试在有重定向的地方使用它,只需窗口。location
将为您完成以下工作:
echo '<script language="JavaScript">window.location = "change_password.php"; </script>';
echo'window.location=“change_password.php”;
另外,请注意.php后面的分号“表单中没有名为admin\u id
的formelement
<input type="hidden" name="admin_id" value=5" />
由于PHP代码无法找到通过POST传递的值,因此需要在表单中包含一个名为admin\u id
的输入
例如:
<input type="hidden" name="admin_id" value="<?php echo $admin_id; ?>" />
1.停止使用mysql_*函数,因为它们已被弃用..使用PDO或MYSQLI_*代替2.SQL注入警报!3.打开错误报告?4.放置一些回音以查看代码执行的程度?空白页表示存在语法错误。您能输出您得到的错误吗?您可以查看php_error_log
@Naruto s在对另一个文件使用mysql,并且一切正常之前,我认为这不是主要问题:)@bcesars我没有使用localhost,我已经托管了它。@patrickstar19我没有说这是你的主要问题,我只是指出这是个问题;)通常,当javascript没有重定向时,你可以检查源代码,看看是否有任何脚本写入十、我一直在为文件“change\u password.php”添加源代码。该文件是管理员更改用户名和密码的表单。哦,好的,所以密码没有被更新,对吗?试试这个:在如果($confirm\u pass!=$password){
之前,插入这一行:var\u dump($\u POST)
我已经把它放好了,但仍然是空的,没有显示错误,但是文件没有重定向到另一个页面。你到底在哪一行包含这个input
标记?我在input
用户名之前包含了input标记,是真的吗?是真的。但是我认为还有另一个错误。尝试包含error\u reporting(E\u ALL);ini\u set()在表单页面中显示_errors”,1);
与您在change.php中所做的完全一致,这样我们就可以看到输出的错误。但是,没有显示任何错误,所以我该怎么办?