---
title: "olika else beroende på session"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/188608-olika-else-beroende-på-session"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "spc"
published: "2011-12-18T18:51:50.000Z"
updated: "2011-12-20T15:24:31.000Z"
replies: 4
views: 791
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/188608-olika-else-beroende-på-session"
---

# olika else beroende på session

## #1 — spc, 2011-12-18T18:51Z

hejsan som tråden lyder så söker jag ett script som kan ha olika session.

ex
if session sess_id, if session post_block 1
else
msg 1 
msg 2

istället för :
if session sess_id
else
msg 1 

if session post_block 1
else
msg 2

detta script funkar inte, bara som exempel:

```php
if(!$_SESSION['sess_id']) if(!$_SESSION['post_lock'])
{
msg1 'Du måste vara inloggad för att kunna svara';
msg2 'Denna tråd e låst';
msg3 'Skriv dininlägg';
}
else
{
echo '<table>
<tr>
<td> msg </td>
</table>';
```

men så ni förstår hur jag menar....

som jag skrev i ett annat inlägg:
det är inte till det jag ska använda det...
session id ska jag ha så att dom som inte är användare ska se " Du måste vara innloggad för att skriva ", är man inloggad så ska den visa ett formulär.
Och if ($posts_row\['post_block'\] == 1) om jag låst en tråd så ska den visa " Tråden e låst "

Och dölja session id.

Så här ser koden ut nu ( Lite för mycket kod tycker jag) :

```php
if(!$_SESSION['sess_id'])
			{
				echo '</ol></td>
							</tr>
						</table>
						<br><div class="home-header">
							<div class="heading ico-groups" style="width: 850px; height:25px">Skriv ditt meddelande och klicka på skicka</div>
						</div>
						<table border="0" cellspacing="0" cellpadding="3" class="tableCurves" width="100%">
							<tr>
								<td>Du måste vara <a a class="example5" href="login.php">inloggad</a> för att kunna svara.</td>
							</tr>
						</table>
				</div>';
			}
			else
			{
				//show reply box
				echo '</ol></td>
							</tr>
						</table>
						<br>
                		<div class="home-header">
							<div class="heading ico-groups" style="width: 850px; height:25px">Skriv ditt meddelande och klicka på skicka</div>
						</div>
						<table border="0" cellspacing="0" cellpadding="3" class="tableCurves" width="100%">
							<tr>
								<td><form method="post" action="reply.php?id=' . $row['topic_id'] . '">
						<textarea name="reply-content" rows="13" cols="100"></textarea></textarea><br />
						<a class="example5" href="bbcode.htm">BBCode:</a> på
						<br /><br />
						<input type="submit" value="Skicka svar" />
					</form></div></td>
							</tr>
						</table>
				</div>';
```

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

## #2 — nitro2k01, 2011-12-18T20:00Z

Du letar nog efter switch/case.

```php
switch($variabel){
case "värde1":
    // kod om variabeln består av strängen "värde1"
    break;
case "värde2":
    // kod om variabeln består av strängen "värde2"
    break;
default:
    // Kod som körs om inget annat matchar
    break;
}
```

Du måste ha med break för att avsluta varje fall, annars fortsätter koden vidare till nästa fall. (Detta kan vara användbart i vissa situationer, men du bara medveten om det.)

Du kan självklart även ha siffror istället för strängar om det passar.

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

## #3 — spc, 2011-12-18T20:09Z

oki...

Då ska jag bara försöka få ihop det...eller om du eller någon kan hjälpa mig...

dom 2 som jag vill ha med är:

if(!$\_SESSION\['sess_id'\])

om inloggad ska denna synas:

```php
<form method="post" action="reply.php?id=' . $row['topic_id'] . '">
<textarea name="reply-content" rows="13" cols="100">
</textarea></textarea><br />
<a class="example5" href="bbcode.htm">BBCode:</a> på
<br /><br />
<input type="submit" value="Skicka svar" />
</form>
```

om inte inloggad:
Du måste vara \<a a class="example5" href="login.php"\>inloggad\</a\> för att kunna svara.

if ($posts_row\['post_block'\] == 1)
Även  om man e inloggad eller inte så ska denna synas:
Denna tråd är låst\<br\>Det går ej att skriva inlägg på denna tråd..

sen ska den synas i denna:

```php
</ol></td>
</tr>
</table>
<br><div class="home-header">
<div class="heading ico-groups" style="width: 850px; height:25px">Skriv ditt meddelande och klicka på skicka</div>
</div>
<table border="0" cellspacing="0" cellpadding="3" class="tableCurves" width="100%">
<tr>
<td>

Här ska allt synas beroende på vilken session eller post_block

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

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

## #4 — J.N., 2011-12-20T10:39Z

```php
switch($_SESSION['sess_id']{
case "värde1":
    echo '<form method="post" action="reply.php?id=' . $row['topic_id'] . '">
    <textarea name="reply-content" rows="13" cols="100">
    </textarea></textarea><br />
    <a class="example5" href="bbcode.htm">BBCode:</a> på
    <br /><br />
    <input type="submit" value="Skicka svar" />
    </form>';
    break;
case "värde2":
    echo 'Denna tråd är låst<br>Det går ej att skriva inlägg på denna tråd.';
    break;
default:
    echo '</ol></td>
    </tr>
    </table>
    <br><div class="home-header">
    <div class="heading ico-groups" style="width: 850px; height:25px">Skriv ditt meddelande och klicka på skicka</div>
    </div>
    <table border="0" cellspacing="0" cellpadding="3" class="tableCurves" width="100%">
    <tr>
    <td>
    Här ska allt synas beroende på vilken session eller post_block
    </td>
    </tr></table>
    </div>';
    break;
}
```

Så, någonting. Men, om jag tolkar din kod rätt nu, är det inte samma variabel du vill kolla? Du har både SESSION\['sess_id'\] och posts_row\['post_block'\] och sedan default? Switch måste kolla samma, annars måste du göra olika case, och då är det kanske enklare med if?

Vill du inte göra såhär?

```php
if(!$_SESSION['sess_id']){
  echo. '<form method="post" action="reply.php?id=' . $row['topic_id'] . '">
    <textarea name="reply-content" rows="13" cols="100">
    </textarea></textarea><br />
    <a class="example5" href="bbcode.htm">BBCode:</a> på
    <br /><br />
    <input type="submit" value="Skicka svar" />
    </form> '
}
else{
    echo 'Du måste vara <a class="example5" href="login.php">inloggad</a> för att kunna svara.';
}
```

Sedan förstår jag inte din sista if-sats, ska den alltid synas, är det bara att lägga in det? Annars är det ju endast att tänka ut i vilket fall den ska synas, eller inte, och skapa det.  :i

(OBS! Kan inte php direkt, så är helt säkert fel någonstans!)

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

## #5 — spc, 2011-12-20T15:24Z

hejsan...

hadde lagt själv posts_row lite fel i koden, så den skrev ut NULL...
Nu ser den ut så här och funkar klockrent....

```php
if ($posts_row['post_block'] == 1) {
				echo '</ol></td>
							</tr>
						</table>
						<br><div class="home-header">
							<div class="heading ico-groups" style="width: 850px; height:25px">Skriv ditt meddelande och klicka på skicka</div>
						</div>
						<table border="0" cellspacing="0" cellpadding="3" class="tableCurves" width="100%">
							<tr>
								<td>Detta ämnet är stängt. Du kan inte skicka svar.</td>
							</tr>
						</table>
				</div>';
				} else {
				if (isset($_SESSION['sess_id'])) {
				echo '</ol></td>
							</tr>
						</table>
						<br>
                		<div class="home-header">
							<div class="heading ico-groups" style="width: 850px; height:25px">Skriv ditt meddelande och klicka på skicka</div>
						</div>
						<table border="0" cellspacing="0" cellpadding="3" class="tableCurves" width="100%">
							<tr>
								<td><form method="post" action="reply.php?id=' . $row['topic_id'] . '">
						<textarea name="reply-content" rows="13" cols="100"></textarea></textarea><br />
						<a class="example5" href="bbcode.htm">BBCode:</a> på
						<br /><br />
						<input type="submit" value="Skicka svar" />
					</form></div></td>
							</tr>
						</table>
				</div>';
				} else {
				echo '</ol></td>
							</tr>
						</table>
						<br><div class="home-header">
							<div class="heading ico-groups" style="width: 850px; height:25px">Skriv ditt meddelande och klicka på skicka</div>
						</div>
						<table border="0" cellspacing="0" cellpadding="3" class="tableCurves" width="100%">
							<tr>
								<td>Du måste vara swedish power club medlem för att kunna svara.</td>
							</tr>
						</table>
				</div>';
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/188608-olika-else-beroende-på-session
