şifre kod hatası değiştirmek

3 Cevap php

I've created a code to change a password. Now it seem contain an error.before i fill the form. the page display the error message:

Parse error: parse error, unexpected $end in C:\Program Files\xampp\htdocs\e-Complaint(FYP)\userChangePass.php on line 222

Bu kod:

<?php # userChangePass.php
//this page allows logged in user to change their password.

$page_title='Change Your Password';

//if no first_name variable exists, redirect the user
if(!isset($_SESSION['nameuser'])){

    header("Location: http://" .$_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF'])."/index.php");
    ob_end_clean();
    exit();

}else{

    if(isset($_POST['submit'])) {//handle form.
        require_once('connectioncomplaint.php'); //connec to the database

        //check for a new password and match againts the confirmed password.
        if(eregi ("^[[:alnum:]]{4,20}$", stripslashes(trim($_POST['password1'])))){
            if($_POST['password1'] == $_POST['password2']){
                $p =escape_data($_POST['password1']);
            }else{
                $p=FALSE;
                echo'<p><font color="red" size="+1"> Your password did not match the confirmed password!</font></p>';
            }
        }else{
            $p=FALSE;
            echo'<p><font color="red" size="+1"> Please Enter a valid password!</font></p>';
        }

        if($p){ //if everything OK.

            //make the query
            $query="UPDATE access SET password=PASSWORD('$p') WHERE userid={$_SESSION['userid']}";
            $result=@mysql_query($query);//run the query.
            if(mysql_affected_rows() == 1) {//if it run ok.

                //send an email,if desired.
                echo '<p><b>your password has been changed.</b></p>';
                //include('templates/footer.inc');//include the HTML footer.
                exit();

            }else{//if it did not run ok

            $message= '<p>Your password could not be change due to a system error.We apolpgize for any inconvenience.</p><p>' .mysql_error() .'</p>';

            }
            mysql_close();//close the database connection.

            }else{//failed the validation test.
                echo '<p><font color="red" size="+1"> Please try again.</font></p>';
            }
        }//end of the main Submit conditional.
    ?>

Ve form için kod:

<h1>Change Your Password</h1>
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <fieldset>
      <p><b>New Password:</b><input type="password" name="password1" size="20" maxlength="20" />
      <small>Use only letters and numbers.Must be between 4 and 20 characters long.</small></p>
      <p><b>Confirm New Password:</b><input type="password" name="password2" size="20" maxlength="20" /></p>
      </fieldset>
      <div align="center"> <input type="submit" name="submit" value="Change My Password" /></div>

</form><!--End Form-->

3 Cevap

Ben koşullardan birinde bir } eksik düşünüyorum hemen önce ?>.

Kodunuzu doğru girinti bu daha kolay nokta yapacaktır.

Edit:

Ben suspeced gibi, bu gibi, son satırına 2 üzerinde bir } ekleyin:

<?php # userChangePass.php
//this page allows logged in user to change their password.

$page_title='Change Your Password';

//if no first_name variable exists, redirect the user
if(!isset($_SESSION['nameuser'])){

    header("Location: http://" .$_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF'])."/index.php");
    ob_end_clean();
    exit();

}else{

    if(isset($_POST['submit'])) {//handle form.
        require_once('connectioncomplaint.php'); //connec to the database

        //check for a new password and match againts the confirmed password.
        if(eregi ("^[[:alnum:]]{4,20}$", stripslashes(trim($_POST['password1'])))){
            if($_POST['password1'] == $_POST['password2']){
                $p =escape_data($_POST['password1']);
            }else{
                $p=FALSE;
                echo'<p><font color="red" size="+1"> Your password did not match the confirmed password!</font></p>';
            }
        }else{
            $p=FALSE;
            echo'<p><font color="red" size="+1"> Please Enter a valid password!</font></p>';
        }

        if($p){ //if everything OK.

            //make the query
            $query="UPDATE access SET password=PASSWORD('$p') WHERE userid={$_SESSION['userid']}";
            $result=@mysql_query($query);//run the query.
            if(mysql_affected_rows() == 1) {//if it run ok.

                //send an email,if desired.
                echo '<p><b>your password has been changed.</b></p>';
                //include('templates/footer.inc');//include the HTML footer.
                exit();

            }else{//if it did not run ok

            $message= '<p>Your password could not be change due to a system error.We apolpgize for any inconvenience.</p><p>' .mysql_error() .'</p>';

            }
            mysql_close();//close the database connection.

            }else{//failed the validation test.
                echo '<p><font color="red" size="+1"> Please try again.</font></p>';
            }
        }//end of the main Submit conditional.
    }
    ?>

Size dosyanın sonunda bir kapanış } kaçırıyorsun. else, aşağıdaki deyim kapalı değil:

if(!isset($_SESSION['nameuser'])){

    header("Location: http://" .$_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF'])."/index.php");
    ob_end_clean();
    exit();

}else{

Sizin son kapanış bu hat üzerinde }//end of the main Submit conditional. if kapalı bir daha bırakır bu çizgiyi if(isset($_POST['submit'])) {//handle form. kapatıyor.

Bir} $ _SESSION ['nameuser'] için denetleniyor ilk if / else blok, kapatmak için eksik.

<?php # userChangePass.php
//this page allows logged in user to change their password.

$page_title='Change Your Password';

//if no first_name variable exists, redirect the user
if(!isset($_SESSION['nameuser'])){

    header("Location: http://" .$_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF'])."/index.php");
    ob_end_clean();
    exit();

}else{

    if(isset($_POST['submit'])) {//handle form.
        require_once('connectioncomplaint.php'); //connec to the database

        //check for a new password and match againts the confirmed password.
        if(eregi ("^[[:alnum:]]{4,20}$", stripslashes(trim($_POST['password1'])))){
            if($_POST['password1'] == $_POST['password2']){
                $p =escape_data($_POST['password1']);
            }else{
                $p=FALSE;
                echo'<p><font color="red" size="+1"> Your password did not match the confirmed password!</font></p>';
            }
        }else{
            $p=FALSE;
            echo'<p><font color="red" size="+1"> Please Enter a valid password!</font></p>';
        }

        if($p){ //if everything OK.

            //make the query
            $query="UPDATE access SET password=PASSWORD('$p') WHERE userid={$_SESSION['userid']}";
            $result=@mysql_query($query);//run the query.
            if(mysql_affected_rows() == 1) {//if it run ok.

                //send an email,if desired.
                echo '<p><b>your password has been changed.</b></p>';
                //include('templates/footer.inc');//include the HTML footer.
                exit();

            }else{//if it did not run ok

            $message= '<p>Your password could not be change due to a system error.We apolpgize for any inconvenience.</p><p>' .mysql_error() .'</p>';

            }
            mysql_close();//close the database connection.

            }else{//failed the validation test.
                echo '<p><font color="red" size="+1"> Please try again.</font></p>';
            }
        }//end of the main Submit conditional.
} // end session check
?>