2017-03-29 20 views
0

MySqlからSqlsrvに移動してPHPを更新していました。私はPHPに精通しておらず、確かにSqlsrvではなく、PHP:SQLSRV Manualを使っています。問題を引き起こしているコードがあるPHPコードをMySqlからSqlsrvに変換するときに問題が発生する

<?php 
include '../includes/dbconfig.php'; 
session_start(); 

if($_SERVER["REQUEST_METHOD"] == "POST") { 

// username and password sent from Form 
$myusername=$_POST['username']; 
$mypassword=$_POST['password']; 
//extract($_POST); 

$sql="SELECT username FROM dbname WHERE username='$myusername' and userpassword='$mypassword'"; 
$result=sqlsrv_query($conn,$sql) or die(print_r(sqlsrv_errors(),true)); 

if ($result) { 
    $rows = sqlsrv_has_rows($result); 
    if ($rows === true) 
     echo "There are rows. <br />"; 
    { 
     $_SESSION['login_user']=$myusername; 
     header("Location: orderform.php"); 
    } 
    else 
    { $error="Your Login Name or Password is invalid"; } 
} 
} 
?> 

:ここに は私のPHPコードで、私はこれらの行をコメントアウトした場合

{ 
$_SESSION['login_user']=$myusername; 
header("Location: orderform.php"); 
} 

、ログインフォームが立ち上がると、私は、正しいユーザー名を入れた場合と、パスワード、私は "行がある"コメントを取得します。そうでない場合は、「あなたのログイン名またはパスワードが無効です」と表示されます。これらの行を戻すと、ログイン画面が表示されなくなります。私は間違いや何かを得ることはありません。私は2日間この作業をしています...誰かが私を助けることができますか?

+0

いくつかの問題。行があり、大カッコ内にあるはずです。次に、ブラウザに「行があります」という出力を送信したため、場所のリダイレクトが失敗します。必須:これは多くのレベルでは安全ではありません。 – mkaatman

+0

このコードを保護する方法の詳細については、どこに行ってほしいですか? – DsiTx

+0

Jay Blanchardのコメントを参照してください:http://stackoverflow.com/questions/43101559/why-am-i-receiving-a-json-exception-trying-to-load-data-from-host-url#comment73284732_43101559 – mkaatman

答えて

0

私はあなたが間違ったブラケット構造を持っていると思う:

if ($rows === true) 
     echo "There are rows. <br />"; 
    { 
     $_SESSION['login_user']=$myusername; 
     header("Location: orderform.php"); 
    } 
    else 
    { $error="Your Login Name or Password is invalid"; } 

は次のようになります。ここ

if ($rows === true) 
    { 
     echo "There are rows. <br />"; 
     $_SESSION['login_user']=$myusername; 
     header("Location: orderform.php"); 
    } 
    else 
    { $error="Your Login Name or Password is invalid"; } 
+0

働いた。ご協力ありがとうございました。 @mkaatmanにもありがとう。エコーを削除しても、orderformページは表示されませんでしたが、おそらくそのコードには複数の問題があります。私は次にそれに取り組んでいきます。 – DsiTx

+0

このコードは、header()呼び出しの前にエコーするため、まだ動作しません。 – mkaatman

関連する問題