PHP関数からHTMLページに移動し、そうであれば、ユーザーをHTMLページにリダイレクトします。このページは、ユーザーがDBのユーザー名とパスワードを入力するためのフォームです。
ユーザーがフォームを送信した後、私が(ファンクション内で)出発点に戻りたいと思います。
この機能を呼び出す別のファイルで$_SESSION
が開始されていることも知っておくべきことです。
は、ここに私が試したものだ、まだそれはうまくいきませんでした:
connect.php:
私は思っていた私は最近、PHPを始め
<?php
function sqlConnect() {
$_SESSION['CurrentPage'] = "/php/sql/connect.php";
if(!array_key_exists('mysql_username', $_SESSION) && !array_key_exists('mysql_passwd', $_SESSION)) {
echo "<script>window.location='/forms/sql_login.php';</script>";
}
$servername = "localhost";
$username = $_SESSION['mysql_username'];
$passwd = $_SESSION['mysql_passwd'];
$db_name = "ToolDB";
// create connection
$sql_connection = new mysqli($servername, $username, $passwd, $db_name);
// check that it was established
if($sql_connection->connect_error) {
$msg = $sql_connection->connect_error;
echo "<script>alert('Impossible de se connecter à la base de données MySQL : $msg.');</script>";
return NULL;
}
else {
$_SESSION['mysql_username'] = $username;
$_SESSION['mysql_passwd'] = $passwd;
return $sql_connection;
}
}
?>
sql_connection.php:
<?php session_start(); $url = $_SESSION['CurrentPage']; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Sound Department - Program Making Tool (form)</title>
<link rel="stylesheet" type="text/css" href="/style/style.css" />
</head>
<body>
<header>
<nav>
<h2 style="margin-left: 10px; font-family: sans-serif;">Sound Department - Program Making Tool (MySQL Login Page)</h2>
</nav>
</header>
<div class="bodyElement">
<form action="<?php echo $url ?>" method="post">
<p>Nom d'utilisateur : <input type="text" name="mysql_username" /></p>
<p>Mot de passe : <input type="password" name="mysql_passwd"/></p>
<p><input type="submit" name="submit" value="Submit" /></p>
</form>
</div>
</body>
</html>
誰もがそれを達成する方法を知っていますか?
PS:私はプレーンテキストでパスワードを保存すべきではないことを知っていますが、現時点では私のローカルネットワーク上でサイトが実行されていて、後でもっと便利な方法でパスワードを保存するようにコードを修正しようと思っていました。
**プレーンテキストのパスワードを保存しないでください!**パスワードのセキュリティを処理するために***(http://jayblanchard.net/proper_password_hashing_with_PHP.html)*** PHPの[組み込み関数]を使用してください。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。 ***ハッシュする前に[パスワードをエスケープする](http://stackoverflow.com/q/36628418/1011527)***または他のクレンジングメカニズムを使用する必要はありません。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –