Avatar billede krydset Nybegynder
13. november 2003 - 23:51 Der er 41 kommentarer og
1 løsning

Slette en vare fra en indkøbs kurv

Gvordan gør jeg så der kun bliver slettet en vare fra min indkøbs kurv, og ikke dem alle. Det nederste jeg har skrevet her sletter alle vare.

Har lige lagt det meste af scriptet her, så i kan se det

Håber på hjælp!!

<?PHP
//KASSE
if(isset($_GET['vare_navn'])) {
$_SESSION['vare_test'][] = $_GET['vare_navn'];
$_SESSION['vare_pris'][] = $_GET['vare_pris'];

}

function kasse() {
    if(is_array($_SESSION['vare_pris'])) {
    echo "<fieldset id='opret_bruger'>";
    echo "<legend>DINE VARER</legend>";
   
        foreach($_SESSION['vare_pris'] as $val2) {}
        foreach($_SESSION['vare_test'] as $val)

        {
           
            echo "<tr>$val</td><br />";
            echo "<td>$val2,-</td><br />";
            echo "<br />";
            echo "<br />";
           
        }
        echo "</fieldset>";
}
}

if($_GET['function'] == "kasse") {
    kasse();
}

?>




<?PHP
//INDSÆT VARE
function indset_vare() {
   
    if(isset($_GET['vare_pris'])) {
        $_SESSION['vare'][] = $_GET['vare_pris'];
            }
    }
if($_GET['vare_pris']) {
    indset_vare();
}
?>


   

<!--KURV-->
<fieldset id="kurv">
    <legend>INDKØBSKURV</legend>
    <DIV>
    <?PHP
    $moms = 0.25;
    if(is_array($_SESSION['vare'])) {

    foreach($_SESSION['vare'] as $val) {
// Hvis $val er prisen så:
    $pristotal=$pristotal+$val;   
   
 
    }
    }

  echo "<font color='red'>Total pris: " . $pristotal*1.25 ."<br><br><br><br>\n</font>";
  echo "<a href='?function=kasse'>Gå Til Kasse</a>";

?>

<?PHP
//fjern fra kurv
function slet_fra_kurv() {
    session_unset($_GET['vare_navn']);
}
if($_GET['function'] == "slet") {
    slet_fra_kurv();
}

?>
Avatar billede erikjacobsen Ekspert
14. november 2003 - 06:36 #1
http://dk2.php.net/session_unset : "session_unset --  Free all session variables"

Det kunne vel sagtens være derfor, ikke ;)

unset($_SESSION($_GET['varenavn']));
Avatar billede erikjacobsen Ekspert
14. november 2003 - 06:37 #2
Glemte at skrive: manualen er din ven.
Avatar billede krydset Nybegynder
14. november 2003 - 08:51 #3
Jeps har kigget lidt i den nu, og æavet det med session_unregister så, men den sletter det ikke når jeg trykker på slet linket
Avatar billede krydset Nybegynder
14. november 2003 - 08:51 #4
<?PHP
if(isset($_GET['vare_navn'])) {
$_SESSION['vare_test'][] = $_GET['vare_navn'];
$_SESSION['vare_pris'][] = $_GET['vare_pris'];

}

function kasse() {
    if(is_array($_SESSION['vare_pris'])) {
    echo "<fieldset id='opret_bruger'>";
    echo "<legend>DINE VARER</legend>";
   
        foreach($_SESSION['vare_pris'] as $val2) {}
        foreach($_SESSION['vare_test'] as $val)

        {
            foreach ($_SESSION['vare_test'] as $slet2) {
            echo "<tr>$val</td><br />";
            echo "<td>$val2,-</td><br />";
            echo "<br><a href='index.php?function=slet&$slet2'>Slet</a>";
            echo "<br />";
            echo "<br />";
           
           
        }
        }
        echo "</fieldset>";
}
}

if($_GET['function'] == "kasse") {
    kasse();
}

?>

<?PHP
//fjern fra kurv
function slet_fra_kurv() {
    foreach ($_SESSION['vare_test'] as $slet) {
       
    session_unregister($_post['slet2']);
}
if($_GET['function'] == "slet") {
    slet_fra_kurv();
}
}
?>
Avatar billede erikjacobsen Ekspert
14. november 2003 - 09:09 #5
Hvad er det lige du prøver på i function slet_fra_kurv()  ??
Avatar billede krydset Nybegynder
14. november 2003 - 09:14 #6
At få slettet en vare som spm nu lyder på :-O
Avatar billede krydset Nybegynder
14. november 2003 - 09:17 #7
er jeg helt forkert på den da ??
Avatar billede erikjacobsen Ekspert
14. november 2003 - 09:31 #8
Ja, det kan jeg jo godt læse mig til. Det er mere ideen i den funktion.
Hvorfor gennemløbe sessions på den måde, hvorfor $_post og ikke $_POST,
og hvorfor session_unregister?

Kan du ikke forklare hvad du egentlig vil have gjort?
Avatar billede krydset Nybegynder
14. november 2003 - 09:35 #9
Jo når der bliver trykket på det her link
echo "<br><a href='index.php?function=slet&$slet2'>Slet</a>";
som bliver udskrevet sammen med hver vare, så skal den ene vare slettes fra kurven.

du bedte mig om at læse i maualen, og der kom jeg frem til session_unregister, kan du ikke være flink at give lidt hjælp til det her ??
Avatar billede krydset Nybegynder
14. november 2003 - 09:35 #10
Jeg er lidt lost med de her sessions
Avatar billede erikjacobsen Ekspert
14. november 2003 - 09:38 #11
Jo, jeg har jo også kommet med en løsning tidligere - derfor undrer jeg mig.

Lad os starte langsomt. Hvilken vare skal slettes, og hvordan opdager man
det. Du startede med noget der slettede alt, men dog havde noget om at den
pågældende vare stod i "vare_navn" - det gør den tilsyneladende ikke mere??
Avatar billede krydset Nybegynder
14. november 2003 - 09:42 #12
hvor er den løsning ?
Avatar billede erikjacobsen Ekspert
14. november 2003 - 09:44 #13
14/11-2003 06:36:53
Avatar billede krydset Nybegynder
14. november 2003 - 09:49 #14
Jamen jeg ved ikke om jeg skal bruge session_unset eller session_unregister, nu har du gjorst mig forvirret, men det er måske osse meningen
Avatar billede krydset Nybegynder
14. november 2003 - 10:00 #15
Det jeg har her nu, sletter det hele, hvordan kommer jeg videre??


<?PHP
//KASSE
if(isset($_GET['vare_navn'])) {
$_SESSION['vare_test'][] = $_GET['vare_navn'];
$_SESSION['vare_pris'][] = $_GET['vare_pris'];

}

function kasse() {
    if(is_array($_SESSION['vare_pris'])) {
    echo "<fieldset id='opret_bruger'>";
    echo "<legend>DINE VARER</legend>";
   
        foreach($_SESSION['vare_pris'] as $val2) {}
        foreach($_SESSION['vare_test'] as $val)

        {
           
            echo "<tr>$val</td><br />";
            echo "<td>$val2,-</td><br />";
            echo "<a href='index.php?function=slet&$val'>Slet</a>";
            echo "<br />";
            echo "<br />";
           
           
        }
        echo "</fieldset>";
}
}

if($_GET['function'] == "kasse") {
    kasse();
}

?>

<?PHP
//fjern fra kurv
function slet_fra_kurv() {
    session_unset($_GET['vare_test']);
}
if($_GET['function'] == "slet") {
    slet_fra_kurv();
}

?>
Avatar billede erikjacobsen Ekspert
14. november 2003 - 10:02 #16
Nej - men jeg kan kunne komme med forslag til en løsning, og ikke en endelig
løsning, når du ikke kan fortælle mig hvad du gør.

Nu har jeg fx ikke sagt noget om at du skal bruge hverken session_unset
eller session_unregister.
Avatar billede erikjacobsen Ekspert
14. november 2003 - 10:02 #17
http://dk2.php.net/session_unset : "session_unset --  Free all session variables"

Den sletter alle varialer. Ok? Den skal du altså ikke bruge. Kan vi være
enige så langt?
Avatar billede krydset Nybegynder
14. november 2003 - 10:04 #18
ja så langt er nu. Og det er osse det den gør sletter alt.
og session_unregister virker heller ik.

men hvilken en så??
Avatar billede erikjacobsen Ekspert
14. november 2003 - 10:05 #19
jeg synes jeg har skrevet: unset
Avatar billede krydset Nybegynder
14. november 2003 - 10:12 #20
Damn, derfor jeg blev fovirret, den lignede min egen. sorry
whatever den gi´r en parse error
unset($_SESSION($_GET['vare_test']));
Parse error: parse error, expecting `','' or `')'' in /home/administrator/www/index.php on line 186
Avatar billede krydset Nybegynder
14. november 2003 - 10:16 #21
Kan ikke se hvad det er den mangler
Avatar billede krydset Nybegynder
14. november 2003 - 10:28 #22
uhuh
Avatar billede krydset Nybegynder
14. november 2003 - 10:45 #23
Har du ikke mere på hånden ??
Avatar billede erikjacobsen Ekspert
14. november 2003 - 10:47 #24
Ja, du må selv rette små syntaksfejl *G*

unset($_SESSION[$_GET['vare_test']]);

Har du en variabel der hedder vare_test ?
Avatar billede krydset Nybegynder
14. november 2003 - 10:53 #25
Ja den står oppe i scriptet
$_SESSION['vare_test'][] = $_GET['vare_navn'];

du ved måske ikke fejlen
Avatar billede krydset Nybegynder
14. november 2003 - 11:02 #26
come on give me a hint :-O
Avatar billede erikjacobsen Ekspert
14. november 2003 - 11:02 #27
Har jeg ikke rettet fejlen?

Det jeg mener er at denne linie
echo "<br><a href='index.php?function=slet&$slet2'>Slet</a>";
ikke sådan synderligt meget tyder på du har en vare_navn, eller vare_test,
eller hvad den nu hedder. Du har vist et problem der, men hvad er det du
vil?
Avatar billede krydset Nybegynder
14. november 2003 - 11:15 #28
Ahh lad nu værd med at sprørge hele tide hvad jeg vil, bare for jeg er noob endnu, jeg syns ikke det er rimeligt at du giver mig en kode jeg skal bruge, og når jeg så bruger den så er der parse error, så må du da osse løse det, det ville jeg da syntes er rimeligt..

Og har osse prøvet det her men stadig parse error

echo "<a href='index.php?vare_test=$val'><strong>SLET</strong></a><br />";
Avatar billede krydset Nybegynder
14. november 2003 - 11:16 #29
og
echo "<a href='index.php?vare_navn=$val'><strong>SLET</strong></a><br />";
Avatar billede krydset Nybegynder
14. november 2003 - 11:17 #30
men så snart jeg udkommentere den her linie er der ingen fejl mere

unset($_SESSION($_GET['vare_test']));

ergo er det i den linie fejlen er og hvad fejlen er ved jeg ikke
Avatar billede erikjacobsen Ekspert
14. november 2003 - 11:20 #31
Jamen, har jeg ikke løst det? Nedenstående linie giver i hvert fald ingen
syntaksfejl i sig selv, men mangler måske - hvad ved jeg - en oplysning
om hvad der skal ske med den pågældende vare:

echo "<a href='index.php?vare_navn=$val'><strong>SLET</strong></a><br />";
Avatar billede krydset Nybegynder
14. november 2003 - 11:25 #32
det har jeg skrevet 3-4 gange den skal slettes fra varekurven.

og nej det er ikke løst endnu
Avatar billede krydset Nybegynder
14. november 2003 - 11:27 #33
ellers må du skrive et bud på hvad du ville gøre, evt et eks på noget hvor den ikke giver syntaks fejl
Avatar billede erikjacobsen Ekspert
14. november 2003 - 11:32 #34
Jamen, har jeg ikke løst det? 14/11-2003 10:47:03 ?
Avatar billede krydset Nybegynder
14. november 2003 - 11:48 #35
nej, uddyb det lidt mere :-O
Avatar billede krydset Nybegynder
14. november 2003 - 11:51 #36
fortæl hvad slet linket skal være og hvad unset linien skal hedde så har du løst det
Avatar billede erikjacobsen Ekspert
14. november 2003 - 12:29 #37
Det kan jeg ikke bare lige gøre. Det er trods alt dit problem. Jeg forsøger
bare at påpege de ting der går galt. Jeg kan se nu at du indsætter i din
$_SESSION uden at bruge varenavnet som nøgle - det er vel fair nok, men
så kan du ikke bare slette det som om det var en nøgle. Hvilken af løsningerne
vil du have. Ja, undskyld jeg spørger igen: hvordan vil du have det til
at fungere?
Avatar billede krydset Nybegynder
14. november 2003 - 12:36 #38
Til at når jeg trykker på slet linket som bliver udskrevet med hver vare, skal den enkelse vare som der står der blive slettet
Avatar billede erikjacobsen Ekspert
14. november 2003 - 12:45 #39
Jo, jeg forstår det er en indkøbskurv. Hvordan vil du have dine data
opbevaret i dine sessionvariabler?
Avatar billede krydset Nybegynder
14. november 2003 - 12:46 #40
ville det ikke være lettere hvis man skrev det om så den brugte en db istedet, er som sagt ikke så meget inde de her sessions ???
Avatar billede krydset Nybegynder
14. november 2003 - 12:48 #41
tror det bvar en for stor mundfuld jeg tog her :-O
Avatar billede krydset Nybegynder
14. november 2003 - 13:34 #42
lukker :-O
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

IT-JOB

BEC Financial Technologies

Senior Platform/System Engineer

Politiets Efterretningstjeneste

Data Engineer til at udvikle PET's dataplatform

Forsknings-, Uddannelses- og Digitaliseringsministeriet

Vil du spille en central rolle som systemforvalter i et samfundskritisk it-system?

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre