Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Niklas Andersson
@AuroraBTH
@knasenn tror det är https://studentportal.bth.se/page/skapa-databaslosenord som gäller för studentserverns databas
knasenn
@knasenn
@AuroraBTH Ah! Det hade jag helt missat. Tack så mycket :)

Nu får jag fölljande felmeddelande om jag har "USE oophp" Längst upp i setup.php:

ERROR 1044 (42000) at line 11: Access denied for user 'aiur18'@'%' to database 'oophp'

Och följande omjag inte har "use oophp":

ERROR 1046 (3D000) at line 20: No database selected
Niklas Andersson
@AuroraBTH
Du har enbart en databas, så du får köra prefix på dina tabeller på studentservern (ex. oophp_user)
Körs din SQL via PHP eller att du kör en förbered SQL-fil?
knasenn
@knasenn

@AuroraBTH Hej, jag kör fil.
Jag är lite osäker på hur du menar :) Såhär ser min movie setup ut. Den verkade funka:

SET NAMES utf8;


--
-- Create table for my own movie database
--
DROP TABLE IF EXISTS `movie`;
CREATE TABLE `movie`
(
    `id` INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
    `title` VARCHAR(100) NOT NULL,
    `director` VARCHAR(100),
    `length` INT DEFAULT NULL,            -- Length in minutes
    `year` INT NOT NULL DEFAULT 1900,
    `plot` TEXT,                          -- Short intro to the movie
    `image` VARCHAR(100) DEFAULT NULL,    -- Link to an image
    `subtext` CHAR(3) DEFAULT NULL,       -- swe, fin, en, etc
    `speech` CHAR(3) DEFAULT NULL,        -- swe, fin, en, etc
    `quality` CHAR(3) DEFAULT NULL,
    `format` CHAR(3) DEFAULT NULL         -- mp4, divx, etc
) ENGINE INNODB CHARACTER SET utf8 COLLATE utf8_swedish_ci;

DELETE FROM `movie`;
INSERT INTO `movie` (`title`, `year`, `image`) VALUES
    ('Pulp fiction', 1994, 'img/pulp-fiction.jpg'),
    ('American Pie', 1999, 'img/american-pie.jpg'),
    ('Pokémon The Movie 2000', 1999, 'img/pokemon.jpg'),
    ('Kopps', 2003, 'img/kopps.jpg'),
    ('From Dusk Till Dawn', 1996, 'img/from-dusk-till-dawn.jpg')
;

SELECT * FROM `movie`;

Såhär ser filen ut som inte verkar fungera(at line 20: No database selected):

SET NAMES utf8;


--
-- Create table for Content
--
DROP TABLE IF EXISTS `content`;
CREATE TABLE `content`
(
  `id` INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
  `path` CHAR(120) UNIQUE,
  `slug` CHAR(120) UNIQUE,

  `title` VARCHAR(120),
  `data` TEXT,
  `type` CHAR(20),
  `filter` VARCHAR(80) DEFAULT NULL,

  -- MySQL version 5.6 and higher
  `published` DATETIME DEFAULT CURRENT_TIMESTAMP,
  `created` DATETIME DEFAULT CURRENT_TIMESTAMP,
  `updated` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,

  -- MySQL version 5.5 and lower
  -- `published` DATETIME DEFAULT NULL,
  -- `created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  -- `updated` DATETIME DEFAULT NULL, --  ON UPDATE CURRENT_TIMESTAMP,

  `deleted` DATETIME DEFAULT NULL
) ENGINE INNODB CHARACTER SET utf8 COLLATE utf8_swedish_ci;

INSERT INTO `content` (`path`, `slug`, `type`, `title`, `data`, `filter`) VALUES
    ("hem", null, "page", "Hem", "Detta är min hemsida. Den är skriven i [url=http://en.wikipedia.org/wiki/BBCode]bbcode[/url] vilket innebär att man kan formattera texten till [b]bold[/b] och [i]kursiv stil[/i] samt hantera länkar.\n\nDessutom finns ett filter 'nl2br' som lägger in <br>-element istället för \\n, det är smidigt, man kan skriva texten precis som man tänker sig att den skall visas, med radbrytningar.", "bbcode,nl2br"),
    ("om", null, "page", "Om", "Detta är en sida om mig och min webbplats. Den är skriven i [Markdown](http://en.wikipedia.org/wiki/Markdown). Markdown innebär att du får bra kontroll över innehållet i din sida, du kan formattera och sätta rubriker, men du behöver inte bry dig om HTML.\n\nRubrik nivå 2\n-------------\n\nDu skriver enkla styrtecken för att formattera texten som **fetstil** och *kursiv*. Det finns ett speciellt sätt att länka, skapa tabeller och så vidare.\n\n###Rubrik nivå 3\n\nNär man skriver i markdown så blir det läsbart även som textfil och det är lite av tanken med markdown.", "markdown"),
    ("blogpost-1", "valkommen-till-min-blogg", "post", "Välkommen till min blogg!", "Detta är en bloggpost.\n\nNär det finns länkar till andra webbplatser så kommer de länkarna att bli klickbara.\n\nhttp://dbwebb.se är ett exempel på en länk som blir klickbar.", "link,nl2br"),
    ("blogpost-2", "nu-har-sommaren-kommit", "post", "Nu har sommaren kommit", "Detta är en bloggpost som berättar att sommaren har kommit, ett budskap som kräver en bloggpost.", "nl2br"),
    ("blogpost-3", "nu-har-hosten-kommit", "post", "Nu har hösten kommit", "Detta är en bloggpost som berättar att sommaren har kommit, ett budskap som kräver en bloggpost", "nl2br");

SELECT `id`, `path`, `slug`, `type`, `title`, `created` FROM `content`;
Niklas Andersson
@AuroraBTH
Kan inte vara så att studentservern kanske kör 5.5? Testa att ändra så den använder den nedre delen
knasenn
@knasenn
@AuroraBTH ah juste. Jag testar :)
knasenn
@knasenn
Nu fungerar det. Jag behövde byta lösenord i databas modulen då jag hade fått ett nytt till studentservern(på canvas). Tackl för hjälpen :)
Niklas Andersson
@AuroraBTH
Bra att det löste sig :)
knasenn
@knasenn
@AuroraBTH :)
knasenn
@knasenn
@knasenn
Jag vet att det är en väldigt basic fråga men jag försöker slippa att skapa ett nytt (klass)objekt i varje route. Jag vill därför skapa ett klass-objekt utanför routrarna och kalla på den när jag behöver en funktion i klassen. Går det? Tänkter jag helt fel kanske? Jag har haft en lång break mellan kursmomenten och jag har för mig att det ska gå men som jag löst det nu så skapar jag ett nytt objekt i varje route.
knasenn
@knasenn

Hejhej,

Jag sitter med kmom10 och kikar på kraven. Lite osäker på hur jag ska tolka denna rad i krav tre:

När du skriver texten till sidorna så skriver du den i Markdown och använder en textfilter-klass för att formattera den.

Menar man att man ska skriva all text på hemsidan i markdown och fitrera den innan den läggs upp? Eller ska man filtrera allt "bröd"text(texten i tex ett blogginlägg) som "admin" skriver?

MartinLedel
@MartinLedel
Du ska kunna skriva med markdown syntaxet som då formateras om när du lägger upp blogg/page inlägg osv
Simon Beijer
@simonbeijer
Om jag skriver ett get formulär med href="delete?id=<?= $row->id ?>" ska jag då hämta ut det med $id = $this->app->session->get("id");??
får det bara att funka men $id = $_GET['id'];
knasenn
@knasenn
@MartinLedel Ah okej. Skönt :)
@simonbeijer Jag vet tyvärr inte. Jag har kört på getGET("id") funcktionen.
@simonbeijer Men varför kör du inte på $_GET['id']; om det funkar? :)
knasenn
@knasenn
@MartinLedel Föresten. Vet du om det räcker att köra filtret på "bröd texten"? DVS inte tex namn, eller pris osv?
MartinLedel
@MartinLedel
Körde det på allt, minns inte riktigt vad Mikael sa
knasenn
@knasenn
@MartinLedel Ok :) Tack
knasenn
@knasenn
@MartinLedel Sry kom på en till fråga gällande den frågan :P Visst ska man köra filtret när man visar datat? Själva lagringen i databasen sker i markdown?
knasenn
@knasenn
Visst ska man köra filtret när man visar datat? Själva lagringen i databasen sker i markdown? :))
MartinLedel
@MartinLedel
Är ju ett ganska öppet krav, valde att filtrera när texten ska visas
knasenn
@knasenn
@MartinLedel Ja okej :) då kör jag på samma :) tack
knasenn
@knasenn
Jag har hunnit glömt mycket vad gäller theme. Jag hittar ingen .less fil i exempel projektet. Eller hur ändrar jag temat och stylar?
knasenn
@knasenn
Sen undrar jag hur mycket av koden jag får ha kvar i mina routrar? Jag har skapat egna klasser och funktioner men långt ifrån all kod hamar i classen. Här är ett exempel:
/**
 * Show all cinema produkt GET?
 */
$app->router->get("cinema-produkt", function () use ($app) {
    $title = "Show all movies";
    $cinemaId = getGET("cinemaId");

    //CHecks if link is clicked
    if ($cinemaId != null) {
        $sql = "SELECT * FROM cinema WHERE id = ?;";
        $cinema = $app->db->executeFetch($sql, [$cinemaId]);

        //Markdown filter applied
        $filterMarkdown = new \Aiur\Cinema\MyTextFilter();
        $cinema->plot = $filterMarkdown->markdown($cinema->plot);

        $title = "Show movie";
        $data = [
            "cinema" => $cinema
        ];

        $app->page->add("cinema/produkt-show", $data);

        return $app->page->render([
            "title" => $title,
        ]);
    } else {
        $sql = "SELECT * FROM cinema;";
        $res = $app->db->executeFetchAll($sql);

        $data = [
            "resultset" => $res,
        ];

        $app->page->add("cinema/produkt", $data);

        return $app->page->render([
            "title" => $title,
        ]);
    }
});
Mikael Roos
@mosbth
Lusläs kravet och se vad det säger. Vill minnas att det beror på vilket kmom man är i och lite mer "du bör göra på ett sätt" än att "du måste göra på ett visst sätt".
knasenn
@knasenn

@mosbth Okej, jag har gjort snarlikt(som exemplet) i kmom04, 05, 06 och 10.
Jag har försökt lusläsa men tolkade det som "bör"-krav. Jag kanske får läsa det igen men minns du isf vilket kmom det är "ska"-krav? Skulle du rekommendera att jag gör lite refactoring för att klara av kmom10?

Hade jag gjort om dethär exemplet ovan så haade jag nog kör skapat en funktion i min klass för "mysql-koden" och hämtningen av datat.
Jag hade även gjort en funktion i min klass där jag sätter datat(istället för hur jag sätter värdet i variabeln $data och $title).
Finns det ngt mer jag kan göra i ovanstående exempel för att förbättra det?

Mikael Roos
@mosbth
I kmom04 finns krav om att flytta koden till kontroller, https://dbwebb.se/uppgift/uppdatera-100-spelet-med-intelligens-och-kontroller#kontroller, så är tanken. Koden du visar ovan är inte en kontroller-klass utan en routecallback, ungefär som vi gjorde i databas-kursen och i inledningen av oophp.
Tanken är alltså att promota controller-klasser, till förmån för routecallbacks. Det ger dig en annan kodstruktur.
Om jag minns rätt så var jag dock inte så hård i rättningen. Alla står på olika nivåer, vissa når längre än andra och jag vill minnas att jag tillät olika varianter.
Till nästa år kommer jag troligen vara lite hårdare.
Så, om du känner att du har ett sätt som fungerar, kör på det.
Minns att Mikael vill se controller, det ser ut som kraven i uppgifterna kräver det. Men troligen kan routecallbacks funka till viss del, även i kmom10, pga Mikael rättar lite tolerant.
knasenn
@knasenn
@mosbth Okej. Jag gjorde fram till kmom04 innan sommar(där jag tror jag även flyttade koden till en kontroller). Sen tog jag en lång paus innan jag fortsatte med kmom05-10 vilket förmodligen är orsaken att det blev som det blev :/ Så tyvärr har jag bara kört på routes i kmom05, 06 och 90% av kmom10. Men jag ska se över vad jag gjort. Tack så mycket för svar.
knasenn
@knasenn
@mosbth Jag tror jag lyckades flytta hela mitt projekt till en kontrolled-klass :) Vet inte varför jag kämpade med det så mycket tidigare.
knasenn
@knasenn
@mosbth Jag kontrollerade och jag hade tydligen flyttat koden till en kontroller i kmom04. Så tror jag allt ska va i sin ordning :)
knasenn
@knasenn
Hejhej, Jag sitter med kmom10. Jag har helatiden jobbat lokalt. Nu när jag ska ladda upp projektet så verkar det inte fungera alls som det ska.
Jag kommer till startsidan(index) men såfort jag försöker byta till tex blog står det att:
Anax 404: Not Found
The page you are looking for is not here.

Detailed message:

No route could be matched by the router.
Ngn som tros veta vart felet kan ligga?
Niklas Andersson
@AuroraBTH
@knasenn har du uppdaterat din .htaccess så den stämmer överens med ditt akronym?
knasenn
@knasenn
@AuroraBTH Okej. Jag hittade den och den verkar stämma men jag har samma i min redoivsa. Kan det vara så att det krockar?
Niklas Andersson
@AuroraBTH
@knasenn så den är uppdaterad så det inte står me/redovisa utan me/kmom10?
knasenn
@knasenn
@AuroraBTH Ah! nej sorry :) Jag testar . Tack! :)))
knasenn
@knasenn
@AuroraBTH Får fortfarande fel men nu hoppar den iaf inte till min redovisa som den gjorde tidigare :) Får gå igenom hur jag gjort på mina routes tror jag. Får nu:
Not Found
The requested URL /~akro/dbwebb-kurser/oophp/me/kmom10/proj/redovisa/htdocs/index.php/cinemaprodukt was not found on this server.
Niklas Andersson
@AuroraBTH
Ja, den redovisa som är kvar bör nog rimligen inte heller vara där
knasenn
@knasenn
@AuroraBTH Oj! Jag skrev det lite hastigt och behövde pysa iväg. Ja såsåklart :D jag testar igen :)
knasenn
@knasenn
@AuroraBTH Wow! Jag tror det fungerar! Tack så mycket! :)
Niklas Andersson
@AuroraBTH
Härligt :)
knasenn
@knasenn
Hejhej, jag letar runt lite i texten vad gäller redovisning för projektarbetet. Jag hittar ingen info vad gäller inspelning av video. Är det inte krav på en muntlig redovisning?
Mikael Roos
@mosbth
@knasenn ja, spela in video.
knasenn
@knasenn
@knasenn ok :)