я продолжаю возвращаться на страницу входа в php - PullRequest
0 голосов
/ 25 сентября 2018

новичок здесь ... так что да, я уже пытался найти все эти страницы, связанные с моим вопросом, но я все еще застрял ... в любом случае, моя проблема в том, что я всегда продолжаю возвращаться к своей странице входа, которая является моейindex.php о, кстати, я все еще использую версию PHP 4.4.8, вот мой код для моей проблемной главной страницы, main.php

<?php
session_start();
include '../config.php';
if(!isset($_SESSION['admin'])){
	header("location:index.php");
}
?>
<!DOCTYPE HTML>
<html>
	<head>
		<title>KSP Setia Finance</title>
	</head>
	<body>
<h1>test page</h1>
	</body>
</html>

и вот мой код страницы входа в систему, index.php

<?php 
session_start();
include '../config.php'; ?>
<!DOCTYPE html>
<html >
<head>
  <title>Login Form</title>
</head>

<body>
  <div class="login">
	<h1>Login</h1>
    <form action="login_act.php" method="post">
    	<input type="text" name="username" placeholder="Username" required="required" />
        <input type="password" name="password" placeholder="Password" required="required" />
        <button type="submit" name="login" value="Login" class="btn btn-primary btn-block btn-large">Log In</button>
    </form>
</div>
  
    <script src="js/index.js"></script>

</body>
</html>

, поскольку все спрашивают, вот мой login_act.php, уже вставленный с session_start

<?php
session_start();
include('../config.php');
if(isset($_POST['login'])){
	$user = mysql_real_escape_string(htmlentities($_POST['username']));
	$pass = mysql_real_escape_string(htmlentities(md5($_POST['password'])));
 
	$sql = mysql_query("SELECT * FROM user WHERE username='$user' AND password='$pass'") or die(mysql_error());
	if(mysql_num_rows($sql) == 0){
		echo 'User not found';
	}else{
		$row = mysql_fetch_assoc($sql);
		if($row['level'] == 1){
			$_SESSION['admin']=$user;
			echo '<script language="javascript">alert("u are Login as Admin!"); document.location="index.php";</script>';
		}else
			echo 'sorry, u cant access this one';
	}
}
?>

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

поэтому я недавно спросил своих друзей, и вот результаты: все, что мне нужно, это просто поставить эти $ SESSION_START превыше всего или сделать еще один php и связать их всех.так вот мой последний результат, который работал: main.php

<?php
include 'access.php';
?>
<!DOCTYPE HTML>
<html>
	<head>
		<title>KSP Setia Finance</title>
	</head>
	<body>
<h1>test page</h1>
	</body>
</html>
access.php

<?php
session_start();
 
if(!isset($_SESSION['admin'])){
	echo '<script language="javascript">alert("you must Login!"); document.location="../index.php";</script>';
}
?>

и последний, config.php

<?php
session_start();

mysql_connect("localhost","root","");
mysql_select_db("koperasi");
?>

Я удалил этот сломанный login_act.php и сделал всю страницу, которую мне пришлось связать напрямую с access.php, что облегчает управление сеансом.спасибо всем, кто имеет отношение к моей проблеме php и глупости.надеюсь, что все это поможет тем, кто все еще бродит и задает тот же вопрос.

0 голосов
/ 25 сентября 2018

напечатайте значение $ _SESSION на main.php и проверьте, есть ли какой-нибудь ключ в качестве 'username', и проверьте login.php, какие значения вы храните в массиве $ _SESSION

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...