Tuota noin! mitenkäs onnistuisi vaikka if lauseella tarkistaminen onko keksi olemassa?
$HTTP_COOKIE_VARS tällä eikös se onnistu mutta en tiedä miten laitan tuohon if lauseeseen sen "jos siellä on jotain" kohdan. vaikea selittää mutta kertokaa jokuvaihtoehto. kiitos suuresti..
Itse tapaan tarkistaa, onko muuttuja erisuuri kuin tyhjä merkkijono (kun kyseessä on evästeet).
Mutta PHP:ssä on myös oma funktio: isset(muuttuja) on tosi, jos muuttujalle on annettu arvo.
onkos keksiin mahdollista laittaa lukua? koska olen tekemässä todella yksinkertaista verkkokauppa sivua. ja ajattelin että yhdessä keksissä kulkisi luku joka aina kun laittaa esim. näitä paitoja haluan 2 kappaletta niin se luku aina lisääntyy yhdellä. vai mitenkä voisin välttää sen että jos joku tilaa esim. ensiksi paitaa 1 s-kokoisia 3 kappaletta ja sen jälkeen paitaa 1 m-kokoisia 1 kappaleen. niin senhän on lisättävä tämän tilauksen tiedot erinimiseen keksiin muuten se laittaa ne tuon ensimmäisen tilauksen päälle. joten aattelin että jos siellä yhdessä keksissä juoksisi luku ja jonka laittaisi sen lisäämään aina sen keksin nimen alkuun. vai kannattaako ylipäätänsä tämmöisessä verkkokaupassa tilauksien tiedot lisätä kekseihin vai onko parempaa vaihtoehtoa tälle?
tulipas taas selitettyä todella sekavasti mutta toivottavasti ymmärsitte.
No empähän saanut nyt selostuksestasi mitään selvää. Mutta ensinnäkin itse käyttäisin sessioita eli istuntoja enkä keksejä (tosin sessio-id usein lähetetään keksinä). Pieni esimerkkikoodi:
<?php // Tehdään nyt taulukko jossa on tuotteet. // Oikeasti kannattaisi sijoittaa nämä tiedostoon, // jolloin ylläpito helppottuisi. $tavarat[] = array("t-paita, S", 10); $tavarat[] = array("t-paita, M", 10); $tavarat[] = array("t-paita, L", 10); $tavarat[] = array("akkurotta", 1337); $tavarat[] = array("purskepallopää, vihreä", 707); $tavarat[] = array("purskepallopää, sininen", 707); $tavarat[] = array("ovimarsu", 2003); // aloitetaan istunto session_start(); ?> <HTML> <BODY> <?php if ($_GET['do'] == 'tyhjenna') { // jos saadaan sopiva komento, tyhjennetään kori session_unset(); echo "<P>Kori tyhjennetty</P>"; } elseif ($_GET['do'] == 'lisaa') { // koriin voidaan lisätä $_SESSION['kori'][$_GET['id']]++; } elseif ($_GET['do'] == 'vahenna') { // korista voidaan ottaa pois if ($_SESSION['kori'][$_GET['id']] > 0)$_SESSION['kori'][$_GET['id']]--; } // "tyhjennysnappi" echo "<P><A HREF=\"" . $_SERVER['PHP_SELF'] . "?do=tyhjenna\">Tyhjennä ostoskori</A></P>"; $summa = 0; // HTML-tauhkaa echo "<TABLE BORDER=\"1\">\n"; echo "<TR><TD>id</TD><TD>nimi</TD><TD>à</TD><TD>maara</TD>"; echo "<TD>yht</TD><TD COLSPAN=\"2\"> </TD></TR>"; // käydään kaikki tavarat läpi ja näytetään ne // ihan normaalia PHP/HTML-tauhkaa foreach ($tavarat as $avain => $sisalto) { echo "<tr>"; echo "<td>$avain</td>"; echo "<td>" . $sisalto[0] . "</td>"; echo "<td>" . $sisalto[1] . " €</td>"; echo "<td>" . $_SESSION['kori'][$avain] . "</td>"; echo "<td>" . ($_SESSION['kori'][$avain] * $sisalto[1]) . " €</td>"; echo "<td><A HREF=\"" . $_SERVER['PHP_SELF'] . "?do=lisaa&id=$avain\">+</A></td>"; echo "<td><A HREF=\"" . $_SERVER['PHP_SELF'] . "?do=vahenna&id=$avain\">-</A></td>"; // Lasketaan yhteissummaa $summa += ($_SESSION['kori'][$avain] * $sisalto[1]); } echo "<TR><TD></TD><TD>Yhteensä:</TD><TD></TD><TD></TD>"; echo "<TD>$summa €</TD><TD COLSPAN=\"2\"><TD></TR>"; echo "</TABLE>\n"; ?> </BODY> </HTML>
Istunnoista ja kekseistä lisää:
https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=phpj7
edit: koodia korjailin. Koodia voi kokeilla osoitteessa: http://dsword.se8.org/grafcnt/kauppa.php/
edit2: kirjoitusvirheitä korjailin. Tuli oikeastaan keskikokoinen esimerkkikoodi :)
edit3: Yhteensä-rivi lisätty
edit4: Ai niin! Keksiin on mahdollista laittaa luku.
WAU! kiitos suuresti! en edes odottanut saavani näin paljon apua mutta tuostahan on apua todella paljon!! kiitos suuresti!
lainaus:
mitenkäs onnistuisi vaikka if lauseella tarkistaminen onko keksi olemassa?
$HTTP_COOKIE_VARS tällä eikös se onnistu mutta en tiedä miten laitan tuohon if lauseeseen sen "jos siellä on jotain" kohdan. vaikea selittää mutta kertokaa jokuvaihtoehto.
FAQ:ssa on tietoa evästeistä jonkin verran: https://www.ohjelmointiputka.net/faq.php?sivu=3
Ja evästeen olemassaolon voi tarkistaa näin:
Aihe on jo aika vanha, joten et voi enää vastata siihen.