0

Web サイトのユーザーが登録後にパスワードを変更できるようにする PHP スクリプトを作成しましたが、サイトでそれを開こうとするとエラーが発生します。私の側の構文エラーが原因だと思いますが、それを見つけることができないようです。誰かが見て、あなたが見つけることができるものを見ることができますか? スクリプトは次のとおりです。

<?php

session_start();

$user = $_SESSION['username'];

if ($user)
{
//user is logged in

if ($_POST['submit'])
{
//start changing password
//check fields

$oldpassword = md5($_POST['oldpassword']);
$newpassword = md5($_POST['newpassword']);
$repeatnewpassword = md5($_POST['repeatnewpassword']);

//check password against db
include('connection.php');

$queryget = mysql_query("SELECT password FROM Users WHERE username='$user'") or die ("change password failed");
$row = mysql_fetch_assoc($queryget);
$oldpassworddb = $row['password'];

//check passwords
if ($oldpassword==$oldpassworddb)
{
//check two new passwords
if ($newpassword==$repeatnewpassword)
{
//successs
//change password in db

$querychange = mysql_query("UPDATE Users SET password='$newpassword' WHERE   username='$user'");
session_destroy();
die("Your password has been changed. <a href='homepage.php'> Return</a>");
}
else 
die("Old password doesn't match!");
}
else

echo"
<form action='changepassword.php' method='POST'>
Old Password: <input type='text' name='oldpassword'><p>
New Password: <input type='password' name='newpassword'><p>
Repeat New Password: <input type='password' name='repeatnewpassword'><p>
<input type='submit' name ='submit' value='submit'>
</form>
";
 }
 else 
die ("You must be logged in to change your password");
}
 ?>

私が得ているエラーは次のとおりです。

Notice: Undefined index: submit in /var/www/localhost/htdocs/changepassword.php の 11 行目 パスワードを変更するにはログインする必要があります。

よろしくお願いします。

4

2 に答える 2

0

入力 HTML フォームに余分なスペースがあります

<input type='submit' name ='submit' value='submit'>

に変更します

<input type='submit' name='submit' value='submit'>

また、確認する必要があります

   if (isset($_POST['submit']))
于 2013-05-11T14:02:39.690 に答える