---
title: "Enkelt login med default värde."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/181417-enkelt-login-med-default-värde"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "teddd"
published: "2009-11-27T03:55:36.000Z"
updated: "2009-11-28T18:31:42.000Z"
replies: 8
views: 694
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/181417-enkelt-login-med-default-värde"
---

# Enkelt login med default värde.

## #1 — teddd, 2009-11-27T03:55Z

Tjena!
Eftersom jag inte är så haj på php och programmering utan bara kan grunderna så vänder jag mig till er php-gurus :)

Jag håller mest på med css och webbdesign inte så mycket php och nu håller jag på och göra en mycket enkel, skräddarsydd blogg till min tjejkompis.

Det jag behöver nu är ett mycket enkelt login-system.
Min kompis ska vara enda administratorn på bloggen, och jag har en tabell som heter **adminuser** som innehåller *id*, *first*, *last*, *username*, *password* och *email*.

Jag har en xml fil där jag vill lagra "default-värden" för användarnamn och lösenord, alltså ett användarnamn och ett lösenord som ska gälla om inte administratorn har lagt till ett eget.

Men om det däremot finns inmatade värden i **adminuser** så är det dom som ska gälla.

Kort och gott:
  *Om det inte finns nått i **adminuser**, jämför inmatat användarnamn och lösenord från formuläret gentemot default-värdena i xml-filen och skicka till admin.php om det stämmer. Annars visa felmeddelande.

Om det däremot finns nått lagrat i **adminuser**, jämför inmatat användarnamn och lösenord från formuläret gentemot det som användaren har lagt till och skicka till admin.php om det stämmer. Annars visa felmeddelande.*

Hur göra detta??

Permalänk: https://www.webforum.nu/p/181417

## #2 — Pedda, 2009-11-27T08:28Z

För det första, lägg aldrig lösenord i en xml fil.
Om någon hittar xml filen så kan dom ju läsa lösenordet utan problem.

Hårdkoda istället ett admin namn och lösenord som kan användas om databasen är tom.

Permalänk: https://www.webforum.nu/p/2215681

## #3 — M@gnus, 2009-11-27T19:55Z

Om det bara är en enda användare, är det inte lika bra att hårdkoda den och hoppa databasen?

Permalänk: https://www.webforum.nu/p/2215729

## #4 — teddd, 2009-11-28T16:49Z

Jo det kanske är bäst.
Har med mina simpla kunskaper i php gjort denna kod:

```
<?php
	
	 //store formvaules
	 $user = $_POST['username'];
	 $pass = $_POST['password'];
	 
	 //check if formvalues is valid
	 if($user = 'admin' AND $pass = 'password') {
         //valid inputs, set session to TRUE
		$_SESSION['logged_in'] = true;
		header('Location:http://localhost/WEBSITES/vemssanning/admin.php');
		die();
			 	
	 }
	 else
	 {
	 	//invalid inputs, set session to false and redirect to login
		$_SESSION['logged_in'] = false;
		header('Location:http://localhost/WEBSITES/vemssanning/index.php');
		die();
	 }
?>

Men det fungerar inte :( det spelar ingen roll vad jag skriver in i formulären eller om dom är tomma, jag skickas till admin.php ändå.
Vad är fel?
```

Permalänk: https://www.webforum.nu/p/2215784

## #5 — Pedda, 2009-11-28T17:04Z

\= används för att tilldela en variabel ett värde.
För att jämföra två värden används ==
Så ändra kollen till:

```php
if($user == 'admin' AND $pass == 'password') {
```

/red
Koden du gav kanske inte är all kod på sidan, men du måste ha session_start() överst på alla sidor när du använder sessioner.
Så alla sidor ska börja med:

```php
<?php
session_start();
// resten av koden...
```

Ingen output får finnas innan session_start(), inte ens ett mellanslag!

Permalänk: https://www.webforum.nu/p/2215786

## #6 — teddd, 2009-11-28T17:54Z

> **[Pedda skrev:](https://www.webforum.nu/p/1489664)**
>
> \= används för att tilldela en variabel ett värde.
> För att jämföra två värden används ==
> Så ändra kollen till:
>
> ```php
> if($user == 'admin' AND $pass == 'password') {
> ```
>
> 
> 
> /red
> Koden du gav kanske inte är all kod på sidan, men du måste ha session_start() överst på alla sidor när du använder sessioner.
> Så alla sidor ska börja med:
>
> ```php
> <?php
> session_start();
> // resten av koden...
> ```
>
> Ingen output får finnas innan session_start(), inte ens ett mellanslag!

Ja nu gick det bättre :)
Och om jag enbart vill att personen med det rätta lösenordet kan visa adminsidan, hur gör jag? För nu behöver man ju bara skriva in adressen till admin.php och all information visas för vem somhelst.

Permalänk: https://www.webforum.nu/p/2215794

## #7 — Pedda, 2009-11-28T18:06Z

> **[teddd skrev:](https://www.webforum.nu/p/1489672)**
>
> Ja nu gick det bättre :)
> Och om jag enbart vill att personen med det rätta lösenordet kan visa adminsidan, hur gör jag? För nu behöver man ju bara skriva in adressen till admin.php och all information visas för vem somhelst.

På alla sidor som du måste vara inloggad på för att se:

```php
<?php
session_start();

if (!isset($_SESSION['logged_in']) && $_SESSION['logged_in'] != true){ 
	header("Location: startsidan.php");
	exit;
}

// resten av koden som vanligt...
```

Permalänk: https://www.webforum.nu/p/2215795

## #8 — teddd, 2009-11-28T18:26Z

> **[Pedda skrev:](https://www.webforum.nu/p/1489674)**
>
> På alla sidor som du måste vara inloggad på för att se:
>
> ```php
> <?php
> session_start();
> 
> if (!isset($_SESSION['logged_in']) && $_SESSION['logged_in'] != true){ 
> 	header("Location: startsidan.php");
> 	exit;
> }
> 
> // resten av koden som vanligt...
> ```

Ja nu fungerar det.
Satte även session_destroy(); på startsidan o nu funkar det som jag vill att det ska fungera. Lysande, tack! :)

Permalänk: https://www.webforum.nu/p/2215796

## #9 — Pedda, 2009-11-28T18:31Z

Bra, lycka till med sidan.

Använd gärna länken "Markera som lösning" vid det inlägg som löste frågan så tråden hamnar bland lösta trådar och andra med samma problem hittar lösningen.

Permalänk: https://www.webforum.nu/p/2215797

---

Tråden på webben: https://www.webforum.nu/amne/php/181417-enkelt-login-med-default-värde
