---
title: "Om $sid tom = sätt den till 6"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/180847-om-sid-tom-sätt-den-till-6"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "SoulGod"
published: "2009-10-20T11:55:16.000Z"
updated: "2009-10-20T12:19:43.000Z"
replies: 5
views: 385
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/180847-om-sid-tom-sätt-den-till-6"
---

# Om $sid tom = sätt den till 6

## #1 — SoulGod, 2009-10-20T11:55Z

Jag har en funktion för att visa submenyer på min hemsida,
som ser ut såhär:
function visaSub($sid) {
	$query_menu = "SELECT \* FROM submenu WHERE sid=$sid";
	$rows = mysql_query($query_menu);
	while ($row = mysql_fetch_array($rows)) {
		$menu_name = $row\["namn"\];
		printf("- \<a href='$row\[lank\]&id=$sid'\>$menu_name\</a\>\<br\>");
	} 
}

Dock när man går in på sidan första gången, så är $sid inte satt.
Kan jag fördefiniera det, så att om $sid inte är satt ( sid alltså är tom ),
så sätts den automatiskt till 6?

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

## #2 — SPiN, 2009-10-20T11:59Z

```php
function visaSub($sid = 6) {
    ...
```

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

## #3 — SoulGod, 2009-10-20T12:13Z

Tror inte jag förstår dig, eller så missförstod du mig.
När användaren kommer in på sidan, så är ju länken <http://www.doman.se/index.php> ,
och då felar min function, eftersom $sid inte är satt till något.

Så jag "tror" att det jag söker är något typ..
if $sid = '' Then $sid = '6' ..

Eller så är jag helt korkad och inte förstår vad du menade.. :P

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

## #4 — nidron, 2009-10-20T12:15Z

isset($\_GET\['sid'\]) kanske du är ute efter? :)

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

## #5 — SoulGod, 2009-10-20T12:19Z

Där satt den ;)
Lösningen blev:
if (!isSet($\_GET\['sid'\]) \|\| $\_GET\['sid'\] == '') { $\_GET\['sid'\] = '6'; }

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

## #6 — SPiN, 2009-10-20T12:19Z

Vad är $sid? Var kommer den ifrån? Du vill ändå köra funktionen 'visaSub()', fast med värdet 6 på argumentet $sid? Har du testat mitt förslag? Det kallas för "default parameter", när man sätter värdet på variablerna i argumentlistan. På så sätt har du alltid ett värde på $sid, även om funktionen anropas utan parameter.

Alternativ lösning, om jag antar att du får $sid från addressfältet:

```
$sid = 6;
if (isset ($_GET['sid']) && intval ($_GET['sid']) > 0) {
    $sid = intval ($_GET['sid']);
}
visaSub ($sid);
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/180847-om-sid-tom-sätt-den-till-6
