---
title: "PHP & variabler"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/79422-php-variabler"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "misan_lisan"
published: "2003-06-11T12:24:55.000Z"
updated: "2003-06-16T12:09:01.000Z"
replies: 18
views: 453
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/79422-php-variabler"
---

# PHP & variabler

## #1 — misan_lisan, 2003-06-11T12:24Z

Hej,

Jag behöver desperat hjälp. Har provat det mesta nu men det vill ändå inte lösa sig. Se koden nedan:

if(isset($\_REQUEST\['user'\]) && isset($\_REQUEST\['password'\])) {
$query = "SELECT \* FROM user WHERE NAME = '" . $\_REQUEST\['user'\] . "' and PASSWORD = '" . $\_REQUEST\['password'\] . "'";
$res = mysql_query ($query);
if (mysql_num_rows($res) != 1){
header ("Location: default.php");
exit;
}
else{

Denna kod är hämtad från session.php som är included i filen index.php. Jag skickar in variablerna "user" och "password" från sidan default.php där jag loggar in från. Men vad som händer är att den den går aldrig in i if-satsen utan går direkt till else. Samma problem är det när jag ska skicka variabler från en sida till en annan och värdet i variablerna ska in i en SQL-sats. Jag har provat att eka ut variablerna på nästa sida och det är inga problem men så fort de ligger i en ifsats eller sqlquery så funkar det inte. Varför? Har kollat php.ini filen och den är korrekt.

/Marie

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

## #2 — Bäckman, 2003-06-11T12:32Z

Doh, nu var det jag som var rejält efterbliven. Ska klura på problemet...

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

## #3 — misan_lisan, 2003-06-11T12:36Z

Hej igen,

Jag har redan testat POST och GET men det funkade inte hller. Får göra ett andra försök.

/Marie

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

## #4 — GunnarD, 2003-06-11T12:39Z

Om du lägger in raden:

echo "Query: ".$query;

Mellan tilldelningen av SQL uttrycket och innan du kör mysql_query(), skriver den ut ett riktigt SQL uttryck då?

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

## #5 — Bäckman, 2003-06-11T12:39Z

Kanske inte gör någon större skillnad, men saknar du inte en klammer?

```
if(isset($_REQUEST['user']) && isset($_REQUEST['password'])) { 
	$query = "SELECT * FROM user WHERE NAME = '" . $_REQUEST['user'] . "' and PASSWORD = '" . $_REQUEST['password'] . "'"; 
	$res = mysql_query ($query); 
	if (mysql_num_rows($res) != 1) { 
		header ("Location: default.php"); 
		exit; 
	} 
[b]}[/b] else {
```

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

## #6 — misan_lisan, 2003-06-11T12:54Z

Nu får jag svaret:

Warning: Cannot modify header information - headers already sent by (output started at c:\\inetpub\\wwwroot\\index.php:14) in c:\\inetpub\\wwwroot\\session.php on line 32

Vad är det då? Känner att det är ngt simpelt som jag borde veta vad det är.

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

## #7 — Web-Tor, 2003-06-11T13:24Z

Den här raden:

```php
header ("Location: default.php");
```

...måste ligga överst på sidan. Inget annat för skickas till klienten innan.

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

## #8 — misan_lisan, 2003-06-11T13:29Z

Men då går sidan direkt till defaultsdian utan att gå in i ifsatsen som jag vill. Det går ju inte.

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

## #9 — misan_lisan, 2003-06-11T13:32Z

Bäckman jag förstår vad du menar med klammern men det är else till ifsatsen i ifstasen. Koden fortsätter men jag ska dubbelkolla alla klamrar.

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

## #10 — Web-Tor, 2003-06-11T13:32Z

Du får ha PHP-kod innan header-informationen men inte HTML-kod eller dylikt. Inte ens ett mellanslag.

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

## #11 — misan_lisan, 2003-06-11T13:40Z

Bara för att göra det enklare. Här kommer hela sessionsidan. Förklara.

```
<?php
	$db = mysql_pconnect ("localhost", "root");
	mysql_select_db("Storage");

	if(isset($_REQUEST['user']) && isset($_REQUEST['password'])) {
		$query = "SELECT * FROM user WHERE NAME = '" . $_REQUEST['user'] . "' and PASSWORD = '" . $_REQUEST['password'] . "'";
		$res = mysql_query ($query);
		if (mysql_num_rows($res) != 1){
			header ("Location: default.php");
			exit;
		}
		else{
			$sessionid = md5(uniqid(rand()));
			$timeout = time()+3600;
			SetCookie("sessionID", $sessionid, $timeout);
			$time = time();
			$query = "INSERT INTO session (sessionid, username, time) VALUES ('sessionid', 'user', time)";
			mysql_query($query);
		}
	}
	else if(isset($HTTP_COOKIE_VARS["sessionID"])){
		$query = "SELECT * FROM session WHERE sessionid = '" . $REQUEST['sessionid'] . "'";
		$res = mysql_query($query);
		if(mysql_num_rows($res) != 1){
			header ("Location: default.php");
			exit;
		}
	}
	else{
		header ("Location: default.php");
		exit;
	}

?>
```

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

## #12 — Web-Tor, 2003-06-11T14:12Z

Frågan är hur index.php ser ut.
Där får du inte heller ha någon HTMl-kod innan du includerar session.php

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

## #13 — misan_lisan, 2003-06-11T14:18Z

Jag har fått bort headerproblemet men fortfarande vill den inte kännas vid varibalerna user och password. Går inte in i första ifsatsen utan skiakr direkt ner mig i sista elsesatsen vare sig jag har fyllt i användarnamn eller inte.

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

## #14 — Matte, 2003-06-11T17:28Z

Vilken PHP-version använder du?

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

## #15 — misan_lisan, 2003-06-12T06:07Z

Den senaste som finns att ladda ner från php.net

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

## #16 — misan_lisan, 2003-06-12T13:06Z

Det är löst. Pinsamt fel som jag inte vågar berätta men tack alla för er hjälp.

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

## #17 — misan_lisan, 2003-06-16T11:30Z

Time

Hej!

Varför funkar inte detta:

\[KOD\]
$sessionid = md5(uniqid(rand()));
$timeout = time()+3600;
			SetCookie("sessionID", $sessionid, $timeout);
			$time = time();
			$query = "INSERT INTO session (sessionid, username, time) VALUES ('$sessionid', '" . $\_REQUEST\['user'\] . "', '$time')";
			mysql_query($query);

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

## #18 — misan_lisan, 2003-06-16T11:32Z

Time

Hej!

Varför funkar inte detta:

```
$sessionid = md5(uniqid(rand()));
$timeout = time()+3600;
SetCookie("sessionID", $sessionid, $timeout);
$time = time();
$query = "INSERT INTO session (sessionid, username, time) VALUES ('$sessionid', '" . $_REQUEST['user'] . "', '$time')";
mysql_query($query);
```

Variabeln time blir bara 00:00:00. Varför?

/M

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

## #19 — LarsG, 2003-06-16T12:09Z

Om du vill lagra aktuellt datum och tid så kan du använda

```
$query = "INSERT INTO session (sessionid, username, time) VALUES ('$sessionid', '" . $_REQUEST['user'] . "', current_timestamp)";
```

Eftersom time returnerar ett heltal så försöker Mysql konvertera det till ett datum och när det misslyckas så lagras värdet 00:00:00. (Mysql borde säga fel i detta läge.)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/79422-php-variabler
