Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Kirjautumissysteemi kekseillä

prakka [29.04.2007 15:25:23]

#

Yksinkertainen php-kirjautuminen kekseillä.

Muista ohjata ensin login.php-sivulle, ja sieltä vasta suojatulle sivulle :)

login.php, tänne mennään ensin kirjautumaan

<?php
// Ob_starttia ei saa poistaa, muuten ei toimi
ob_start();
// Katsotaan onko voimassa olevaa keksiä
if ( !$_COOKIE['login'] == 1 ) {
// Määritellään tunnukset
$kayttaja = "kayttajatunnus";
$salasana = "salasana";
//Lomake
echo "<form action="; echo $_SERVER['PHP_SELF']; echo " method='POST'>
	  Käyttäjätunnus: <input type='text' name='user'><br>
	  Salasana: <input type='password' name='passwd'><br>
	  <input type='submit' name='Kirjaudu sisään'>
	  </form>";
	$user = $_POST['user'];
	$passwd = $_POST['passwd'];
	 // Tarkistetaan onko määritetyt tunnukset samat kuin mitä lomake syöttää
	 if ( $user == $kayttaja and $passwd == $salasana ) {
	 // Tehdään eväste
	 setcookie("login", "1");
	 //Säädetään sille aika
	 setcookie("login", "1", time() + 60 * 10);
	 // Siirretään käyttäjä sivulle x
	 header('Location: sivu.php');
	 // Jos tulokset olivat erilaiset, anna virheilmoitus
	} else { echo "Käyttäjätunnus tai salasana on väärin. Yritä uudelleen"; }
} else { header('Location: sivu.php'); }
?>

sivu.php, eli sivu, johon tulee tarkistus onko sisällä

<?php
// Katsotaan onko käyttäjällä keksi voimassa
if ( $_COOKIE['login'] == 1 ) {
//Tähän sisältö
//Tähän sisältö
} else { echo "Et ole kirjautunut, kirjaudu sisään"; }
?>

logout.php eli uloskirjautuminen

<?php
// Älä poista Ob_Starttia!
ob_start();
// Poistetaan keksi (muista kasvattaa jos säädät passu.php:stä aikaa isommaksi)
setcookie('login', '', time() - 60 * 20);
// Ohjataan etusivulle
header('Location: index.php');
?>

Tontsa-san [29.04.2007 15:31:00]

#

En suosittele käyttämään tätä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta