Når jeg kommer ind på log ind siden, og angiver mit password og brugernavn så bliver jeg smidt /wall/ side hvor man skal have adgang til siden. Hvis jeg går over til en anden side og der efter klik ctrl + f5 så bliver jeg smidt af.
sådan her ser det ud på det lukke område kun for brugerne.
Kode: Vælg alt
session_start();
include("phpFiler/fun.php");
$mebe = new mebe;
$db = $mebe->db_c();
error_reporting(E_ERROR);
if($_SESSION["logged_in"] == true)
{
//html koden herefter,
Kode: Vælg alt
session_start();
include("phpFiler/fun.php");
$mebe = new mebe;
$db = $mebe->db_c();
error_reporting(E_ERROR);
//er ikke log ind på siden.
Finder ud af om man kan log ind på siden eller ej.
Kode: Vælg alt
function logind()
{
if($_POST["brugernavn"] == "")
{
$error = 1;
}
if($_POST["pass"] == "")
{
$error = 1;
}
if($error != 1)
{
if ($stmt = $this->mysqli->prepare("SELECT id, brugernavn, rank, ranknavn FROM bruger WHERE brugernavn = ? AND adgangskode = ?"))
{
$stmt->bind_param('ss', $brugernavn, $adgangskode);
$brugernavn = $_POST["brugernavn"];
$adgangskode = sha1($_POST["pass"]);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $brugernavn, $rank, $ranknavn);
$stmt->fetch();
$count = $stmt->num_rows;
$stmt->close();
if($count > 0)
{
$_SESSION["logged_in"] = true;
$_SESSION["id"] = $id;
$_SESSION["brugernavn"] = $brugernavn;
$_SESSION["rank"] = $rank;
$_SESSION["ranknavn"] = $ranknavn;
if($_SESSION["logged_in"] == true and $_SESSION["rank"] >= 1)
{
?>
<script language="javascript" type="text/javascript">
window.location.href = "/wall/";
</script>
<?php
}
else
{
echo "Fejl..";
}
}
else
{
?>
<div class="alert error fade in">
<p>Forkert Brugernavn / Password.</p>
<a class="close" data-dismiss="alert" href="#" aria-hidden="true"><i class="fa fa-times-circle"></i></a>
</div>
<?php
}
}
//fejl
else
{
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
}
else
{
?>
<div class="alert error fade in">
<p>Forkert, Prøv igen!</p>
<a class="close" data-dismiss="alert" href="#" aria-hidden="true"><i class="fa fa-times-circle"></i></a>
</div>
<?php
}
}
HTML KODE / PHP DEL
Kode: Vælg alt
<?php
if(isset($_POST["login"]))
{
$logind = $mebe->logind();
}
?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>Brugernavn</td>
<td><input type="text" name="brugernavn" maxlength="300"></td>
</tr>
<tr>
<td>Adgangskode</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="login" value="Log ind"></td>
</tr>
</table>
</form>
Kode: Vælg alt
echo var_dump($_SESSION);
array(5) { ["logged_in"]=> bool(true) ["id"]=> int(1) ["brugernavn"]=> string(6) "Jesper" ["rank"]=> int(2) ["ranknavn"]=> string(6) "Bruger" }
Sådan her ser min sql ud:
Kode: Vælg alt
INSERT INTO `bruger` (`id`, `email`, `brugernavn`, `adgangskode`, `rank`, `ranknavn`, `img`, `infotekst`, `profiltekst`, `point`) VALUES
(1, 'jesper@jesperbok.dk', 'Jesper', '7b52009b64fd0a2a49e6d8a939753077792b0554', 2, 'Bruger', '', '', '', 50);
Hvis jeg bare klik f5 så kommer indhold nogle gange ikke frem på siden. men hvis jeg der i mod klik ctrl + f5 så kommer det nye af det nyeste indhold frem på siden. men så bliver jeg også smidt af siden og skal genstart browser for at den virker normal igen.
Har også oprette spørgsmål her
Håber du kan hjælpe mig videre til at opgaven bliver løst,