webForumDet fria alternativet

session + inlogning = fel

3 svar · 274 visningar · startad av mikael_a

mikael_aMedlem sedan mars 2000475 inlägg
#1

Hej, nu har jag snart suttit hela kvällen, och snart blir jag knäpp på mitt session login skript.

Just nu i databasen har jag 2 användare, anger jag deras uppgifter i formuläret, så händer absolut inget, inget fel, den visar bara återigen formuläret. Skriver jag in fel lösen/användarnamn så får jag felmed. att lösen/användarnamn är fel försök igen, så det verkar fungera så långt :)

är det någon vänlig själ som kan tänka sig att titta igenom mitt skript? Det är säkert bara något litet fel...

Filen - admin_session.php

 

<?php 
session_start();

  // ------------------------------------------------------
  // Databasanslutningen
  // ------------------------------------------------------ 
  include "conn.php"; 

// ------------------------------------------------------
// Inloggning 
// Om användaren har tryckt på "submit" så kollar vi om
// han/hon finns i databasen
// ------------------------------------------------------

//if (isset($_POST['submit'])){ 
  
//  $pass = md5($_POST['passwd']);
//  $sql = "SELECT id FROM admin 
//         WHERE user='{$_POST['user']}' 
//         AND pass='{$pass}'"; 
//  $result = mysql_query($sql);
  
  
  
  if (isset($_POST['submit'])){ 
  
  $sql = "SELECT id FROM admin 
         WHERE user='{$_POST['user']}' 
         AND pass='{$_POST['passwd']}'"; 
  $result = mysql_query($sql); 

  
  // ------------------------------------------------------
  // Hittades inte användarnamn och lösenord 
  // skicka till formulär med felmeddelande 
  // ------------------------------------------------------
  if (mysql_num_rows($result) == 0){ 
    header("Location: admin_session.php?badlogin="); 
    exit; 
  } 
  
  // ------------------------------------------------------
  // Sätt sessionen med unikt index 
  // ------------------------------------------------------
  $_SESSION['sess_id'] = mysql_result($result, 0); 
  $_SESSION['sess_user'] = $_POST['user']; 
  header("Location: welcome_session.php"); 
  exit; 
} 

// ------------------------------------------------------
// Utloggning 
// ------------------------------------------------------
if (isset($_GET['logout'])){ 
  $_SESSION = array(); 
  session_unset(); 
  session_destroy(); 
  header("Location: admin_session.php"); 
  exit; 
} 

// ------------------------------------------------------
// Om inte inloggad visa formulär, annars logga ut-länk 
// ------------------------------------------------------
if (!isset($_SESSION['sess_user'])){ 

  echo "<h3>Logga in</h3>\n"; 
  
  // ------------------------------------------------------
  // Visa felmeddelande vid felaktig inloggning 
  // ------------------------------------------------------
  if (isset($_GET['badlogin'])){ 
    echo "Fel användarnamn eller lösenord!<br>\n"; 
    echo "Försök igen!\n"; 
  } 
  
?> 
<form action="admin_session.php" method="post"> 
Användarnamn:<br> 
<input type="text" name="user"><br> 
Lösenord:<br> 
<input type="password" name="passwd"><br> 
<input type="submit" name="submit" value="Logga in"> 
</form> 

....

Filen - welcome_session.php


<?php 
session_start();

	// ------------------------------------------------------
	// Kolla om inloggad = sessionen satt 
	// ------------------------------------------------------
	if (!isset($_SESSION['sess_user'])){ 
	  header("Location: admin_session.php"); 
	  exit; 
	} 

	?> 
	
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>admin - startSida</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body> 

V&auml;lkommen <?=$_SESSION['sess_user'] ?><br><br>
<a href="register_session.php">Registera dig</a><br> 
<a href="admin_session.php?logout=">Logga ut</a> 

</body> 
</html>

tack på förhand...

mikael_aMedlem sedan mars 2000475 inlägg
#2

löst...

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Berätta gärna HUR du löste det och markera sedan tråden som löst.

mikael_aMedlem sedan mars 2000475 inlägg
#4

Jag frågade i ett annat forum :( ville inte skriva det...

i alla fall, det var fel inställningar i min php.ini, så att session variablerna inte sattes. session.cookie_path var inte satt till /

sedan var det fel på en variabel när jag använde mig utav md5 krypteringen (felskriving)

jag skrev [löst] i rubriken???

127 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)