session_start(); bör vara överst. vad får du för fel då?
Well...
Har testat att använda webbshoppen som finns här, 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:
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
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 // 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.

