私はユーザーがユーザー名とパスワードを入力し、送信ボタンをクリックすると、次のHTMLファイルを持っています。ログインするにはフォームへの投稿を
PHPファイルはデータベースに接続し、入力されたユーザーの詳細がcorrentであるかどうかを確認する必要があります。以前にこれをテストしたので、データベース接続があります。ユーザーが送信ボタンをクリックすると、このエラーが表示されます。Cannot POST /http-services/emulator-webserver/ripple/userapp/x/C/xampp/htdocs/xampp/glove_project_php/www/userlogin.php
<?php
if(isset($_POST["submit"])){
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
//Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$newUsername = mysqli_real_escape_string($conn, $_POST['pat_username']);
$newPassword = mysqli_real_escape_string($conn, $_POST['pat_password']);
$result = $conn->query("SELECT * FROM tablename WHERE patient_username ='$newUsername' AND patient_password='$newPassword'");
if (mysqli_num_rows($result)) {
header("Location: mainmenu.html");
}
else
{
header("Location: index.html");
}
$conn->close();
}
?>
は、エミュレータ上で動作するように、このPHPファイルを呼び出すの異なる方法はありますか?このコードはlocalhostで完全に動作します。
しかしそのわずか例本などのクエリの使用はsprintfのために[あなたのスクリプトは、SQLインジェクション攻撃のリスクがあります。](http://stackoverflow.com/questions/60174/how-can- i-prevent-sql-injection-in-php)[MySQLi](http://php.net/manual/ja/)の[prepared](http://en.wikipedia.org/wiki/Prepared_statement)のステートメントを学んでください。 mysqli.quickstart.prepared-statements.php)。 –
パスワードのセキュリティを処理するには、PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)を使用してください。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。 –