2017-02-06 11 views
0

ユーザー名とパスワードが間違っているとエラーが表示され、成功した場合はindex.phpが表示されます。成功したログインは正常に動作します。しかし、エラーがある場合のメッセージは表示されません。空白のページだけを表示します。ログインに失敗しました表示されません

P.S.どのように私はそれにアクセスする前にログインページを通過するページを強制するのだろうか?

マイconnectivity.phpコード:

<?php 
define('DB_HOST', 'localhost'); 
define('DB_NAME', 'list'); 
define('DB_USER','root'); 
define('DB_PASSWORD','****'); 

$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error()); 
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error()); 
/* 
$ID = $_POST['user']; 
$Password = $_POST['pass']; 
*/ 
function SignIn() 
{ 
    session_start(); 
    if(!empty($_POST['user'])) 
    { 
     $query = mysql_query("SELECT * FROM UserName where userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error()); 
     $row = mysql_fetch_array($query) or die(mysql_error()); 
     if(!empty($row['userName']) AND !empty($row['pass'])) 
     { 
      $_SESSION['userName'] = $row['pass']; 
      header("Location: index.php"); 

     } 

     else 
     { 
      echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY..."; 
     } 
    } 

} 
if(isset($_POST['submit'])) 

{ 
    SignIn(); 
} 
?> 
+2

準備文とともにmysqli_ *または 'PDO'に切り替えます。あなたは非常に古いものを使用しています(廃止され、削除された図書館) –

+0

@anant sir – RedZ

+0

準備が整いました。現在、String内の配列アクセスに問題があります。 PHPの場合、 '' string .. $ {array ['key']} more string' – ferdynator

答えて

0

私は問題を修正しました。行中:ユーザ名またはパスワードが間違っているとき、$行は、それが終了しに行く機会を得ることはありません表示さには何もしていますので、

$row = mysql_fetch_array($query) or die(mysql_error()); 

私は、コードの一部を「か死ぬか」削除しましたelseステートメント

コードは現在動作しています!みなさんありがとうございます

-1

これはコメントであることがsuppposedですが、私はここに低い評判を持っています。

質問に答える前に、サポートされなくなったmysql関数を使用しないでください。 MYSQLIまたはPDOへの切り替えを検討してください。また、ユーザー入力を信頼しないでください。意味は、attckerが面白いjavascriptsを追加するか悪化させることで容易に悪用できるように、フィールド値をフォームからデータベースに直接ポストすることはありません。

<?php 
    if (!empty($row['userName']) && ! empty($row['pass'])) { 
     $_SESSION['userName'] = $row['pass']; 
     header("Location: index.php"); 
    } else { 
     $error[] = "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY..."; 
    } 

その後FYIエラー

<?php 
    if (isset($error)) { 
     foreach ($error as $validationErrors) { 
      echo '<div class="alert alert-danger" align="center">' . $validationErrors . '</div>'; 
     } 
    } 
?> 

を表示するには、フォームに次のコードを追加します:あなたは、ページ上のエラーを表示するには、ブートストラップが必要になります。私はちょうどそれを追加として追加しました。

+0

なぜ単にエラーを出力するためにFronted-Library全体を追加するのですか?どのように動作するかは変わっていません。単に "AND"を '&&'に置き換えても、このコードは修正されません。 – ferdynator

関連する問題