echo login error in different page, specific div

Delayed too long with this issue. I have a index.php including form and login.php handeling it.

How do I post the errors in a specific div in index.php? Here is the Index.php container, no php code in idnex.php yet.

    <div id="container">
    <section>
        <h1>ברוכים הבאים לאתר קופונים</h1>
        <h2>המקום בו תוכלו למצוא קופונים בסביבתכם</h2>
        <hr>
    </section>

    <section id="mainpage">
            <p class="welcome">
                אנא התחבר בכדי ליצור ולראות קופונים בקרבתך</br>
                <a href="php/register.php">הירשם לאתר</a> 
            </p>

            <form action="php/login.php" method="post" class="form">
                <p class="email">
                    <input type="text" name="email" /> :דואר אלקטרוני</br>
                </p>
                <p class="password">
                    <input type="password" name="password" /> :סיסמא</br>
                </p>
                <p class="submit">  
                    <input type="submit" value="היכנס" />  
                </p>  
            </form>
    </section>
</div>

and here is the login.php error reporting section

            //check matching input
        if($email == $dbemail && $password = $dbpassword){
            $_SESSION['email'] = $dbemail;
            include('../index.php');
            header('members.php');

        }
        else{
            include('../index.php');
            echo "Incorrect Password<style text-align:center;/>";
        }
    }

} else
    include('../index.php');
    die('<p class="error">User does not exist</p>');
} else
    include('../index.php');
    die('Please enter a Email and password');

tried this

include('../index.php');
    die('<p class="error">User does not exist</p>');

can't manage to specifically position it under the Submit button (using margin: 0 auto so left and right changes)

Thanks for any help given

Answers


change your login.php file:

} else {
   // error happened
   $error = '<p class="error">User does not exist</p>'
   include('../index.php');
   exit;
...

and your index.php file:

<form action="php/login.php" method="post" class="form">
<?php
if(isset($error)) echo $error;
?>
<p class="email">
   <input type="text" name="email" /> :דואר אלקטרוני</br>
...

The problem is, is that your login.php file directly echo's the error message out. A better method would be to save the message into a variable - even a session variable would suffice (as it looks like you're not using OOP, by the example code).

Try updating the error messages to not use echo, but instead maybe:

$_SESSION['error_message'] = "Incorrect Password<style text-align:center;/>";

And then, in index.php, exactly where you want it to be displayed add:

     <p class="submit">  
          <input type="submit" value="היכנס" />  
     </p>  
</form>
<?php
if (isset($_SESSION['error_message'])) {
    echo $_SESSION['error_message'];
    unset($_SESSION['error_message']); // clear the message to prevent duplicate displays
}
?>

As it looks like you want to include the index.php file when the actual error occurs, you can set a local variable right before the call to include('../index.php'); inside login.php, like this:

} else {
    $errMsg = "Incorrect Password<style text-align:center;/>";
    include('../index.php');
}

And like the above example modified index.php, you can do the same here like:

    </p>
</form>
<?php if ($errMsg) { echo $errMsg; } ?>

Need Your Help

How to locate jdk in visual studio for Xamarin?

android xamarin.android jdk1.6

I try to programing in visual studio for android.

element with tabindex 0 to next element with tabindex 1+ is not focused

html tabindex

I am having a HTML template with set of &lt;a&gt; tags. Added tabindex for the elements.