Avatar billede nalu Nybegynder
30. januar 2008 - 17:09 Der er 6 kommentarer og
1 løsning

Findes sessionen?

Hejsa, jeg har den her kode hvor jeg går ind og tjekker om en session med et specifikt ID eksistere, hvor hvis det gør, så skal den overskrive den gamle, og ellers oprette en ny, men af en eller anden grund går den ind og overskriver den gamle session lige meget hvad ID'et er!

Her er koden:

<?

if(isset($_GET['id']) && is_numeric($_GET['id'])){
    $id = intval($_GET['id']);

    $sel = mysql_query("SELECT * FROM testprodukter WHERE id='$id' LIMIT 1") or die(mysql_error());
    if(mysql_num_rows($sel) == 1){
        $row = mysql_fetch_array($sel);
   
        If($_SESSION['kurv']) {
   
            $SessionExist = False;
            $SessionCount = 0;
   
            foreach($_SESSION['kurv'] as $value) {
   
                If ($value[0] = $_GET['id']) {
   
                    $SessionExist = True;
                    $SessionAntal = $value[1];
                    $SessionOrder = $SessionCount;
   
                }
               
                $SessionCount += 1;
   
            }
   
            If ($SessionExist = True) {

                $AntalIalt = $_REQUEST['antal'] + $SessionAntal;
               
                $Ialtpris = $row['pris'] * $AntalIalt;
   
                $_SESSION['kurv'][$SessionOrder] = Array($_GET['id'], $AntalIalt, $Ialtpris);
   
            } Else {
           
            $Ialtpris = $row['pris'] * $_REQUEST['antal'];
           
            $_SESSION['kurv'][] = Array($_GET['id'], $_REQUEST['antal'], $Ialtpris);
           
            }
   
        } Else {
       
            $Ialtpris = $row['pris'] * $_REQUEST['antal'];

            $_SESSION['kurv'][] = Array($_GET['id'], $_REQUEST['antal'], $Ialtpris);
       
        }
           
        header("location:index.php?side=produkter&id=$id");
       
        exit();
    }
}

header("location:error.php?msg=Not_Found");
exit();

?>

- Help please? :o
Avatar billede erikjacobsen Ekspert
30. januar 2008 - 17:24 #1
Du skal nok tage et kik mere på linien:

    If ($SessionExist = True) {
Avatar billede nalu Nybegynder
30. januar 2008 - 17:41 #2
Arghh bøv mand :D - nå, men tak for hjælpen!

Hvordan kan det egentlig være den ik melder fejl?
Avatar billede jensgram Nybegynder
30. januar 2008 - 17:54 #3
Fordi det strengt taget ikke er ugyldig syntaks (og parseren kan trods alt ikke validere din intention :) x = y er blot et assigment, hvilket kan evalueres til et boolsk udtryk.
Avatar billede erikjacobsen Ekspert
30. januar 2008 - 18:14 #4
Og svaret, for dem der måtte læse med, er selvfølgelig:

  If ($SessionExist == True) {

eller bare

  If ($SessionExist) {

(og jeg samler slet ikke på point, tak.)
Avatar billede nalu Nybegynder
01. februar 2008 - 00:21 #5
Okay takker :) - jensgram, opretter du et svar så du kan få pointene?
Avatar billede jensgram Nybegynder
01. februar 2008 - 12:05 #6
Nej, det gør du selv :) Erik svarede, men tager ikke point, så dem må du selv beholde.
Avatar billede nalu Nybegynder
04. februar 2008 - 14:47 #7
Okay :)
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