---
title: "Varför fel fil?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/94040-varför-fel-fil"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Nina"
published: "2004-01-05T18:35:15.000Z"
updated: "2004-01-07T13:16:25.000Z"
replies: 24
views: 573
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/94040-varför-fel-fil"
---

# Varför fel fil?

_Sida 1 av 2._

## #1 — Nina, 2004-01-05T18:35Z

Varför i sjutton laddar den här filen alltid ner samma fil, det är som att den inte fattar att ta ut rätt id

```php
<?php
session_start();
if (!(isset($username) || isset($siteuser)))  // user not login, redirect to login page
{
   header("Location: ../test/members/loggin.php");
   exit;
}
else {
$dbname = 'xxxxx';    
$dbhost = 'localhost';   
$dbusername = 'xxxxx'; 
$dbpassword = 'xxxxx';    

$connection=mysql_connect($dbhost, $dbusername, $dbpassword) or die(mysql_error()); 
$dbase=mysql_select_db($dbname) or die(mysql_error()); 

$q="SELECT * from graphics where graphics_id='$id'"; 
$result= mysql_query($q, $connection) or die 
("Could not execute query : $q." . mysql_error()); 

while ($row = mysql_fetch_array($result)) 
{ 
$id=$row["graphics_id"]; 
$name=$row["graphics_name"]; 
$cat_id=$row["category_id"]; 
$designer=$row["designer"]; 
$email=$row["email"]; 
$date=$row["date"]; 
$image=$row["image"]; 
$dsc = $row["description"]; 
$viewlink=$row["viewlink"]; 
$downloadlink=$row["downloadlink"]; 
$views = $row["views"]; 
$downloads = $row["downloads"]; 

 header('Location:' .$downloadlink); 

$q="update graphics set downloads=downloads+1 where graphics_id='$id'"; 
$result2= mysql_query($q, $connection) or die 
("Could not execute query 2 : $q." . mysql_error());
}

}
?>
```

 

Tar jag däremot bort den här bioten så fungerar den utmärkt

```php
if (!(isset($username) || isset($siteuser)))  // user not login, redirect to login page
{
   header("Location: ../test/members/loggin.php");
   exit;
}
else {
```

 
:(

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

## #2 — Matte, 2004-01-05T21:08Z

Någon skillnad om du gör:

```php
if (!(isset($username) || !isset($siteuser)))  // user not login, redirect to login page
{
   header("Location: ../test/members/loggin.php");
   exit;
}
else {
```

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

## #3 — Nina, 2004-01-05T21:24Z

Det verkar fungera men det tycks även släppa förbi även icke inloggade...

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

## #4 — Fuel, 2004-01-05T21:33Z

if (!isset($username) \|\| !isset($siteuser)) {
if (!isset($\_POST\['username'\]) \|\| !isset($\_POST\['siteuser'\])) {
if (!isset($\_SESSION\['username'\]) \|\| !isset($\_SESSION\['siteuser'\])) {
if (!isset($\_GET\['username'\]) \|\| !isset($\_GET\['siteuser'\])) {
if (!isset($\_COOKIE\['username'\]) \|\| !isset($\_COOKIE\['siteuser'\])) {

make a pick ...  :)

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

## #5 — Nina, 2004-01-05T22:03Z

Tackar skall testa

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

## #6 — Nina, 2004-01-05T22:19Z

Nope tyvärr inget fungera

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

## #7 — Fuel, 2004-01-05T22:32Z

Är delar av koden bortagen med flit ?

```php
<?php
session_start();
if (!isset($_SESSION['username'])){
   header("Location: ../test/members/loggin.php");
   exit;
} else {
	$dbname = 'kaptenZOOM';    
	$dbhost = 'localhost';   
	$dbusername = 'nina'; 
	$dbpassword = 'terminator';    
	$connection = @mysql_connect($dbhost, $dbusername, $dbpassword) or die("ERROR : ".mysql_error()); 
	$dbase = @mysql_select_db($dbname) or die("ERROR : ".mysql_error()); 
	$sql = "SELECT * from graphics WHERE graphics_id = '$_GET['id']'"; 
	$result = @mysql_query($sql) or die ("ERROR : ".mysql_error()); 
	while ($row = mysql_fetch_array($result))
	{ 
		$downloads = $row['downloads']; 
		$sql2 = "UPDATE graphics SET downloads=$downloads+1 WHERE graphics_id='".$row['graphics_id']."'"; 
		$result2 = @mysql_query($sql2) or die ("ERROR 2 : ".mysql_error());
	}
        header("Location: somwhere");
}
?>
```

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

## #8 — Nina, 2004-01-05T22:43Z

Nä alltså det här är hela koden, kommer till den här koden efter att jag klickat på download som vidare tar mig till zip filen om jag är inloggad

```php
<?php
session_start();
if (!(isset($username) || isset($siteuser)))  // user not login, redirect to login page
{
   header("Location: ../test/members/loggin.php");
   exit;
}
else {
$dbname = 'xxxxx';    
$dbhost = 'localhost';   
$dbusername = 'xxxxx'; 
$dbpassword = 'xxxxx';    

$connection=mysql_connect($dbhost, $dbusername, $dbpassword) or die(mysql_error()); 
$dbase=mysql_select_db($dbname) or die(mysql_error()); 

$q="SELECT * from graphics where graphics_id='$id'"; 
$result= mysql_query($q, $connection) or die 
("Could not execute query : $q." . mysql_error()); 

while ($row = mysql_fetch_array($result)) 
{ 
$id=$row["graphics_id"]; 
$name=$row["graphics_name"]; 
$cat_id=$row["category_id"]; 
$designer=$row["designer"]; 
$email=$row["email"]; 
$date=$row["date"]; 
$image=$row["image"]; 
$dsc = $row["description"]; 
$viewlink=$row["viewlink"]; 
$downloadlink=$row["downloadlink"]; 
$views = $row["views"]; 
$downloads = $row["downloads"]; 

 header('Location:' .$downloadlink); 

$q="update graphics set downloads=downloads+1 where graphics_id='$id'"; 
$result2= mysql_query($q, $connection) or die 
("Could not execute query 2 : $q." . mysql_error());
}

}
?>
```

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

## #9 — Nina, 2004-01-06T12:38Z

Problemet är att den vill inte fatta vilken fil det är jag vill ladda hem utan den tar hela tiden sista filen på varje sida, om jag tar bort

```php
if ( !isset($_SESSION['username']) ) // user not login, redirect to login page
{
   header("Location: /members/loggin.php");
   exit;
}
```

 

Då fattar den id rätt men lägger jag till den så fattar den inte det :(

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

## #10 — Matte, 2004-01-06T14:44Z

Men den koden ska inte kunna påverka det.

Vad den gör är att den kollar om sessionsvariabeln finns.

Finns den inte skyfflas man iväg till /members/loggin.php, annars körs koden i skriptet.

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

## #11 — Nina, 2004-01-06T15:40Z

Det är därför jag blir så konfunderad, eftersom koden man kommer ifrån fungerar korrekt om jag plockar bort den där delen, så fort jag lägger dit den så tar kden här koden enbart en och samma zip fil oavset vilken jag valt, tycks vara något som stör så att det blir rätt fil

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

## #12 — Matte, 2004-01-06T17:22Z

För att testa lite.

Ändra

```
$q="SELECT * from graphics where graphics_id='$id'"; 
$result= mysql_query($q, $connection) or die 
("Could not execute query : $q." . mysql_error());
```

 
till

```
$q="SELECT * from graphics where graphics_id='$id'"; 
echo "SQL-frågan: <br> $q <br>";
$result= mysql_query($q, $connection) or die 
("Could not execute query : $q." . mysql_error());
```

 
Testa både med din isset och utan den.
Får du då någon skillnad i utskriften, och hur ser den ut ?

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

## #13 — Nina, 2004-01-07T10:01Z

Får det här fel meddelandet på båda

SQL-frågan: 
SELECT \* from graphics where graphics_id='18' 

Warning: Cannot modify header information - headers already sent by (output started at /home/mystif/public_html/graphics/download.php:13) in /home/mystif/public_html/graphics/download.php on line 33

Det visar även att graphics_id är fel, skulle ha ner id 17 och den tar id 18

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

## #14 — GrodanBoll, 2004-01-07T10:09Z

```
$q="SELECT * from graphics where graphics_id='$id'";
```

Var får frågan $id ifrån?
Såvitt jag förstår så blir detta värde i $id fel? I koden så ser vi inte varifrån du får detta värde.

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

## #15 — Nina, 2004-01-07T10:15Z

Kommer från en annan sida via länken 
\<?php echo "\<a href=\\"download.php?id=$id\\"\>Download \</a\>

Där allt är listade

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

## #16 — Matte, 2004-01-07T11:05Z

Och vad står det för värde på $id i den länken? 
Det ser i statusfältet när du för musen över, eller när du tittar i den genererade HTML-koden.

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

## #17 — Nina, 2004-01-07T11:14Z

Det står rätt fil, alltså tex  download.php?id=17 men så laddar den hem id 18 istället. 
Lustiga sak

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

## #18 — Matte, 2004-01-07T11:28Z

Det innebär att den byter värde av någon anledning.

När du körde koden stod det då .../download.php?id=17 i adressfältet ?

Testa med att ändra från

```
$q="SELECT * from graphics where graphics_id='$id'";
```

 
till

```
$q="SELECT * from graphics where graphics_id='{$_GET['id']}'";
```

 
och kör koden inklusive sin felsökning.
Vad får du då ?

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

## #19 — Nina, 2004-01-07T11:43Z

Ok, ska testa. Jo det är det som är så lustigt att den byter värden så fort jag lägger in 

if (!(isset($username) \|\| !isset($siteuser)))  // user not login, redirect to login page
{
   header("Location: ../test/members/loggin.php");
   exit;
}
else {

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

## #20 — Matte, 2004-01-07T12:10Z

Vad det gäller den if-satsen så är den felaktig. Det var jag som missade en parentes i den.

Om jag minns rätt från tidigare frågor av dig, så var $username en sessionsvariabel och $siteuser en cookie.

Då skulle jag skrivit så här:

```php
if (!isset($_SESSION['username']) || !isset($_COOKIE['siteuser']))  // user not login, redirect to login page
{
   header("Location: ../test/members/loggin.php");
   exit;
}
else {
```

 
Annars kunde någon enkelt gått förbi din inloggning genom att skriva download.php?username=vad_som_helst&siteuser=vad_som_helst

Men detta ska inte ha något som helst med dina problem att göra. Väntar med spänning på vad du får fram.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/94040-varför-fel-fil  
Nästa sida: https://www.webforum.nu/amne/php/94040-varför-fel-fil/page2.md
