0

私は mySQL を使用して Jelastic にデータベースを作成しましたが、Jelastic はそこで php ページをホストすることを許可していないため、役立つ Web サービスを作成しました。現在、login.php をローカルでホストしています。Web サービスには getCustomQuery という関数がありますが、Web サービスの使用を回避するために、現在別のアプローチを試みています。

これが私の index.html ページです

<!DOCTYPE html>
<html>
    <head>
    <title>Submit a form via AJAX</title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css" />
    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js">     <script>
</head>
<body>
    <script>
       function onSuccess(data, status)
       {
           data = $.trim(data);
           $("#notification").text(data + " Success");
       }

       function onError(data, status)
       {
           $("#notification").text(data+ " " + status);
       }        

       $(document).ready(function() {
           $("#submit").click(function(){

               var formData = $("#callAjaxForm").serialize();

               $.ajax({
                   type: "POST",
                   url: "login.php",
                   cache: false,
                   dataType: "text",
                   data: formData,
                   success: onSuccess,
                   error: onError
               });

               return false;
           });
       });
   </script>

   <!-- call ajax page -->
   <div data-role="page" id="callAjaxPage">
       <div data-role="header">
           <h1>Call Ajax</h1>
       </div>

       <div data-role="content">
           <form id="callAjaxForm">
               <div data-role="fieldcontain">
                   <label for="userName">Username</label>
                   <input type="text" name="userName" id="userName" value=""  />

                   <label for="passWord">Password</label>
                   <input type="text" name="passWord" id="passWord" value=""  />
                   <h3 id="notification"> Something here</h3>
                   <button data-theme="b" id="submit" type="submit">Submit</button>
               </div>
           </form>
       </div>


   </div>
</body>
</html>

これで、インデックス ページはユーザー名とパスワードを取得し、jquery と ajax を使用してログイン ページに投稿します。

<?php

$userName = $_POST[userName];
$passWord = $_POST[passWord];

echo("LastName: " . $userName . " Password: " . $passWord);

$con = mysql_connect("url", "username", "password"); 
if (!$con) {
    die('Could not connect: ' . mysql_error());
}
$passWordMD5 = md5($passWord , false);
mysql_select_db("club_in", $con);

$result = mysql_query("SELECT * FROM user WHERE user_username='+ $userName+' AND user_password='+$passWordMD5+'");

while ($row = mysql_fetch_array($result)) {
    echo $row['user_username'] . " " . $row['user_password'];
    echo "<br />";
}


mysql_close($con);
?>

login.php ページは、index.html ページから渡された 2 つの変数を取得します。login.php md5 はパスワードをハッシュします。これは、データベースがハッキングされた場合にセキュリティを少し助けるために、すべてのパスワードが md5 ハッシュとして保存されるためです。SQL クエリを試してみたところ、mySQL で動作し、index.html ページに戻ると成功しましたが、返されたのはPHPページの全文。login.php ページがデータベースから取得するはずだった情報だけが必要です。助けてくださいませんか?有用な提案をいただければ幸いです。

4

1 に答える 1

0

解析結果の代わりにphpコードを取得した場合:

  • Webサーバーはphpを認識していません。PHPパーサーがインストールされていますか?
  • Webサーバーはスクリプトを実行できません。ファイルの許可とは何ですか?(Linux)
于 2012-08-10T14:08:02.720 に答える