Avatar billede husseintellawe Nybegynder
05. december 2010 - 22:20 Der er 5 kommentarer og
2 løsninger

Session_start()

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /Applications/MAMP/htdocs/decorva/butik/additem.php:2) in /additem.php on line 9



<?php

    session_start();
   
    if (isset($_SESSION['shoppingbasket'])) {
   
        $numofitems = 1;
        $totalamount = 0.00;
       
        for ($row  = 0; $row < count($_SESSION['shoppingbasket']); $row++) {
       
            $tmp = 0;
           
           
            for ($col = 0; $col < 5; $col++) {
   
                if ($col == 3) {
                    $numofitems += $_SESSION['shoppingbasket'][$row][$col];
                    $tmp = $_SESSION['shoppingbasket'][$row][$col];
                   
                } else if ($col == 4) {
                    $totalamount += ($_SESSION['shoppingbasket'][$row][$col] * $tmp);
                }
                       
            }
        }
           
        $_SESSION['numofitems'] = $numofitems;
        $_SESSION['totalamount'] = $totalamount;
       
        $billede=$_GET["billede"];
        $vare_id = $_GET["id"];
        $navn = $_GET["navn"];
        $antal = $_GET["antal"];
        $pris = $_GET["pris"];
   
       
        $vare_id_found = false;
        $vare_id_used = false;
       
       
        for ($row  = 0; $row < count($_SESSION['shoppingbasket']); $row++) {
       
            $tmp_numofitems = 0;
           
           
            for ($col = 0; $col < 4; $col++) {
       
                if ($col == 1) {
                    if ($vare_id == $_SESSION['shoppingbasket'][$row][$col]) {
                        $vare_id_found = true;
                    }
                } else if ($col == 3) {
                   
                    if ($vare_id_found) {
                        $_SESSION['shoppingbasket'][$row][$col] = $_SESSION['shoppingbasket'][$row][$col]  + ($antal);
                        $vare_id_used = true;       
                    }
                   
                    $tmp_numofitems = 0;
                }
                       
            }
           
            $vare_id_found = false;
        }
       
        if ($vare_id_used == false) {
            $_SESSION['shoppingbasket'][] = array($billede,$vare_id,$navn,$antal,$pris);
        }
       
        $vare_id_used = false;
    }

    echo $_SESSION['numofitems'];
?>

Hej alle sammen. Nogen der kan fortælle mig, hvorfor jeg får en den fejl.. Jeg har mac og bruger mamp + At når jeg kører den på skolen server hvor vi skal ligge opgaven ud. giver den ikke den fejl ? hvad kan det være ? har prøvet at lave en obstart. men det hjalp lige lidt. kan det være min php ini fil jeg skal ændre? hvis ja hvad skal jeg så ændre..

PÅ forhånd tak for hjælpen.
Avatar billede The_Buzz Novice
05. december 2010 - 22:26 #1
Har du et mellemrum eller noget før <?

Det er ligegyldigt hvad content der er sendt - selv et mellemrum eller enter er nok - så failer den

iflg additem.php:2 sendes det på linie 2 så vidt jeg kan se
Avatar billede husseintellawe Nybegynder
05. december 2010 - 22:33 #2
Tak for hurtig svar buzz :).. Det var fordi koden startede på linje 3 :)... det er en kikser.. men har bare set mig helt forkert på koden...

Men har lige et spørgsmål til.. Hvordan kan det være min computer viser mærkelig tegn på æ ø & å og så nogen andre tegn. Skriver self. koderne til æ ø & å. men der er andre tegn den ikke kan vise eller viser noget mærkelig ved ?
Avatar billede The_Buzz Novice
05. december 2010 - 22:44 #3
UTF-8 eller ISO-8859-1 fejl vil jeg tro?
Avatar billede husseintellawe Nybegynder
05. december 2010 - 22:48 #4
Skal jeg rette det i php ini filen eller på browseren?
Avatar billede majbom Novice
05. december 2010 - 23:17 #5
du skal sørge for at dine headers, doctypes og fil-encodings alle er samme charset (ISO-8859-1 eller UTF-8 f.eks.)
Avatar billede The_Buzz Novice
06. december 2010 - 10:15 #6
Da du programmerer i PHP kan du sætte ISO-8859-1 med følgende header i TOPPEN af dit script inden der er sendt andet data:

header ('Content-type: text/html; charset=ISO-8859-1');

Her er lige nogle andre headers der kan være brugbare:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT", true);
header("Last-Modified: " . gmdate("D, d M Y H:i:s", time()+12345) . " GMT", true);
header("Cache-Control: no-store, no-cache, must-revalidate", true);
header("Cache-Control: post-check=0, pre-check=0");
header("Pragma: no-cache", true);

I din HTML kilde skriver du følgende HELT oppe i <HEAD></head> blokken

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Avatar billede The_Buzz Novice
06. december 2010 - 10:17 #7
og desuden som splazz siger - skal filen så gennems i ASCII og ikke i UTF-8

Ellers skal det gøres omvendt.

header ('Content-type: text/html; charset=UTF-8');

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester