Gå til innhold

Hjelp til loginscripts!?


Anbefalte innlegg

Videoannonse
Annonse

Kanskje jeg boer begynne aa lese poster litt bedre foer jeg svarer ;-)

 

Men uansett, umulig er det ikke, men litt knot blir det nok. Saa en innlogging som sjekker mot en database og bruker sessions til aa holde styr paa hvem som har tilgang er vel det beste. Hvis du ikke har funnet noe passende ferdiglagde, er nok sjansen stor for at du maa skrive et selv.

 

Innlogging maa gjerne integreres ganske tett med resten av oppsettet ditt, saa helt generelle ferdiglagde greier blir fort litt jalla (eller veldig overkill).

Lenke til kommentar

Okei, fant ett script jeg likte!

Men når folk har logget inn, hvilken kode må jeg skrive for at det skal stå at de har logget inn?! litt dårlig forklart, men noe lignende : Du har logget inn som "her kommer brukernavnet."

Er ikke så dreven på php, så hadde vært fint om noen kan hjelpe meg :)

Lenke til kommentar

login.php

Skjult tekst: (Marker innholdet i feltet for å se teksten):


<?php
//
// Start Sessions
//
ob_start();
session_start();

//
// Show the login form
//
echo "<form method='post' action='".$_SERVER['PHP_SELF']."'>";
echo "<table>";
echo "<tr><td><font color=#09c401>Brukernavn:</font></td><td><input type='text' name='username' value='".$_POST['username']."'></td></tr>";
echo "<tr><td><font color=#09c401>Passord:</font></td><td><input type='password' name='password'></td></tr>";
echo "<input type='hidden' name='action' value='1'>";
echo "<tr><td><a href='register.php'><font color=#09c401>Register</font></a></td><td><input type='submit' value='Logg inn'></td></tr>";
echo "</table>";
echo "</form>";

//
// Check login
//
if($_POST['action']=='1'){

// Get form data
$_username = $_POST['username'];
$_password = $_POST['password'];

// Open file
$_filename = "logindata.php";
$_handle = fopen($_filename, "r");
$_contents = fread($_handle, filesize($_filename));
fclose($_handle);
//
// Divide all the users
//
$_divide = explode("&", $_contents);

//
// Check for the username
//
$_array = 0;
while($_divide[$_array] != ''){
list($username, $password, $email, $admin) = explode(";", $_divide[$_array]);

if($username == $_username){
 if($password == $_password){
 	// Set sessions and redirect
 	$_SESSION['logged'] = '73de8dhas7';
 	$_SESSION['username'] = $_username;
 	header("location:downloads.php");
 }else{
   $_echo = "<br><b>Brukernavnet eller passordet er feil</b><br>";
 }
}else{
 	$_echo = "<br><b>Brukernavnet eller passordet er feil!</b><br>";
}

$_array++;
}

echo $_echo;

}

//
// Logout data
//
if($_GET['do'] == 'logout'){
$_SESSION['logged'] = '';
$_SESSION['username'] = '';
$_SESSION['admin'] = '';
echo "<br><b>Du er logget ut!</b><br>";
}
?>

 

main.php

 

Skjult tekst: (Marker innholdet i feltet for å se teksten):

<?php
//
// Start Sessions
//
ob_start();
session_start();

//
// Check sessions
//
if($_SESSION['logged'] != '73de8dhas7'){
header("location:login.php");
exit;
}

//
// Main body
//
// Her vil jeg at det skal stå Du har logget inn som $username! NOEN som vet?
echo "<br>Dette er den passordbeskyttede siden!. <a href='login.php?do=logout'>Logg ut</a><br>";

?>

 

Noen som vet hvordan jeg kan ordne : "Du har logget inn som $username?"

Jeg tar innloggingsinformasjonen fra logindata.php!

Lenke til kommentar

Bytt ut

if($username == $_username){
if($password == $_password){
 // Set sessions and redirect
 $_SESSION['logged'] = '73de8dhas7';
 $_SESSION['username'] = $_username;
 header("location:downloads.php");
}

 

Med

 

if($username == $_username){
if($password == $_password){
 // Set sessions and redirect
echo "Du ble logget inn som $username";
 $_SESSION['logged'] = '73de8dhas7';
 $_SESSION['username'] = $_username;
 header("location:downloads.php");
}

 

I main php:

 

$sessionen=$_SESSION['username'] = $_username;
echo "Du er innlogget, $sessionen";

Endret av erixz
Lenke til kommentar

Bytt ut

if($_SESSION['logged'] != '73de8dhas7'){
header("location:login.php");
exit;
}

 

med

 

if($_SESSION['logged'] != '73de8dhas7'){
$_SESSION['username'];
header("location:login.php");
exit;
}

 

Sessionen username ble ikke tilkalt i begynnelsen av main, lå ikke merke til dette i ste, skal funke nå tror jeg :)

 

EDIT: Glem det over, skrev først feil.

Dette blir riktig:

 

if($_SESSION['logged'] != '73de8dhas7'){
$_SESSION['username'];
header("location:login.php");
exit;
}

 

HUsk også å endre på main.php

 

Dette er feil:

 

$sessionen=$_SESSION['username'] = $_username;
echo "Du er innlogget, $sessionen";

 

Dette er riktig

$sessionen=$_SESSION['username'];
echo "Du er innlogget, $sessionen";

Tror jeg. Ble mye rot

Endret av erixz
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...