---
title: "Hjälp med webshop från internetworld"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/150002-hjälp-med-webshop-från-internetworld"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Guldstrand"
published: "2006-08-12T18:36:22.000Z"
updated: "2006-08-25T10:41:47.000Z"
replies: 8
views: 544
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/150002-hjälp-med-webshop-från-internetworld"
---

# Hjälp med webshop från internetworld

## #1 — Guldstrand, 2006-08-12T18:36Z

Well...
Har testat att använda webbshoppen som finns [här](http://internetworld.idg.se/webbstudio/pub/artikel.asp?id=214), men jag får den inte att fungera riktigt.  :( 
Det går inte att spara information från **lagg_till_produkt.php** i databasen. Får inga felmeddelanden när jag klickar på submit-knappen, utan jag blir bara förflyttad till själva inloggningen igen på samma sida.
Kanske det är mina "sessions" som strular!!?

Detta står överst på **lagg_till_produkt.php**:

```php
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/kunder/*****/*****/*****/ebutik/includes.class:97) in /home/kunder/*****/*****/*****/ebutik/lagg_till_produkt.php on line 22

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/kunder/*****/*****/*****/ebutik/includes.class:97) in /home/kunder/*****/*****/*****/ebutik/lagg_till_produkt.php on line 22
Shoppingbutiken\Lägg till produkt
```

Det är "session_start();" som strular på rad 22, men jag får bara ännu fler fel om jag flyttar "session_start();" överst i koden.

Ja.. även jag vet att det mesta i följande kod är sk. "fulkod", men detta kan man ordna vid ett senare tillfälle.  ;)

**Lägg till produkt:**

```php
<?php 
error_reporting(E_ALL);
include('includes.class');

?>

<?php if(empty($_POST['anv']))
      {
	      $anv = "";
	      $los = "";
	  }
      else
      {
	      $anv = $_POST['anv'];
	      $los = $_POST['los'];
      }
      
      if(empty($_SESSION['admin']))
      {
          $admin = new Administrator($anv, $los);
          $admin = serialize($admin);
          session_start();
          $_SESSION['admin'] = $admin;
           
      }
      else
      {
	      $admin = unserialize($_SESSION['admin']);
	      $admin->check_login();
      }
      
      ?>

<?php if(!empty($_POST['namn']) and !empty($_POST['pris']) and !empty($_POST['beskrivning']))
          new Produkt($_POST['namn'], $_POST['pris'], $_POST['beskrivning']);
          
          ?>
      
	
		<b>Shoppingbutiken\Lägg till produkt</b>
		<hr noshade size="1" color="#000000" width="100%">
		<a href="lagg_till_produkt.php">Lägga till produkt</a> |
		<a href="radera_produkt.php">Radera produkt</a> |
		<a href="bli_kund.php">Bli kund</a> |
		<a href="radera_kund.php">Radera kunduppgifter</a> |
		<a href="handla_produkter.php">Handla produkter</a>
		
		<p/>
		
		<form method="POST" action="lagg_till_produkt.php">
		
			<b>Produktnamn</b><br>
			<input type="text" size="30" name="namn"><p/>
			
			<b>Pris</b><br/>
			<input type="text" size="30" name="pris"><p/>
			
			<b>Beskrivning</b><br/>
			<textarea rows="12" cols="20" name="beskrivning" wordwrap="virtual"></textarea><p/>
			
			<input type="submit" value="Lägg till"><p/>
		
		</form>
```

Följande klass (från includes.class) används för att spara produkterna i databasen:

```php
<?php // Klassen Produkt lägger till produkter i registret
      
      class Produkt
      {
	      
	      var $namn;
	      var $pris;
	      var $beskrivning;
	      var $id;
	   
	      function Produkt($n, $p, $b) {
		      
		      $this->namn = $n;
		      $this->pris = $p;
		      $this->beskrivning = $b;
		      
		      $namn = $this->namn;
		      $pris = $this->pris;
		      $beskrivning = $this->beskrivning;
		       
	 	      $connection = mysql_connect("localhost", "användare", "lösenord") or die("Kunde inte skapa koppling!");
		      mysql_select_db("min-databas") or die("Kunde inte välja databas");
			  
			  $laggTill = "INSERT INTO shop_produkter (namn, pris, beskrivning) VALUES ('$namn', '$pris', '$beskrivning')";
			  mysql_query($laggTill) or die("Det gick inte att lägga till information!");
			  
			  mysql_close($connection);
			  
			  print("<i>Produkt tillagd i registret!</i><p/>");
		      
	      }
	               
      }
      
      ?>
```

Tacksam för hjälp med ovanstående.  :r

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

## #2 — bassebhu, 2006-08-12T21:23Z

session_start(); bör vara överst. vad får du för fel då?

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

## #3 — Guldstrand, 2006-08-12T22:25Z

> **bassebhu skrev:**
>
> session_start(); bör vara överst. vad får du för fel då?

Hmm..  det verkar fungera nu.
Jag flyttade session_start(); längst upp i koden som du sa. Tack!

Nu har jag ett litet problem till..

```php
Fatal error: Call to a member function on a non-object in /home/kunder/*****/*****/*****/ebutik/handla_produkter.php on line 74
```

Får detta när jag ska bekräfta min beställning.

**Rad 74:**

```php
<?php 
		 $kundvagn->visa_innehall();
		 ?>
```

Detta är funktionen/klassen:

```php
	      function visa_innehall() 
	      {
		      
		      print("<hr noshade size=1 color=#000000>");
		      print("<i>Du har just i din kundvagn...</i><p/>");
		      print("<table border=0 cellpadding=1 cellspacing=0>");
		      print("<tr>");
		      print("<td width=150><b>Vara</b></td>");
		      print("<td width=50><b>Á-pris</b></td>");
		      print("</tr>");
		      
		      $filnamn = session_id() . ".txt";
		      $summa = 0;
		      
		      if(file_exists($filnamn))
		      {
			      $file = fopen($filnamn, "r");
		          $data = fread($file, filesize($filnamn));
		      		      
		          $varor = explode("*", $data);
		          $langd = count($varor) - 1;
		          		      		      	      
		          for($i=0;$i<$langd;$i++)
		          {
			          $vara = explode(";", $varor[$i]);
			          $vlangd = count($vara);
			      
			          print("<tr>");
			      
			          print("<td>");
			          print(substr($vara[0], 5));
		              print("</td>");
			      
		              print("<td align=right>");
			          print(substr($vara[1], 5) . " kr");
		              print("</td>");
		          
		              $summa += substr($vara[1], 5);
		           
			          print("</tr>");
			      }
		      }
		 	      
		      print("</table>");
		      
		      print("<b>Summa:</b> " . $summa . " kr");
		      
		      print("<p/><form method=POST action=handla_produkter.php>");
		      print("<input type=hidden name=ga_till_kassan value=true>");
		      print("<input type=submit value='Gå till kassan'>");
		      print("</form>");	
		      
		      print("<p/><form method=POST action=handla_produkter.php>");
		      print("<input type=hidden name=tom_kundvagn value=true>");
		      print("<input type=submit value='Töm kundvagnen'>");
		      print("</form>");	      
		      
		  }
```

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

## #4 — The_Hulk, 2006-08-12T23:11Z

objektet $kundvagn är förmodligen inte initierat på just den sidan.
kan det vara så att $kundvagn är samma som $\_SESSION\['kundvagn'\] ?
Kolla så ditt webbhotell har register_globals = On i php.ini annars fungerar inte koden.
alternativt kan du ändra $kundvagn till $\_SESSION\['kundvagn'\].

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

## #5 — Guldstrand, 2006-08-13T00:05Z

> **The_Hulk skrev:**
>
> objektet $kundvagn är förmodligen inte initierat på just den sidan.
> kan det vara så att $kundvagn är samma som $\_SESSION\['kundvagn'\] ?
> Kolla så ditt webbhotell har register_globals = On i php.ini annars fungerar inte koden.
> alternativt kan du ändra $kundvagn till $\_SESSION\['kundvagn'\].

Såhär:

```php
$_SESSION['kundvagn']->visa_innehall();
```

..eller?   :r

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

## #6 — The_Hulk, 2006-08-13T07:38Z

mmm, har du testat det?

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

## #7 — Guldstrand, 2006-08-13T12:20Z

> **The_Hulk skrev:**
>
> mmm, har du testat det?

Ja, men jag får samma error meddelande.  :(

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

## #8 — streetrobban, 2006-08-25T09:12Z

Jag tycker det mesta verkar bugga, har försökt testa scriptet lite. Men man kan inte byta sida förän något fel dyker upp.

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

## #9 — The_Hulk, 2006-08-25T10:41Z

Har du testat att kontakta Internet World?

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

---

Tråden på webben: https://www.webforum.nu/amne/php/150002-hjälp-med-webshop-från-internetworld
