私はファイルsidebar.phpを持っています。モジュール "login.php"がこのファイルに接続されています。モジュールを取り外して新しいモジュールを接続してください
<!-- Sidebar -->
<aside class="slide">
<?php
if(!isset($_POST['user'])) {
require 'login.php';
} else {
require 'authorized.php';
}
?>
</aside>
login.php
<div class="login">
<form method="post" action="../profile.php">
<p><input type="text" name="log" value="" placeholder="Login or Email"></p>
<p><input type="password" name="pass" value="" placeholder="Password"></p>
<p class="remember_me">
<label>
<input type="checkbox" name="remember_me" id="remember_me">
Remember me
</label>
</p>
<p class="submit"><input type="submit" name="sub" value="Login"></p>
</form>
</div>
私がフォームを送信すると、私はlogin.phpを削除したいし、代わりにこの追加authorized.phpの。
profile.php
<?php
include("db.php");
$log = $_POST['log'];
$pass = $_POST['pass'];
if(isset($_POST['sub'])) {
$q = mysql_query("SELECT * FROM user WHERE log='$log'");
$r = mysql_fetch_array($q);
if($pass == $r['pass']) {
header('location: /');
} else {
header('location: /');
}
}
?>
私はそれを行うことができますどのように?
条件式を 'require'の周りに置き、必要に応じてページを必要とします。 – chris85
あなたのコードは[** SQLインジェクション**](https://en.wikipedia.org/wiki/SQL_injection)攻撃に対して脆弱です。あなたは[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)または[** PDO **](https ://secure.php.net/manual/en/pdo.prepared-statements.php)ドライバ。 [**この記事**](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)には、いくつかの良い例があります。 –
mysql_ *関数を使用しないでください。それらはv5.5(2013年6月)から廃止され、v7.0(2015年12月)以降削除されました。代わりに[** mysqli _ ***](https://secure.php.net/manual/en/book.mysqli.php)または[** PDO **](https://secure.php.net/** ** prepared statements **](https://secure.php.net/manual/en/pdo.prepare.php)と[**バインドされたパラメータ** ](https://secure.php.net/manual/en/pdostatement.bindparam.php)。 –