---
title: "Inloggning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/81193-inloggning"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mhedda"
published: "2003-07-03T10:33:41.000Z"
updated: "2003-07-15T13:42:19.000Z"
replies: 24
views: 794
page: 1
pages: 2
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/81193-inloggning"
---

# Inloggning

_Sida 1 av 2._

## #1 — mhedda, 2003-07-03T10:33Z

Hejsan!
Har ett litet skumt problem med inloggning.
När jag öppnar webbläsaren och loggar in första gången så får jag upp meddelandet  "M&aring;ste logga in..! " nästa gång så går det bra. Vad är det för fel på min kod?

Brygga:

```php
<?session_start();
ob_start();
include("funktioner/funktioner.php");
my_checkUser($txt_User,$txt_Pass);
?>
```

Inloggnings function:

```php
function my_checkUser($txt_User,$txt_Pass)
{ 
	session_start();
	global $valid,$conn,$PHP_SELF,$my_id,$sess_User,$sess_Pass,$sess_namn;

	//If session doesn't exist..
	if($valid != "yes")
	{
		if(($txt_User != "") && ($txt_Pass != ""))
		{
			openConn();
			$checkUserSQL = "SELECT COUNT(*) FROM tbl_tiduser WHERE username = '$txt_User' AND password = '$txt_Pass'";
			//$num = odbc_prepare($conn,$checkUserSQL); 
			//$checkUserResult = @odbc_exec($conn,$checkUserSQL) or die ("Couldn't execute query..");
			$num  = odbc_do($conn, $checkUserSQL); 
			$answer  = odbc_result($num, 1); 
			

				// If user exists..
				if($answer != 0) 
				{
		
						$checkStatSQL = "SELECT* FROM tbl_tiduser WHERE username = '$txt_User' AND password = '$txt_Pass'";
						$result_stat  = odbc_do($conn, $checkStatSQL);
		 		  		$stat  = odbc_result($result_stat, 4); 
							
		
		
						if($stat=="1")
						{
							session_start();

							$sess_User  = odbc_result($result_stat,2);
							$sess_Pass  = odbc_result($result_stat,3);
							$sess_namn  = odbc_result($result_stat,5);
							$valid="yes";
							session_register("sess_User");
							session_register("sess_Pass");
							session_register("sess_namn");
							session_register("valid");
		
							header("Location:stat_1/index.php");
							
						}

						if($stat=="2")
						{
							session_start();

							$sess_User  = odbc_result($result_stat,2);
							$sess_Pass  = odbc_result($result_stat,3);
							$sess_namn  = odbc_result($result_stat,5);
							$valid="yes";
							session_register("sess_User");
							session_register("sess_Pass");
							session_register("sess_namn");
							session_register("valid");

							header("Location:stat_2/index.php");
						}

			}
			else
			{
				print "<br><br><a href='../inlogg.php'><span class='brodtext'><center><i>Fel loginuppgifter..!</center></i></span></a>";
			}
		
		}
		elseif(($txt_User == "") && ($txt_Pass == ""))
		{
			print "<br><br><a href='../inlogg.php'><span class='brodtext'><center><i>M&aring;ste logga in..!</center></i></span></a>";
		}  
  
	
	}
 
}
```

Vad kan det vara??

MVH Hedda

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

## #2 — mhedda, 2003-07-03T12:35Z

När jag loggar ut och loggar in på kontot igen eller ett annat konto då går det bra.
Tills för en stund sen då fick jag detta felmeddelande i bottenframen:
\---------------------------------------------------------------------------------
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
\----------------------------------------------------------------------------------

Är det någon annan som fått liknande felmeddelande?

MVH Hedda

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

## #3 — mhedda, 2003-07-03T13:55Z

Varför registrerar den inte dessa sessions?
förrän andra gången man loggar in??
Jag blir tokig.

```php
Session_start();
							$valid="yes";
							$sess_User  = odbc_result($result_stat,2);
							$sess_Pass  = odbc_result($result_stat,3);
							$sess_namn  = odbc_result($result_stat,5);
							session_register("valid");
							session_register("sess_User");
							session_register("sess_Pass");
							session_register("sess_namn");
```

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

## #4 — mhedda, 2003-07-04T07:55Z

Hej igen!
Jag blir inte riktigt klok på detta första gången sätter den ingen session men andra gången man loggar in. Den går ju in i if satsen och skickar mig vidare till stat_2/index.php så då har den väl gått igenom session_register kan man tycka, jätte mysko tycker jag:-0

Vad kan det vara, någon som vet??

```php
if($stat=="2")
                        {
                            session_start();

                            $sess_User  = odbc_result($result_stat,2);
                            $sess_Pass  = odbc_result($result_stat,3);
                            $sess_namn  = odbc_result($result_stat,5);
                            $valid="yes";
                            session_register("sess_User");
                            session_register("sess_Pass");
                            session_register("sess_namn");
                            session_register("valid");

                            header("Location:stat_2/index.php");
                        }
```

MVH Hedda

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

## #5 — monAmour, 2003-07-04T08:03Z

Vet inte om det är detta som är den hela lösningen, men session_start() ska alltid ligga högst upp i koden och ingenting annat får köras innan den..

i.e:

```
<?
session_start();

//resterande kod kommer här
?>
```

Så lägg den högst upp och plocka bort den  i dina if satser och funktioner..

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

## #6 — mhedda, 2003-07-04T10:30Z

Hej igeen!
Nu har jag kollat med detta.

Jag skickar till form.php vilket ligger i topframen då funkar det, men inte när jag skickar till index.php vilket är ett frameset med topframe där form.php ligger och en bottenframe där show.php ligger.
Vad sjutton kan det vara??
Jag blir tokig på dessa sessions.

```php

						if($stat=="2")
						{
							//session_start();
							$valid="yes";
							$sess_User  = odbc_result($result_stat,2);
							$sess_Pass  = odbc_result($result_stat,3);
							$sess_namn  = odbc_result($result_stat,5);
							//$HTTP_SESSION_VARS['sess_User'] = odbc_result($result_stat,2);
							//$HTTP_SESSION_VARS['sess_Pass'] = odbc_result($result_stat,3);
							session_register("valid");
							session_register("sess_User");
							session_register("sess_Pass");
							session_register("sess_namn");

							header("Location:stat_2/form.php?".SID);
						}
```

Please är det någon som kan hjälpa mig?
Är det kanske någon som haft ett liknande problem och löst det på ett lysande sätt :-)
ByByHedda

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

## #7 — mhedda, 2003-07-04T11:41Z

Är det ingen som haft problem med frames och sessions

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

## #8 — Hydr0matic, 2003-07-04T12:13Z

Jag kan lösa det till dig på smidigaste sätt, men inte nu. Ger mig på det om nån timme.

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

## #9 — mhedda, 2003-07-04T12:21Z

Det skulle vara lysande.
Tack på förhand Hydr0matic.
MVH Hedda

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

## #10 — Hydr0matic, 2003-07-04T13:44Z

tänkte börja pilla lite nu.... En fråga bara - ska funktionen my_checkUser göra ngt annat än att kolla inloggningen ? Förstår inte riktigt denna raden -\>
global  $valid,$conn,$PHP_SELF,$my_id,$sess_User,$sess_Pass,$sess_namn;

Varför behöver du de variablerna globalt ? Har du skrivit hela funktionen själv eller har du kopierat vissa delar ?

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

## #11 — Hydr0matic, 2003-07-04T13:52Z

Vilken PHP version kör du ?

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

## #12 — mhedda, 2003-07-04T14:00Z

Jag har kopierat vissa delar global variablarna hänger kvar med allt loborerande dom kan vi nog glömma.

Men jag har nu kikat och sett att första gången man loggar in så sätter den en session
valid\|s:3:"yes";sess_User\|s:3:"joe";sess_Pass\|s:5:"%eoj%";sess_namn\|s:12:"Joe Formgren";

Men man måste ändå logga in en gång till och då kan jag även logga in som någon annan och då funkar det.

Mystiskt eller något generalfel från min sida?

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

## #13 — Hydr0matic, 2003-07-04T14:11Z

ok... jo, det är inte med sessionen det är fel utan själva ordningen på koden. Du skickar iväg headers till browsern lite hur som helst.

Har du färdigställt sidan ifrån vilken man loggar in ? Isf kan du väl posta den htmln så kan jag pilla in lite variabler där och fixa så man kommer tillbax dit om loginuppgifterna är fel.

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

## #14 — mhedda, 2003-07-04T14:13Z

Jag har kollat och första gången sätter den även en tom session fil och när jag loggar ut med

```php
function logout()
{
	global $PHP_SELF,$valid;
		session_start();
		session_unregister($valid);
		session_destroy();

	 	//print "<span class='brodtext'><center><i>Du är nu utloggad..!</center></i></span>";
		//header("Location:index.php?action=error&msg=".htmlentities(urlencode("Du är nu utloggad..!")));
		header("Location:inlogg.php");

}
```

Så dödar den ingen session däremot andra gången jag loggar in så sätter den en ny session med nya uppgifter om man loggar in som någon annan

valid\|s:3:"yes";sess_User\|s:3:"seb";sess_Pass\|s:5:"%bes%";sess_namn\|s:12:"Sven-Erik Backman";

Och därmed skriver den över den tomma sessionen som setts vid första inloggningen. Och då först visas uppgifterna på sidan.

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

## #15 — Hydr0matic, 2003-07-04T14:18Z

det hade varit lättare om du mailat berörda scripts till mig så hade fått en bättre helhetsbild.

<matte@insector.se>

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

## #16 — Hydr0matic, 2003-07-04T14:34Z

Jag antar att my_checkUser() ska ligga i funktioner/funktioner.php ?

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

## #17 — mhedda, 2003-07-04T14:39Z

Japp det ska den!

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

## #18 — mhedda, 2003-07-04T14:50Z

Eller rättare sakt på index.php, form.php, show.php står det rätt 

```php
include("../funktioner/funktioner.php");
```

För när man loggar in så kommer man in i mappen stat_2 och mappen funktioner ligger utanför stat_2 direkt i huvudmappen.

```php

						if($stat=="2")
						{
							//session_start();
							$valid="yes";
							$sess_User  = odbc_result($result_stat,2);
							$sess_Pass  = odbc_result($result_stat,3);
							$sess_namn  = odbc_result($result_stat,5);
							session_register("valid");
							session_register("sess_User");
							session_register("sess_Pass");
							session_register("sess_namn");

							header("Location:stat_2/index.php");
						}
```

MVH Hedda

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

## #19 — Hydr0matic, 2003-07-04T15:36Z

oki...  har mailat tillbax filerna nu så du får ändra det själv.

Jag är här en stund till om du behöver fråga ngt....

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

## #20 — Hydr0matic, 2003-07-04T15:42Z

```php
function logout() {

	session_start();
	session_destroy();

	header("Location:inlogg.php");

}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/81193-inloggning  
Nästa sida: https://www.webforum.nu/amne/php/81193-inloggning/page2.md
