function nyAdmin($brukernavn, $passord1, $passord2, $rotpassord) { if ($rotpassord != "superhemmeligHBHLpassord") { return "<p class=\"feilmelding\">Feil rotpassord.</p>"; } if (!preg_match("/^[a-zæøå]{2,45}\$/i", $brukernavn)) { return "<p class=\"feilmelding\">Brukernavn kan kun inneholde bokstaver. Minst to og maks 45.</p>"; } if ($passord1 != $passord2) { return "<p class=\"feilmelding\">Passordene er ikke like.</p>"; } if (strlen($passord1) < 6) { return "<p class=\"feilmelding\">Passordet må være på minst 6 tegn.</p>"; } $db = new sql(); $brukernavn = renStreng($brukernavn, $db); $passord1 = renStreng($passord1, $db); $resultat = $db->query("SELECT * FROM webprosjekt_admin WHERE Brukernavn='{$brukernavn}'"); if (!$resultat) { return "<p class=\"feilmelding\">En databasefeil oppsto ved oppretting av ny admin. (NYA01)</p>"; } if ($db->affected_rows == 1) { return "<p class=\"feilmelding\">En administrator med dette brukernavnet finnes fra før.</p>"; } $dbPassord = cryptPass($passord1, $brukernavn); $resultat = $db->query("INSERT INTO webprosjekt_admin (Brukernavn,Passord) VALUES('{$brukernavn}','{$dbPassord}')"); if (!$resultat || $db->affected_rows < 1) { return "<p class=\"feilmelding\">En databasefeil oppsto ved oppretting av ny admin. (NYA02)</p>"; } return "<p class=\"okmelding\">Administratorbrukeren ble opprettet.</p><p>Brukernavn: {$brukernavn}<br>Passord: <a onClick=\"alert('{$passord1}')\">********</a> (klikk på stjernene for å se passordet)</p>"; }
function __construct($OrdreNr, $KNr = false) { if (!$KNr) { $db = new sql(); $OrdreNr = renStreng($OrdreNr, $db); $resultat = $db->query("SELECT * FROM webprosjekt_ordre INNER JOIN (SELECT KNr, Fornavn, Etternavn FROM webprosjekt_kunde) AS kunde ON webprosjekt_ordre.KNr=kunde.KNr WHERE OrdreNr = '{$OrdreNr}';"); $rader = $db->affected_rows; $db->close(); if ($rader == 0) { die("Feil - finner ikke ordre i databasen (002)"); } $resultat = $resultat->fetch_assoc(); $this->OrdreNr = $resultat['OrdreNr']; $this->KNr = $resultat['KNr']; $this->kundenavn = $resultat['Fornavn'] . " " . $resultat['Etternavn']; $this->OrdreDato = $resultat['OrdreDato']; $this->ordrelinjer = $this->setOrdrelinjerFraDb(); $this->fraktsum = $resultat['Frakt']; } else { $db = new sql(); $this->KNr = renStreng($KNr, $db); $db->close(); $fraktsum = 0; } }
function leggTilVare($vnr, $antall) { $handlekurv = $this->handlekurv; $varenavn = $this->varenavn; $varepris = $this->varepris; $db = new sql(); $vnr = renStreng($vnr, $db); $antall = renStreng($antall, $db); $resultat = $db->query("SELECT Varenavn,Pris FROM webprosjekt_vare WHERE VNr='{$vnr}'"); $resultat = $resultat->fetch_assoc(); $rows = $db->affected_rows; $db->close(); if ($rows < 1) { return "<p class=\"feilmelding\">Fant ingen vare med varenummer {$vnr}.</p>"; } if ($antall < 1) { return "<p class=\"advarselmelding\">Antall må være minst en.</p>"; } $handlekurv[$vnr] += $antall; $varenavn[$vnr] = $resultat['Varenavn']; $varepris[$vnr] = $resultat['Pris']; $this->handlekurv = $handlekurv; $this->varenavn = $varenavn; $this->varepris = $varepris; $this->oppdater(); return "<p class=\"okmelding\">{$antall} stk. " . $resultat['Varenavn'] . " ble lagt i handlekurven.</p>"; }
function __construct($fornavn, $etternavn, $adresse, $postnr, $telefonnr, $epost) { $db = new sql(); $error['fornavn'] = $this->setFornavn(renStreng($fornavn, $db)); $error['etternavn'] = $this->setEtternavn(renStreng($etternavn, $db)); $error['adresse'] = $this->setAdresse(renStreng($adresse, $db)); $error['postnr'] = $this->setPostnr(renStreng($postnr, $db), $db); $error['telefonnr'] = $this->setTelefonnr(renStreng($telefonnr, $db)); $error['epost'] = $this->setEpost(renStreng($epost, $db), $db); $db->close(); $this->feilmeldinger = $error; }
function nyKategori($katnavn) { $db = new sql(); $katnavn = renStreng($katnavn, $db); if (!preg_match("/^[a-zæøå0-9 .,:;\\-\\_\\+\\(\\)\\/\\&\\\\ ]{2,30}\$/i", $katnavn)) { return "<p class=\"feilmelding\">Kategorinavn kan kun inneholde bokstaver, tall, mellomrom, og (.,:;-+/\\&), og må være mellom 2-30 tegn.</p>"; } $this->katnavn = $katnavn; $resultat = $db->query("INSERT INTO webprosjekt_kategori (Navn) VALUES('{$katnavn}')"); if (!$resultat) { return "<p class=\"feilmelding\">Databasefeil ved oppretting av ny kategori (H03).</p>"; } if ($db->affected_rows < 1) { return "<p class=\"feilmelding\">Databasefeil ved oppretting av ny kategori (H04).</p>"; } $db->close(); return "<p class=\"okmelding\">Kategorien {$katnavn} er nå opprettet.</p>"; }
function leggTilVare($varenavn, $pris, $beskrivelse, $bilde, $katNr, $antall) { $db = new sql(); $error['varenavn'] = $this->setVarenavn(renStreng($varenavn, $db)); $error['pris'] = $this->setPris(renStreng($pris, $db)); $error['beskrivelse'] = $this->setBeskrivelse(renStreng(nl2br($beskrivelse), $db, "<br>")); $error['bilde'] = $this->setBilde(renStreng($bilde, $db)); $error['katnr'] = $this->setKatNr(renStreng($katNr, $db)); $error['antall'] = $this->setAntall(renStreng($antall, $db)); $db->close(); return $error; }
function endrePassord($gammelt, $nytt1, $nytt2) { $db = new sql(); $gammelt = renStreng($gammelt, $db); $nytt1 = renStreng($nytt1, $db); $nytt2 = renStreng($nytt2, $db); $db->close(); $gammelt = cryptPass($gammelt, $this->KNr . $this->epost); if ($gammelt != $this->passord) { return "<p class=\"feilmelding\">Feil nåværende passord.</p>"; } if ($nytt1 != $nytt2) { return "<p class=\"feilmelding\">Passordene du skrev var ikke like.</p>"; } if (strlen($nytt1) < 6) { return "<p class=\"feilmelding\">Passordet må være minst 6 tegn.</p>"; } $nytt = cryptPass($nytt1, $this->KNr . $this->epost); if ($gammelt == $nytt) { return "<p class=\"okmelding\">Passordet har blitt endret.</p>"; } $db = new sql(); $KNr = $this->KNr; $resultat = $db->query("UPDATE webprosjekt_kunde SET Passord='{$nytt}' WHERE KNr='{$KNr}'"); $errno = $db->errno; $rows = $db->affected_rows; $db->close(); if ($errno == 0 && $rows == 1) { $this->passord = $nytt; $_SESSION['kunde'] = serialize($this); return "<p class=\"okmelding\">Passordet har blitt endret.</p>"; } if ($errno == 0 && $rows == 0) { return "<p class=\"feilmelding\">Vi beklager! En ukjent feil har oppstått ved endring av passord. (EP01)</p>"; } if ($errno != 0) { return "<p class=\"feilmelding\">Vi beklager! En feil har oppstått ved endring av passord. (EP02)</p>"; } return "<p class=\"feilmelding\">Vi beklager! En ukjent feil har oppstått ved endring av passord. (EP03)</p>"; }
function glemtPassord($epost, $postnr) { if ($epost == "" || $postnr == "") { return "<p class=\"feilmelding\">Fyll ut begge felt.</p>"; } else { $db = new sql(); $epost = renStreng($epost, $db); $postnr = renStreng($postnr, $db); $resultat = $db->query("SELECT KNr FROM webprosjekt_kunde WHERE Epost = '{$epost}' AND Postnr = '{$postnr}';"); if (!$resultat) { return "<p class=\"feilmelding\">Feil - Kunne ikke koble til databasen (011)"; } if ($db->affected_rows == 0) { return "<p class=\"feilmelding\">Feil kombinasjon av epost og postnummer.</p>"; } else { $resultat = $resultat->fetch_assoc(); $KNr = $resultat['KNr']; $passord = genPassord(); $dbPassord = cryptPass($passord, $KNr . $epost); $resultat = $db->query("UPDATE webprosjekt_kunde SET Passord='{$dbPassord}' WHERE KNr='{$KNr}'"); if ($db->affected_rows == 0) { return "<p class=\"feilmelding\">Ukjent databasefeil (012)</p>"; } $db->close(); $emne = "Nytt passord i Nettbutikken"; $tekst = "Hei\r\n\r\n" . "Du har nå blitt tildelt nytt passord i nettbutikken.\r\n\r\n" . "Her er din innloggingsinformasjon:\r\n" . "Brukernavn: {$epost} \r\n" . "Passord: {$passord} \r\n\r\n" . "For å logge inn, gå til http://nettbutikk.henrikh.net/ \r\n" . "Du kan selvsagt bytte passord når du har logget inn.\r\n\r\n" . "Hilsen,\r\nHiranBårdHenrikLars."; $hode = 'From: nettbutikk@henrikh.net' . "\r\n" . 'Reply-To: nettbutikk@henrikh.net' . "\r\n" . 'Content-type: text/plain; charset=iso-8859-1' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); $resultat = @mail($epost, $emne, $tekst, $hode); if ($resultat) { return "<p class=\"okmelding\">Du har nå fått tilsendt et nytt passord på e-post til {$epost}.</p>" . "<p>Du kan nå <a href=\"index.php?side=logginn\">logge inn</a>.</p>"; } else { return "<p class=\"okmelding\">Du har nå fått generert et nytt passord.<br>" . "Passord: {$passord} </p>" . "<p>Du kan nå <a href=\"index.php?side=logginn\">logge inn</a>.</p>"; } } } }