Php 卸下模块并连接新模块
我有一个sidebar.php文件。一个模块“login.php”连接到此文件Php 卸下模块并连接新模块,php,html,mysql,Php,Html,Mysql,我有一个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="log
<!-- 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: /');
}
}
?>
如何操作?如果在登录中有一个名为
user
的输入,则需要在侧边栏文件中设置一个条件:
<!-- Sidebar -->
<aside class="slide">
<?php
if(!isset($_POST['user'])) {
require 'login.php';
} else {
require 'authorized.php';
}
?>
</aside>
当然,您还需要检查用户是否有有效值,并进行更多有效性检查,以验证所有必填字段是否存在且有效。在
require
周围添加一个条件,并根据需要请求页面。您的代码易受攻击。您应该通过或驱动程序将准备好的语句与绑定参数一起使用。有一些很好的例子。不要使用mysql.*
函数。自v5.5版(2013年6月)起,它们就被弃用,自v7.0版(2015年12月)起被删除。而是将or函数与and一起使用。错误:无法在写入时使用函数返回值context@Qwerty我错误地在文章中使用了错误类型的括号,我将其编辑为使用$\u POST['user']
,正如我在回答中所写,您需要有一个名为'user'的输入字段,我的示例才能工作,因此,或者更改name=“log”
更改为name=“user”
或将条件更改为如果(!isset($\u POST['log'])
是,我更改了它,但页面仍然加载login.php。可能是我的profile.php中的问题?请尝试调试。在用户post检查之前添加一个var\u dump
,查看哪里可能不太好,另外在概要文件的开头添加一个die(\uuuuuu FILE\uuuuuuu)
语句,查看您是否达到了目的