Gå til innhold

[Løst]Har jeg cookies problemer?


Anbefalte innlegg

Heisann.

Sitter her og holder på å jobbe med en side. Og så skulle folk prøve å logge på osv.

 

De registrerte seg, og prøvde så å logge inn.

Når de logga inn, så ble de utlogga med en gang.

Så jeg mener jeg har cookies problemer. Men kan noen klare å hjelpe meg?

 

Her kan du få se hele index.php fila.

 

Håper på at det går ann å få hjelp her ;)

 

			<?php
ob_start();

$action = $_GET['action'];

include("config.php");
include("opendb.php");

if(!empty($_SESSION['brukernavn'])) { ?>
		<div id="login_mid"><div align="center"><table align="center">
<?php			
$bruker = mysql_query("SELECT * FROM brukere WHERE brukernavn = '" . mysql_real_escape_string($_SESSION['brukernavn']) . "'");
$bruker = mysql_fetch_array($bruker);
echo('
<img title="' . $bruker['habbonavn'] . '" alt="' . $bruker['habbonavn'] . '" style="margin-left: -20px; margin-top: -10px;" src="http://www.habbies.nl/img/text-gen/no/' . $bruker['habbonavn'] . '/1/Velkommen%20' . $bruker['brukernavn'] . '.gif" />
<img title="' . $bruker['habbonavn'] . '" alt="' . $bruker['habbonavn'] . '" style="margin-top: -25px;" src="http://www.habbo.no/habbo-imaging/avatarimage?user=' . $bruker['habbonavn'] . '&action=wav&direction=4&head_direction=3&gesture=sml&size=l" />
');
?>

<form action="./index.php?action=logout" method="post" />
<input type="submit" class="submit" Value="Logg ut" />
</form></table>
</div>
</div>
		<div id="login_bot"></div>
		<div class="split"></div>
<?php
}

elseif(!empty($_POST['submit'])) {

// Beskyttelse
$post_brukernavn = htmlspecialchars(strip_tags($_POST['brukernavn']));
$post_passord	= htmlspecialchars(strip_tags($_POST['passord']));

// Sjekker om det er fylt inn noe i tekstfeltene
if(empty($post_brukernavn)) {  $error_msg = "<p>- Brukernavn</p>"; }
if(empty($post_passord)) {	  $error_msg .= "<p>- Passord</p>"; }
if(!empty($error_msg)) { echo("

<div id=\"pålogget\"></div>
<div id=\"login_mid\">
<div style=\"color:#000000; margin-left: 5px;\">Du må fylle ut alle felt! <br>Felt som ikke er fylt ut er: <p>$error_msg</p> <br><br>
<a href=\"java script:history.go(-1)\">» Tilbake</a></div>
</div>
<div id=\"login_bot\"></div>



"); }
else {

// Spør databasen om brukernavnet finnes
$mysql_sporring = "SELECT * FROM brukere where brukernavn='$post_brukernavn'";
$resultat   = mysql_query($mysql_sporring);

if (mysql_affected_rows() == 0) {  echo 	('
<div id="pålogget"></div>
<div id="login_mid">
<div style="color:#000000; margin-left: 5px;">Brukernavnet du oppgav finnes ikke! <br><br>
<a href="java script:history.go(-1)">» Tilbake</a></div>
</div>
<div id="login_bot"></div>'); }
else {
$row = mysql_fetch_array($resultat);

// Sjekker passordet og omgjør til md5 om passordet i databasen er 32 tegn.
$bruker_passord = $row['passord'];
if(strlen($bruker_passord) == 32) { $post_passord = md5($post_passord); }


if($bruker_passord !== $post_passord) { echo('
<div id="pålogget"></div>
<div id="login_mid">
<div style="color:#000000; margin-left: 5px;">Passordet du nå skrev inn var feil. Prøv igjen <br><br>
<a href="java script:history.go(-1)">» Tilbake</a></div>
</div>
<div id="login_bot"></div>
'); }
else {

// Setter innlogget session og sender brukeren til "sikker side"
$_SESSION['brukernavn'] = $post_brukernavn;
session_start();
echo('
<div id="pålogget"></div>
<div id="login_mid">
<div style="color:#000000; margin-left: 5px;">Du er nå innlogget! 
<br>Klikk <a href="./index.php?action=main">» HER!</a></div>
</div>
<div id="login_bot"></div>');

}
}
}
}

// Skriver ut innloggings felt
else {

?>
		<div id="login_top"></div>
		<div id="login_navn"></div>
		<div id="login_mid">
<table>
		<form method="post" action="">
		<input name="brukernavn" type="text" lang="no" size="18" />
		<div id="login_passord"></div></table>
		<input type="password" name="passord" lang="no" size="18" />
		<div align="center"><input type="submit" name="submit" class="submit" value="Logg Inn" style="margin-top:5px; margin-bottom:5px;" /></div>
		</form>


		<a href="?action=registrering"><img src="default/images/login_mid_registrer_deg.png" width="151" height="14" style="opacity:1.0; filter:alpha(opacity=100);"/></a></div>
		<div id="login_bot"></div>
<?php

}
?>

		<div class="split"></div>
		<div>
		<a href="http://hjelpesentral.no/livehelp.php?department=1&serversession=1&pingtimes=15">
		<img src="http://hjelpesentral.no/image.php?department=1&what=getstate" alt="Hjelpesentral.no" />
		</a>
		</div>
		</div>

		<div class="clear"></div>
		</div>


		<div id="bot"></div>
		</div>

</body>
</html>

 

Endret av molty
Lenke til kommentar
Videoannonse
Annonse
Orker ikke å lese hele koden din, da veldig veldig mye av den ikke er relevant.

 

Hva med å skrive ut $_SESSION[] og $_COOKIE[] på toppen av hver side, for å debugge?

 

Da ble siden helt blank.

 

EDIT:

Siden kom tilbake, men det funka ikke nei.

Endret av molty
Lenke til kommentar

For det første

Du har ikke en eneste cookie i det scriptet.

 

Samt så skal session_start(); settes før noe som helst annet printes ut, som oftest er det kjekt å ha den helt øverst i PHP fila og ikke midt i som her:

$_SESSION['brukernavn'] = $post_brukernavn;
session_start();

Du har jo da ikke starta sessions før du setter brukernavn.

 

 

Bytt ut

elseif(!empty($_POST['submit'])) {

Med

elseif(isset($_POST['submit'])) {

 

Da sjekker den kun om den er satt eller ikke.

 

En liten kommentar er at du ikke sjekker brukernavnet og passordet for hverandre, evt ikke fortelle hva som var galt av brukernavn eller passord.

Lenke til kommentar
En liten kommentar er at du ikke sjekker brukernavnet og passordet for hverandre, evt ikke fortelle hva som var galt av brukernavn eller passord.

Hva mener du?

At den ikke sjekker om passordet eller brukernavnet er galt?

Lenke til kommentar

Du sier bare til brukeren at det er passordet som er galt

Hvis noen prøver å komme seg inn så veit de om de har skrevet inn feil passord og ikke brukernavn. Men det er ikke så farlig egentlig, var bare en liten kommentar.

 

Funker det nå?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...