---
title: "Problem med \"header\""
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/166311-problem-med-header"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Guldstrand"
published: "2007-11-12T01:14:09.000Z"
updated: "2007-11-12T11:36:08.000Z"
replies: 16
views: 805
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/166311-problem-med-header"
---

# Problem med "header"

## #1 — Guldstrand, 2007-11-12T01:14Z

Har problem med "headern" i följande script.

```php
<?php                                                       ////////  PM  //
	$receiver = $_GET["receiver"];
	if (!isset($receiver))
	  die;

	$replyto = $_GET["replyto"];
	if ($replyto && !isset($replyto))
	  die;

	$res = mysql_query("SELECT * FROM members WHERE id=$receiver") or die(mysql_error());
	$user = mysql_fetch_assoc($res);
	if (!$user)
	  die("Finns ingen medlem med detta id.");

	if ($replyto)
	{
	  $res = mysql_query("SELECT * FROM meddelanden WHERE id=$replyto") or die(mysql_error());
	  $msga = mysql_fetch_assoc($res);
	  if ($msga["receiver"] != $_SESSION["sess_id"])
	    die;
	  $res = mysql_query("SELECT user FROM members WHERE id=" . $msga["sender"]) or die(mysql_error());
	  $usra = mysql_fetch_assoc($res);
	  $body .= "\n\n\n-------- $usra[user] skrev: --------\n$msga[msg]\n";
	}
	?>
	<table width=300 border=0 cellspacing=0 cellpadding=0><tr><td>
	<div align=center>
	<strong>Meddelande till <a href=userdetails.php?id=<?=$receiver?>><?=$user["user"]?></a></strong>
	<form method=post action=?page=spara_pm>
	<?php if ($_GET["returnto"] || $_SERVER["HTTP_REFERER"]) { ?>
	<input type=hidden name=returnto value=<?=$_GET["returnto"] ? $_GET["returnto"] : $_SERVER["HTTP_REFERER"]?>>
	<?php } ?>
	<table border=1 cellspacing=0 cellpadding=5>
	<tr><td<?=$replyto?" colspan=2":""?>><textarea name=msg cols=50 rows=15><?=htmlspecialchars($body)?></textarea></td></tr>
	<tr>
	<?php if ($replyto) { ?>
	<td align=center><input type=checkbox name='delete' value='ja' <?=$user['raderapm'] == 'ja'?"checked":""?>>Radera efter svar
	<input type=hidden name=origmsg value=<?=$replyto?>></td>
	<?php } ?>
	<td align=center><input type=checkbox name='save' value='ja' <?=$user['sparapm'] == 'ja'?"checked":""?>>Spara kopia i utkorgen</td></tr>
	<tr><td<?=$replyto?" colspan=2":""?> align=center><input type=submit value="Skicka!"></td></tr>
	</table>
	<input type=hidden name=receiver value=<?=$receiver?>>
	</form>

 	</div></td></tr></table>
```

```php
<?php
               																							//////  PM  ///
  	$receiver = $_POST["receiver"];
	$origmsg = $_POST["origmsg"];
	$save = $_POST["save"];
 	$returnto = $_POST["returnto"];

	  if (!isset($receiver) || ($origmsg && !isset($origmsg)))
	  	echo "Ogiltigt id.";

	  $msg = trim($_POST["msg"]);
	  if (!$msg)
	    echo "Du måste skriva något!";

	  $location = ($save == 'ja') ? "both" : "in";

	  $res = mysql_query("SELECT UNIX_TIMESTAMP(senastinloggad) as la FROM members WHERE id=$receiver") or die(mysql_error());
	  $user = mysql_fetch_assoc($res);
	  if (!$user)
	    echo "Finns ingen medlem med detta ID.";

	  
	  mysql_query("INSERT INTO meddelanden (poster, sender, receiver, added, msg, location) VALUES('" . $_SESSION["sess_id"] . "', '" .
	  $_SESSION["sess_id"] . "', '$receiver', NOW(), '" .
	  db_escape($msg) . "', '" . db_escape($location) . "')") or die(mysql_error());

	  $delete = $_POST["delete"];

	  if ($origmsg)
	  {
      if ($delete == "ja")
      {
	      // Make sure receiver of $origmsg is current user
	      $res = mysql_query("SELECT * FROM meddelanden WHERE id=$origmsg") or die(mysql_error());
	      if (mysql_num_rows($res) == 1)
	      {
	        $arr = mysql_fetch_assoc($res);
	        if ($arr["receiver"] != $_SESSION["sess_id"])
	          echo "Ojdå, detta skulle inte hända.";
	        if ($arr["location"] == "in")
	        	mysql_query("DELETE FROM meddelanden WHERE id=$origmsg AND location = 'in'") or die(mysql_error());
	        elseif ($arr["location"] == "both")
	        	mysql_query("UPDATE meddelanden SET location = 'out' WHERE id=$origmsg AND location = 'both'") or die(mysql_error());
	      }
      }
   	  if (!$returnto)
   	  	$returnto = "?page=inkorg";
	  }

    if ($returnto)
    {
      header("Location: $returnto");
      die;
    }

	  stdmsg("Succeeded", (($n_pms > 1) ? "$n messages out of $n_pms were" : "Message was").
	    " successfully sent!" . ($l ? " $l profile comment" . (($l>1) ? "s were" : " was") . " updated!" : ""));

	exit;
?>
```

Någon som kan hjälpa mig med detta?  :r

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

## #2 — metalboy, 2007-11-12T01:24Z

Vad är problemet då?

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

## #3 — Guldstrand, 2007-11-12T01:29Z

headern fungerar inte, sidan bara "stoppas" i det sista kodstycket ovan.

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

## #4 — metalboy, 2007-11-12T01:34Z

Har du aktiverat visning av felmeddelanden? På vilken rad "stoppas" scriptet? Vad använder du för webbläsare? Enligt reglerna ska en redirect-header anges med fullständig URL (dvs t.ex. http://www.dinsida.com/sökväg/till/scriptet.php?page=inkorg), och även om de flesta webbläsare accepterar en sådan redirect-header som du skickar (?page=inkorg) så är det ingen garanti för att alla gör det.

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

## #5 — Guldstrand, 2007-11-12T01:48Z

> **metalboy skrev:**
>
> Har du aktiverat visning av felmeddelanden? På vilken rad "stoppas" scriptet? Vad använder du för webbläsare? Enligt reglerna ska en redirect-header anges med fullständig URL (dvs t.ex. http://www.dinsida.com/sökväg/till/scriptet.php?page=inkorg), och även om de flesta webbläsare accepterar en sådan redirect-header som du skickar (?page=inkorg) så är det ingen garanti för att alla gör det.

Ja, felmeddelanden är "aktiverat".
Vet ej var scriptet stoppar.   :r 

Använder IE7 som webbläsare.

Testade även att ange hela länken i headern, men det hjälpte inte.   :(

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

## #6 — metalboy, 2007-11-12T01:51Z

Lägg in lite echo-satser då för att se var scriptet stoppar.

Hur hänger de två kodstyckena ihop? Ligger de i samma fil, eller i två olika filer? Om de ligger i samma fil, vilket kommer först? Är det där all kod du visar?

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

## #7 — Guldstrand, 2007-11-12T01:55Z

> **metalboy skrev:**
>
> Lägg in lite echo-satser då för att se var scriptet stoppar.
> 
> Hur hänger de två kodstyckena ihop? Ligger de i samma fil, eller i två olika filer? Om de ligger i samma fil, vilket kommer först? Är det där all kod du visar?

Hur menar du med echo-satser?   :x   :r 
Nej, det är två olika sidor.

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

## #8 — metalboy, 2007-11-12T01:58Z

```php
echo "Detta är en echo-sats";
```

Lägg in lite vanlig, hederlig felsökning helt enkelt.

T.ex.

```php
echo 'Innan if-sats 1';
if ($a == 1) {
   echo 'Inne i if-sats 1';
   // Gör någonting här...
}
echo 'Efter if-sats 1';
```

Då ser du ju var scriptet stannar någonstans...

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

## #9 — Guldstrand, 2007-11-12T02:02Z

Sorry, men jag förstår fortfarande inte.

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

## #10 — fiddler, 2007-11-12T07:40Z

Kommer skriptet någonsin förbi detta?

```php
if ($replyto && !isset($replyto)) 
      die;
```

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

## #11 — Guldstrand, 2007-11-12T09:15Z

> **fiddler skrev:**
>
> Kommer skriptet någonsin förbi detta?
>
> ```php
> if ($replyto && !isset($replyto)) 
>       die;
> ```

Bra fråga, hur kollar jag det?   :p   :r

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

## #12 — @nders, 2007-11-12T09:23Z

> **Guldstrand skrev:**
>
> Bra fråga, hur kollar jag det?   :p   :r

<http://www.webforum.nu/showthread.php?p=1368702#post1368702>

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

## #13 — fiddler, 2007-11-12T11:02Z

Lägg till lämpligt meddelande efter dina "die" ex:

```php
die("Dog vid receiver");
```

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

## #14 — Guldstrand, 2007-11-12T11:07Z

> **fiddler skrev:**
>
> Lägg till lämpligt meddelande efter dina "die" ex:
>
> ```php
> die("Dog vid receiver");
> ```

Hjälpte tyvärr inte så mycket. Är det sista kodstycket ovan som stoppar upp det hela. headern verkar gå till en sida som inte finns (fast att den finns)?   :q

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

## #15 — fiddler, 2007-11-12T11:16Z

Vad får du för innehåll i $returnto isåfall?

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

## #16 — Guldstrand, 2007-11-12T11:19Z

> **fiddler skrev:**
>
> Vad får du för innehåll i $returnto isåfall?

Hur menar du då? :q

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

## #17 — fiddler, 2007-11-12T11:36Z

> **Guldstrand skrev:**
>
> Hur menar du då? :q

$returnto innehåller den adress du skall tillbaka till.

Var försöker skriptet skicka dig?

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

---

Tråden på webben: https://www.webforum.nu/amne/php/166311-problem-med-header
