---
title: "Klämma in ett värde... vill inte"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/50201-klämma-in-ett-värde-vill-inte"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Webslave"
published: "2002-08-13T12:34:38.000Z"
updated: "2002-08-13T17:16:04.000Z"
replies: 15
views: 272
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/50201-klämma-in-ett-värde-vill-inte"
---

# Klämma in ett värde... vill inte

## #1 — Webslave, 2002-08-13T12:34Z

Yo!
Jag försöker med ett inloggningsfunktion som hämtar användarID från en tabell med hjälp av användarnamn och lösenord... men när jag ska lägga in användarID:et i en session så vill det inte... allt annat fungerar utom just det...

```php
<?php
session_start();

//ett par funktioner

function KollaInloggning(){
global $username,$password;
$connect = mysql_connect("localhost", "root","");
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysql_db_query("community","$sql");
	if(!($rad=mysql_fetch_array($result))){
		echo "Fel uppgifter!<br>";
	session_unset();
	session_destroy();
	       }
	       else{
          $userID=$rad["userID"];
          echo "Välkommen $username<br>Ditt användar ID är: $userID<br>";
          session_register(username);
          session_register(password);
          session_register(userID);
}
mysql_close($connect);
}
```

Detta vill inte alls... några bra idéer?

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

## #2 — SPiN, 2002-08-13T12:36Z

```
session_register(username);
session_register(password);
session_register(userID);
```

\-\>

```
session_register("username");
session_register("password");
session_register("userID");
```

Kan hjälpa.

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

## #3 — Webslave, 2002-08-13T13:40Z

Nope... det ville inte... användarnamnet får jag fram men inte användraID... \*suck\* Jag gillar inte att vara "nybörjare"

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

## #4 — SPiN, 2002-08-13T14:03Z

Skrivs inte $userID ut, innan du sätter sessionerna? Då är fältet i databasen tomt - skulle jag gissa på. Eller så kanske inte ditt fält heter userID?

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

## #5 — Webslave, 2002-08-13T14:30Z

Jag har kollat upp det och raden i tabellen heter "userID" och har ett värde... men den vill ju inte hämta något ur $rad\["userID"\]... den är tom... är det något i koden som är fel... eller? Btw, userID är int, om det spelar någon roll...

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

## #6 — SPiN, 2002-08-13T14:38Z

Hm, det verkar som att du bara vill plocka ut userID från databasen? Testa att göra så här:

Byt ut:

```
$sql = "SELECT userID FROM users WHERE username='$username' AND password='$password'";

$result = mysql_db_query("community","$sql");

if(!($rad=mysql_fetch_array($result))){
           echo "Fel uppgifter!<br>";

           session_unset();
           session_destroy();
    }
else{
          $userID=$rad["userID"];
          echo "Välkommen $username<br>Ditt användar ID är: $userID<br>";
```

Mot:

```
$sql = "SELECT userID FROM users WHERE username='$username' AND password='$password'";
$result = mysql_db_query( "community", $sql )
     or die( mysql_error() );

$row = mysql_fetch_array( $result );

if( !$row ) {
           echo "Fel uppgifter!<br>";

           session_unset();
           session_destroy();
}
else {
           $userID=$row["userID"];
           echo "Välkommen $username<br>Ditt användar ID är: $userID<br>";
...
```

Det borde ju inte göra någon skillnad, men man kan ju alltid testa. :)

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

## #7 — Webslave, 2002-08-13T15:13Z

Tackar... nu får jag fram userID men den vill inte in i sessionen... jag har en annan sida som jag ska ta med sessions_variablarna till och det är bara användarnamnet och lösenordet som följer med... jag får inte fram något... ska jag lägga upp all kod?

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

## #8 — SPiN, 2002-08-13T15:53Z

Du har stavat rätt och allt?

```
session_register( "userID" );
```

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

## #9 — Webslave, 2002-08-13T16:02Z

Har inget mellanslag i session_register("userID");... men det borde väll inte spela någon roll... eller? Jag tror jag tar och postar koden så kan du skumma igenom den... ska försöka klippa ner den  så det inte blir så jädrans mycket :)

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

## #10 — Webslave, 2002-08-13T16:07Z

```php
<?
session_register("username");
session_register("password");
session_register("userID");

function NyPost(){
  global $post_titel,$post_text,$posterID;
  $post_datum = date("Y-m-d H:i:s");
  $connect = mysql_connect("localhost", "root","");
  $sql = "INSERT INTO posts(post_titel,post_text,posterID,post_datum) VALUES('$post_titel','$post_text','$posterID','$post_datum')";
  $result = mysql_db_query("community","$sql");
  mysql_close($connect);
  echo "Tack för ditt inlägg<br>";
}

function NyttSvar(){
  global $svar_text,$svararID,$postsvarID;
  $svar_datum= date("Y-m-d H:i:s");
  $connect = mysql_connect("localhost", "root","");
  $sql = "INSERT INTO svar(svar_text,svararID,postsvarID,svar_datum) VALUES('$svar_text','$svararID','$postsvarID','$svar_datum')";
  $result = mysql_db_query("community","$sql");

  $svar_datum= date("Y-m-d H:i:s");
  $sql = "UPDATE posts SET senaste_svar='$svar_datum',antal_svar=antal_svar+1 WHERE postID='$postsvarID'";
  $result = mysql_db_query("community","$sql");
  mysql_close($connect);
  echo "Tack för ditt svar<br>";
}

function PostForm(){
  global $userID,$username;
?>
<form method="post" action="post.php" name="NyPostForm">
<table>
<tr>
<td align="right">Titel:</td><td><input type="text" name="post_titel"></td>
</tr>
<tr>
<td valign="top" align="right">Text:</td><td><textarea name="post_text"></textarea></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Posta" name="Skicka"><input type="hidden" value="<?=$userID?>" name="posterID"></td>
</tr>
</table>
Ditt användarnamn är: <?=$username?><br>
ditt användarID är: <?=$userID?>
</form>
<?
}

function SvarForm(){
  global $userID,$postID;
?>
<form method="post" action="post.php" name="NySvarForm">
<table>
<tr>
<td valign="top" align="right">Text:</td><td><textarea name="svar_text"></textarea></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Svara" name="Skicka"><input type="hidden" value="<?=$userID?>" name="svararID"><input type="hidden" value="<?=$postID?>" name="postsvarID"></td>
</tr>
</table>
</form>
<?
}

function VisaPost(){
  global $visaID;
  $connect = mysql_connect("localhost", "root","");
   if(!empty($visaID)){
  $sql = "SELECT * FROM posts INNER JOIN users ON posts.posterID=users.userID WHERE postID='$visaID'";
  $result = mysql_db_query("community","$sql");
  $rad=mysql_fetch_array($result);
  echo $rad["post_titel"]."<br>";
  echo $rad["post_text"]."<br>";
  echo "Postad av: ".$rad["username"]."<br>";
  echo $rad["antal_svar"]." svar<br>";
  echo "<a href=\"?action=svara&postID=".$rad["postID"]."\">Svara</a><p>";
 }
 else{
  $sql = "SELECT * FROM posts ORDER BY post_datum DESC";
  $result = mysql_db_query("community","$sql");
  while($rad=mysql_fetch_array($result)){
    echo "<a href=\"?action=visapost&visaID=".$rad["postID"]."\">".$rad["post_titel"]."</a>";
    echo " <b>".$rad["antal_svar"]."</b> svar på inlägget<br>";
    echo " Inlägget skapades ".$rad["post_datum"].". ";
    if(!($rad["antal_svar"])){
      echo "<i>Inga svar ännu</i><p>";
    }
    else{
      echo "Senaste svar: ".$rad["senaste_svar"]."<p>";
    }
  }
  }  
  mysql_close($connect);
   
}

function Meny(){
  global $userID;
  ?>
  <a href="?action=posta">Skriv ett inlägg</a><br>
  <a href="?action=visapost">Se inlägg</a><br>
  <a href="index.php">Startsidan</a><br>
  <?=$userID?>
  <?
}

if($action=='posta'){
  PostForm();
}
if($action=='svara'){
  SvarForm();
}
if($action=='visapost'){
  VisaPost();
}
if(isset($Skicka)){
  if($Skicka=='Posta'){
    NyPost();
  }
  if($Skicka=='Svara'){
    NyttSvar();
  }
}

Meny();
  ?>
```

Vad är det som INTE är fel på denna kod? :D

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

## #11 — SPiN, 2002-08-13T16:16Z

Jag orkar inte läsa igenom allt, men din top skulle jag ändra till det här:

```
<?php
session_start();
```

Alltså strunta i session_register(), och istället sätta session_start(). När du sedan anropa dina sessions-variabler, gör det med den globala associativa arrayen $\_SESSION.

```
echo "Användare: " . $_SESSION[ 'username ' ];
```

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

## #12 — Webslave, 2002-08-13T16:21Z

Hum... ska vi se om jag har förstått detta rätt... jag ska alltså helt och hållet ta bort session_register() men hur får jag då in variablarna i sessionen? Eller ska jag bara ta bort session_register() på andra sidan?

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

## #13 — SPiN, 2002-08-13T16:23Z

Du ska bara använda session_register() när du registrerar variabler som sessioner, dvs. vid inloggningen. Vad jag uppfattade, så var inte det på den sidan du postade? :)

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

## #14 — Webslave, 2002-08-13T16:44Z

Helt korrekt att det inte var samma sida.

Men nu så har jag skrivit om över allt och där jag hämtar $\_session\['username'\] så är den tom... vet inte vad som har hänt... man kan ju inte behöva göra en sessionsvariabel global... hum... kan det vara något med inställningarna i php.ini?

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

## #15 — SPiN, 2002-08-13T16:53Z

Nej, ingenting med PHP.ini. Däremot kanske du har en äldre version av PHP, då hämtar du med $HTTP_SESSION_VARS\[ 'username' \].

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

## #16 — Webslave, 2002-08-13T17:16Z

Gah!... det vill inte alls... skumt. Jag håller på att bli knäpp... jädrans sessionshelsicke!!!!!!!!! :P

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

---

Tråden på webben: https://www.webforum.nu/amne/php/50201-klämma-in-ett-värde-vill-inte
