2016-09-24 8 views
0

私は、データベースに格納されたデータでログイン資格情報をチェックするためのユーザログインページとPHPスクリプトを持っています。すべてうまくいきました。私はちょうど、ログインの詳細がデータベースのデータと一致せず、自動的にログインページに戻るなら、 "間違ったメール"のテキストを含むCSSスタイルのmsgボックスを追加しようとしました。PHPは間違ったログインの詳細を返す(div)

残念ながら、MSGはエコーされていない、ログインページに戻ってます。..

私のPHPコードはこのように書きます。..

<style> 
.alert { 
    padding: 20px; 
    background-color: #f44336; 
    color: white; 
} 

.closebtn { 
    margin-left: 15px; 
    color: white; 
    font-weight: bold; 
    float: right; 
    font-size: 22px; 
    line-height: 20px; 
    cursor: pointer; 
    transition: 0.3s; 
} 

.closebtn:hover { 
    color: black; 
} 
</style 

<?php 
    //15 2 2015 
    session_start(); 
    $Cser = mysqli_connect("localhost","root","*****","database") or die("Server connection failed : ".mysqli_error($Cser)); 
    $email = $_REQUEST["email"]; 
    $password = $_REQUEST["password"]; 


    $s = "select * from fuser where email='".$email."' and password = '".$password."'"; 

    $result = mysqli_query($Cser,$s); 

    $count = mysqli_num_rows($result); 

    if($count>0) 
    { 
     $_SESSION["username"] = $username; 
     $_SESSION["login"]="1"; 
     header("location:../home.php"); 
    } 
    else 
    { 
     echo '<div class="alert">'; 
     echo '<span class="closebtn" onclick="this.parentElement.style.display="none";">&times;</span>'; 
     echo '<strong>Danger!</strong> wrong email id'; 
     echo '</div>'; 
     header("location:sign.php"); 
    } 
?> 

マイsign.phpコード次のように::

任意の助けを大幅に高く評価され
<!DOCTYPE html> 
<html > 

<?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "*******"; 
    $dbname = "database"; 
    $conn = new mysqli($servername, $username, $password, $dbname); 


?> 

    <head> 
    <meta charset="UTF-8"> 
    <title>title</title> 
    <script src="http://s.codepen.io/assets/libs/modernizr.js" type="text/javascript"></script> 

<link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700' rel='stylesheet' type='text/css'> 
<link rel="stylesheet" href="https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/reset.css"> 

    <link rel="stylesheet" href="css/reset.css"> 
    <link rel="stylesheet" href="css/style.css"> 
    </head> 
    <body> 
    <header role="banner"> 

     <nav class="main-nav"> 
      <ul> 
       <!-- inser more links here --> 

       <li><a class="cd-signin" href="#0">Sign In</a></li> 
       <li><a class="cd-signup" href="#0">Sign Up</a></li> 
      </ul> 
     </nav> 
    </header> 
    <label class="thought"> 
     <p> find your passion, <br><br> make it as your profession </p> 
    </label> 
    <div class="cd-user-modal"> <!-- this is the entire modal form, including the background --> 
     <div class="cd-user-modal-container"> <!-- this is the container wrapper --> 
      <ul class="cd-switcher"> 
       <li><a href="#0">Sign In</a></li> 
       <li><a href="#0">Sign Up</a></li> 
      </ul> 

      <div id="cd-login"> <!-- log in form --> 
       <form class="cd-form" action="logincheck.php" method="post"> 
        <p class="fieldset"> 
         <label class="image-replace cd-email" for="signin-email">E-mail</label> 
         <input class="full-width has-padding has-border" name="email" id="signin-email" type="text" placeholder="E-mail" required autocomplete="off"> 
         <span class="cd-error-message">Error message here!</span> 
        </p> 

        <p class="fieldset"> 
         <label class="image-replace cd-password" for="signin-password">Password</label> 
         <input class="full-width has-padding has-border" name="password" id="signin-password" type="text" placeholder="Password" required autocomplete="off"> 
         <a href="#0" class="hide-password">Hide</a> 
         <span class="cd-error-message">Error message here!</span> 
        </p> 

        <p class="fieldset"> 
         <input type="checkbox" id="remember-me"> 
         <label for="remember-me">Remember me</label> 
        </p> 

        <button class="button button-block" type="submit" > Sign In </button> 
       </form> 

       <p class="cd-form-bottom-message"><a href="#0">Forgot your password?</a></p> 
       <!-- <a href="#0" class="cd-close-form">Close</a> --> 
      </div> <!-- cd-login --> 

      <div id="cd-signup"> <!-- sign up form --> 
       <form class="cd-form" action="register.php" method="post" > 
        <p class="fieldset"> 
         <label class="image-replace cd-username" for="signup-username">Profile Name</label> 
         <input class="full-width has-padding has-border" name="name" id="signup-username" type="text" placeholder="Type your Name" required autocomplete="off"> 
         <span class="cd-error-message">Error message here!</span> 
        </p> 

        <p class="fieldset"> 
         <label class="image-replace cd-email" for="signup-email">E-mail</label> 
         <input class="full-width has-padding has-border" name="email" id="email" type="text" placeholder="[email protected]"required autocomplete="off" onkeyup="checkemail();"> 
         <span class="cd-error-message" id="result"></span> 
        </p> 
        <label id="title" class="dropdown"><font face="verdana">&nbsp;&nbsp;Select any three streams that your skills suits the best: </font><br><br> 
         <select id="job" name="category1" required> 
          <option value="Engineering"><font face="verdana">Engineering</font></option> 
          <option value="Medical"><font face="verdana">Medical</font></option> 
          <option value="Programming"><font face="verdana">Programming</font></option> 
          <option value="Business"><font face="verdana">Business</font></option> 
          <option value="Admin"><font face="verdana">Admin</font></option> 
          <option value="Other"><font face="verdana">Other</font></option> 
         </select> 
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
         <select id="job" name="category2" required> 
          <option value="Engineering"><font face="verdana">Engineering</font></option> 
          <option value="Medical"><font face="verdana">Medical</font></option> 
          <option value="Programming"><font face="verdana">Programming</font></option> 
          <option value="Business"><font face="verdana">Business</font></option> 
          <option value="Admin"><font face="verdana">Admin</font></option> 
          <option value="Other"><font face="verdana">Other</font></option> 
         </select> 
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
         <select id="job" name="category3" required> 
          <option value="Engineering"><font face="verdana">Engineering</font></option> 
          <option value="Medical"><font face="verdana">Medical</font></option> 
          <option value="Programming"><font face="verdana">Programming</font></option> 
          <option value="Business"><font face="verdana">Business</font></option> 
          <option value="Admin"><font face="verdana">Admin</font></option> 
          <option value="Other"><font face="verdana">Other</font></option> 
         </select> 
        </label> 
        <p class="fieldset"> 
         <label class="image-replace cd-password" for="signup-password">Password</label> 
         <input class="full-width has-padding has-border" name="password" id="signup-password" type="text" placeholder="Password" required autocomplete="off"> 
         <a href="#0" class="hide-password">Hide</a> 
         <span class="cd-error-message">Error message here!</span> 
        </p> 

        <p class="fieldset"> 
         <input type="checkbox" id="accept-terms" required> 
         <label for="accept-terms">I agree to the <a href="#">Terms</a></label> 
        </p> 


         <button class="button button-block" type="submit" > Create an Account </button> 

       </form> 

       <!-- <a href="#0" class="cd-close-form">Close</a> --> 
      </div> <!-- cd-signup --> 

      <div id="cd-reset-password"> <!-- reset password form --> 
       <p class="cd-form-message">Lost your password? Please enter your email address. You will receive a link to create a new password.</p> 

       <form class="cd-form"> 
        <p class="fieldset"> 
         <label class="image-replace cd-email" for="reset-email">E-mail</label> 
         <input class="full-width has-padding has-border" id="reset-email" type="email" placeholder="E-mail" autocomplete="off" required> 
         <span class="cd-error-message">Error message here!</span> 
        </p> 

        <p class="fieldset"> 
         <input class="full-width has-padding" type="submit" value="Reset password"> 
        </p> 
       </form> 

       <p class="cd-form-bottom-message"><a href="#">Back to log-in</a></p> 
      </div> <!-- cd-reset-password --> 
      <a href="#" class="cd-close-form">Close</a> 
     </div> <!-- cd-user-modal-container --> 
    </div> <!-- cd-user-modal --> 

    <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> 

     <script src="js/index.js"></script> 
    </body> 
</html> 

..

+1

にプレーンテキストでパスワードを保存しないでくださいを。 [それらをハッシュ](http://php.net/password_hash)。 – Mike

+0

.......... – harishk

+1

正確な重複はありませんが、http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php/ 8028979#8028979 – Mike

答えて

0

トンからリダイレクトコードを削除彼else条件、PHPは画面上に何も表示/表示せずにリダイレクトします。

+1

いいえ、それはサインインページに戻りませんでした。アドレスがlogincheck.phpと書かれている空白のページにエラーページが表示されました – harishk

+0

@harishkリダイレクト機能は他の場所にありますか? – GeekBot

+0

いいえ...私は何も持っていません – harishk

0

ヘッダー()リダイレクトを削除し、エラーメッセージの下部にリンクを挿入するか、リダイレクトにMETAタグを使用する必要があります。

以下のコードは、10秒後にリダイレクトされますので、ユーザは自分のエラーメッセージを読むことができます:

... else 
{ 
    echo '<div class="alert">'; 
    echo '<span class="closebtn" onclick="this.parentElement.style.display="none";">&times;</span>'; 
    echo '<strong>Danger!</strong> wrong email id'; 
    echo '</div>'; 
    echo '<meta http-equiv="refresh" content="10;url=sign.php">'; 
} 

または、リンク

... else 
{ 
    echo '<div class="alert">'; 
    echo '<span class="closebtn" onclick="this.parentElement.style.display="none";">&times;</span>'; 
    echo '<strong>Danger!</strong> wrong email id'; 
    echo '</div>'; 
    echo '<a href="sign.php">go back to login page</a>'; 
} 
+0

私たちはそのエラーメッセージを同じサインインページに表示させることができます..間違ったdetialsでユーザーがログインすると、エラーメッセージが表示されるページにサインインするようにリダイレクトされます。トップに... @moni_dragu – harishk

+0

@harishkあなたは、ログインページにエラーメッセージを表示するように人々に依頼するのをやめるべきです。答えで説明するだけです。ログインページは、あなたが望むものを達成するために、ログインチェックコードでログインする必要があります。または、エラーメッセージを何らかの形でログインページに送り返す必要があります。それは何か言葉であなたに説明したり説明することができません。これは単にコードの半分を書き直さなければならないことを意味します。 – icecub

+0

@harishkここでは:http://pastebin.com/zDZz0zVGそれはあなたがそれを行う方法の例です。そのコードを 'test.php'ファイルに保存して試してみてください。その後、同じことをするコードを書き直す幸運。 – icecub

関連する問題