Nyhetsflöde
Logga in till din kurswebb
Du är inte inloggad på KTH så innehållet är inte anpassat efter dina val.
Har du frågor om kursen?
Om du är registrerad på en aktuell kursomgång, se kursrummet i Canvas. Du hittar rätt kursrum under "Kurser" i personliga menyn.
Är du inte registrerad, se Kurs-PM för ID1354 eller kontakta din studentexpedition, studievägledare, eller utbilningskansli.
I Nyhetsflödet hittar du uppdateringar på sidor, schema och inlägg från lärare (när de även behöver nå tidigare registrerade studenter).
Jag har inte sett 6:e upplagan så jag kan inte svara på det.
Kommer anteckningarna till föreläsningar 10, 11, 13 och 14 att publiceras?
Föreläsning 10 har inga egna anteckningar, den ägnades åt det som var kvar från föreläsning 7-9. Anteckningarna från föreläsning 11, 13 och 14 kommer publiceras, förmodligen imorgon (6/10).
Angående closures står det såhär i föreläsningen om Javascript:
"Those variables, like self, will have the value they had when the outer function created the nested function."
Stämmer det verkligen? Variabeln kommer väl ha det värdet den hade efter att yttre funktionen har kört klart. Variabeln kan t om ändras utifrån om den går att komma åt och inre funktionen skulle fortfarande få det nya värdet.
Demo
http://jsfiddle.net/e18xmsy2/
Stämmer bra, det är i PHP det fungerar som jag skrev i JavaScript-föreläsningen. Bra att du upptäckte det.
Hej, undrar om man kan se några gamla tentor? eller det bara jag som inte hittar några?
mvh
Nej, det finns inga gamla tentor. Istället finns en fil på sidan Written Exam, som innehåller möjliga tentafrågor.
Hej, missade föreläsning 14 och undrar ifall du kommer lägga upp något material från den. Exempelprogram eller liknande?
Det var inget nytt material på föreläsning 14, vi gjorde klart det som står under föreläsning 13.
Ska projekten lösas individuellt eller kan man arbeta i grupper och sedan skriva individuella rapporter?
Skriv gärna programmen i grupp, det är bara rapporten som ska vara individuell.
Skrivs rapporten på svenska?
Det går bra.
Hej, såg att du ändrat i uppgift 4 och undrar om den nuvarande versionen av uppgiften är den slutgiltiga?
Nu blir det inga fler ändringar
Det var otydligt om avsnittet File System Security ingår i uppgifterna till seminarie fyra. Det ingår, jag har förtydligat det nu.
seminarium 4, sida 4, antar jag att det ska stå "... but the report must show where HTTPS should be used", och inte HTTP?
Stämmer bra, jag har ändrat det. Tack för att du sa till.
Hej, en kort fråga.
Det står i assignment 4 på reduced mandatory task: It is sufficient to fetch one single value, for example the username of the logged in user, and show it in the browser.
Jag löser detta genom att använda funktionen "load" för att loada data från en php fil till en div i html dokumentet.
I php filen står det typ:
if (isset(användare)) {
echo "du är inloggad som " . användare;
else {
echo "du är inte inloggad";
}
Funkar detta som en lösning? Jag blir lite osäker för jag hämtar massa data från php filen men om du mer ville att man ska hämta en variabel och sen använda den.
Du ska hämta en variabel från servern, inte delar av vyn. I ditt exempel kan du alltså hämta användarnamnet och sedan visa det i vyn. Om användaren inte är inloggad kan användarnamnet vara tex null, och då kan texten "du är inte inloggad" visas. Det är alltså viktigt att endast värden på variabler hämtas, inte text som "du är inloggad som" eller "du är inte inloggad". Anledningen är att servern inte ska uppdatera browserns vy, det ska bara göras i JavaScript.
Går det bra att använda kod skriven för Seminarie 3/4 till seminarie 1 och 2 på omseminariet? Dvs kod med MVC/MVVM framework.
Det går bra.
Hej!
Satt och läste igenom HTML.pdfen och kom över citatet "The purpose of HTML is to define parts of a document."
Vad menar ni med "delar" utav ett dokument?
Vilken del som är vad, tex att <p> definierar ett stycke, <h1> definierar en rubrik osv
Hej,
Jag håller som bäst på med uppgiften för andra seminariet och har en fråga rörande lagring av recept med hjälp av XML. I första seminariet skulle vi tilldela recepten för köttbullar och pannkakor varsin dag i kalendern. Generaliserat förstår jag det som att varje recept ska ha en unik dag.
I XML-strukturen på den sida som länkas i dokumentet med seminarieuppgifterna finns det emellertid inget fält för ett sådant datum. Är det tillåtet att lägga till ett sådant fält själv genom att utöka XML-strukturen med ytterligare ett element ("en tagg") per recept?
Med vänlig hälsning,
Martin Pola
Nej, du får inte ändra i XML-strukturen, den måste följa det XML-schema som finns angivet i uppgiften. Det kommer alltså inte att finnas någon koppling mellan ett recept och ett visst datum, förutom i kalendern.
Om vi skrev färdigt sidan åt tasty recipies skulle vi förstås behöva lägga till en sådan koppling någonstans, det är ingen bra idé att använda HTML-koden för datalagring. Kopplingen skulle dock inte kunna finnas i XML-filen för ett recept, eftersom är låst till schemat mycookbook.
Tack för svaret. Då det inte tycks finnas något unikt fält i XML-strukturen blir det inte helt okomplicerat att skapa en koppling mellan datum och recept. Är det tillåtet att inför seminarium 2 hoppa över datumintegrationen helt och hållet, dvs. får man ersätta kalendern med en lista över tillgängliga recept?
Det är inte tillåtet att ersätta kalendern med en lista över tillgängliga recept. Däremot kan du skippa kopplingen mellan datum och recept genom att låta det vara som i sem 1, dvs att kopplingen endast finns i html-koden i kalendern.
Tack för det snabba svaret. Jag hade emellertid inte statiska kopplingar ens i sem1, men det ska det nog gå att tillfredsställa kraven det till trots.
Hej igen,
När släpps uppgifterna inför seminarium 4?
Med vänlig hälsning,
Martin Pola
I slutet av den här veckan.
Rörande seminarium 3: I den andra av de två frivilliga, betygshöjande uppgifterna ska man använda en databas för att spara kommentarer och användardata. Hur är det med själva recepten -- får eller ska man spara dem i en databas, eller är det tillåtet alternativt tvingande att lagra dem med XML-formatet från seminarium 2?
Det finns inga krav på hur recepten hanteras, det är helt upp till dig.
Leonard Ek korrigerade 21 oktober 2015
Asså jag fattar ingenting av Seminarium 1, VAFAN GÖR <p> och varför står det </p> efter?¶ Mvh¶ Leo.
A tip worth considering adding to resources (for windows):
http://www.uniformserver.com/
"Windows: Apache + MySQL + PHP & more.
The Uniform Server is a lightweight server solution for running a web server under the WindowsOS. Less than 10MiB, it includes the latest versions of Apache2, Perl5, PHP5, MySQL5, phpMyAdmin and more. No installation required! No registry dust! Just unpack and fire up!"
Very easy to get started. Just extract and click the executable, then click "Start apache".
Hur kan jag testa min sida på modern.ie om den körs lokalt?
Ta reda på din ip-adress, till exempel på http://whatismyip.org/ och ange den istället för localhost när du skriver in url:en på modern.ie.
Hur hanterar man länkar med framework? Dvs hur ska man göra med menyer och länkar till andra sidor?
En länk ska innehålla en url som kan tolkas av ramverket och peka ut en fil, klass eller metod enligt ramverkets regler. Om du till exempel i chat-programmet med id1354-fw vill göra en länk till sidan med hela konversationen, ska länken peka på Chat/GetEntries
Är det fel på koden eller på min server?
Jag laddade ner chat-nojs-id1354fw.zip packade upp sedan försökte jag använda den. När jag skriver in ett användarnamn och sedan trycker OK
får jag
Internal Server Error.
Id1354fw\Core\InternalServerErrorException: Function Chat\DefaultRequestHandler->setNickName is missing, but request has parameter nickName
#0 <SÖKVÄG>\chat-example\chat-nojs-id1354fw\classes\Id1354fw\View\AbstractRequestHandler.php(38): Id1354fw\View\AbstractRequestHandler->validateFuncName('setNickName', 'nickName')
#1 <SÖKVÄG>\chat-example\chat-nojs-id1354fw\classes\Id1354fw\View\AbstractRequestHandler.php(61): Id1354fw\View\AbstractRequestHandler->setParams()
#2 <SÖKVÄG>\chat-example\chat-nojs-id1354fw\classes\Id1354fw\Core\Router.php(89): Id1354fw\View\AbstractRequestHandler->execute()
#3 <SÖKVÄG>\chat-example\chat-nojs-id1354fw\classes\Id1354fw\Core\Start.php(80): Id1354fw\Core\Router->routeRequest()
#4 <SÖKVÄG>\chat-example\chat-nojs-id1354fw\classes\Id1354fw\Core\Start.php(60): Id1354fw\Core\Start->routeRequest()
#5 <SÖKVÄG>\chat-example\chat-nojs-id1354fw\index.php(38): Id1354fw\Core\Start->startFramework() #6 {main}
Hej!
Jag har också problem med chat-nojs-id1354fw.zip. Får en blank sida och i loggen följande meddelande:
[:error] [pid 4232:tid 1864] [client ::1:61329] PHP Parse error: syntax error, unexpected 'finally' (T_STRING), expecting catch (T_CATCH) in <SÖKVÄG>\\chat-nojs-id1354fw\\classes\\Id1354fw\\Core\\ClassLoader.php on line 104
Använder Uniserver.
@Martin Soto
Jag vet inte vad ditt felmeddelande betyder men det skulle kunna vara att du har fel PHP version aktiverad. För ramverket var det krav att använda som minst PHP version 5.5.
Här kan du läsa hur man byter PHP version på UniformServer
Här kan du ladda ner olika versioner av php
Sen får du packa upp de till UniformServer mappen. Starta UniForm, välj version, starta Apache.
Testa det, om du har fel version.
Snyggt!
Jag hade 5.4 och nu uppgraderade jag till 5.6. Sidan kommer upp men nu har jag istället samma fel som du :-)
Tack för hjälpen!
Kul att det löste sig! :-)
Kan någon som använder en annan lösning än Uniform kanske kan ge input på hur chat-nojs-id1354fw fungerar för er?
Det kan bero på att ni har fel katalogstruktur. Katalogen chat-nojs-id1354fw ska ligga direkt i webserverns rotkatalog. I chat-nojs-id1354fw ska följande filer och kataloger finnas:
- classes
- conversation.txt
- index.php
- resources
- views
- .htaccess
När vi försöker logga in med ett användarnamn kommer vi till sidan localhost/chat-nojs-id1354fw/Chat/Login som inte hittas. Detta då katalogen ligger i root för webservern.
Det verkar som requestet inte har nått index.php, och därmed inte hanteras alls av ramverket. Kolla om filen .htaccess finns i katalogen chat-nojs-id1354fw. Det är den som säger åt apache att skicka alla request till index.php istället för till den angivna url:en.
.htaccess ska ha detta innehåll:
Options All -Indexes
<FilesMatch "(config|.+\.html)\.php">
deny from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(bmp|cgi|css|flv|gif|ico|jpe?g|js|png|html|php|swf|xml)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php [L,QSA]
</IfModule>
Det kan också vara så att apache inte läser .htaccess. Kolla till exempel på http://tildemark.com/enable-htaccess-on-apache/ för att se hur det kan åtgärdas.
- Jag skickas till url "http://localhost/Chat/Login"
- Jag har samma .htaccess som du skriver Leif.
- Jag ha kollat att alla filerna som du nämnde finns. Förutom conversation.txt
- Jag har kontrollerat att modulen mod_rewrite är igång
- Jag har tittat så att mod_rewrite inte är kommenterad i httpd.conf
- Jag har testat att köra ett simpelt .htaccess exempel (se nedan), den fungerade
Här exemplet jag testade (källa: http://www.workingwith.me.uk/articles/scripting/mod_rewrite )
A simple mod_rewrite example
So, let’s write a simple mod_rewrite example. This isn’t going to be anything fancy; we’re just going to redirect people who ask for alice.html to the pagebob.html instead. First, let’s create the Alice and Bob pages. Below is Alice’s webpage - create a similar one for Bob.
<html> <head> <title>Alice's webpage</title> </head> <body> <p> This is Alice's webpage </p> </body> </html>
Upload both of these to your web server, and check that you can view both of them. Now comes the fun - we’re going to add a couple of lines to your .htaccess file. The .htaccess file is a text file which contains Apache directives. Any directives which you place in it will apply to the directory which the .htaccess file sits in, and any below it. To ours, we’re going to add the following:
RewriteEngine on RewriteRule ^alice.html$ bob.html
Upload this .htaccess file to the same directory as alice.html and bob.html, and reload Alice’s page. You should see Bob’s page being displayed, but Alice’s URL. If you still see Alice’s page being displayed, then check you’ve followed the instructions correctly (you may have to clear your cache). If things still aren’t working for you, then contact your technical support people and ask them to enable mod_rewrite and the FileInfo override in their httpd.conf file for you
Nu har jag sett att det funkar på mac och linux, men det verkar som alla med windows har problem. Om någon kör windows och det funkar, kan inte den tala om vad som krävdes för att få igång det? Säg gärna också vilken server (uniformserver eller någon annan) det funkar på. Det vore också bra om någon med problem på windows kan tala om ifall det står något felmeddelande i error.log
Hej! För er som använder Mac och inte fått fw att funka kommer det förslag på hur ni kan göra. Jag använder Macs inbyggda apache server och jag kunde komma åt index sidan, matade in nickname, men mitt problem var att jag aldrig kom till log-in-sidan, utan fick ett felmeddelande som talade om att det inte gick att hittta URLet. Lyckligtvis funkade det för mig efter följande åtgärder:
I filen /etc/apache2/httpd.conf, aktivera den bortkommenterade raden:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
I samma fil, längre ner har vi taggen <Directory/>. Där ska man ha följande rader:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Observera att ytterligare rader som är förslagna i URLet: http://tildemark.com/enable-htaccess-on-apache/ kan orsaka problem:
I serverns root directory, se till att attributet med AllowOverride är satt till all, och inte none.
Kommentera bort sista raden i samma element där det står "Required all granted". Vet inte riktigt om den raden har påverkan eller ej, men det visade sig fungera med den bortkommenterad. Elementet ska, alltså, se ut så här:
<Directory "/väg/till/server-root/directory">
.
.
.
AllowOverride all
.
.
# Required all granted
</Directory>
Se också till att du har gömda filen .htaccess i samma mapp där du tänker implementera ditt projekt, alltså i samma mapp där index.php ligger.
Om det fortfarande är problematiskt så kan ni kolla att ni har rätt behörighet på alla filer och mappar. Projektmappen ska gå att exekvera och index.php ska gå att läsa.
Innehållet i .htaccess ska se ut så här:
Options All -Indexes
<FilesMatch "(config|.+\.html)\.php">
deny from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(bmp|cgi|css|flv|gif|ico|jpe?g|js|png|html|php$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php [L,QSA]
</IfModule>
Jag förstår inte riktigt det här med länka till andra views, har suttit och testat en rad olika grejor men ingenting fungerar som det ska. Det jag kommit fram till är att länka till en klass som extends AbstractRequestHandler och innehåller en doExecute() som bara returnernar Constans::SIDAN_JAG_VILL_TILL;
Så från startsidan kan jag ta mig till Calendar genom att länka till TastyRecipes/Model/Calendar där Calendar klassen tar mig till calendar view. Nu har min URL gått från http://localhost:8888/TastyRecipesRoot/ till http://localhost:8888/TastyRecipesRoot/TastyRecipes/Model/Calendar
När jag väl är inne på calendar och vill gå till pancakessidan så gör jag samma grej, länkar till en Pancakes klass som sen tar mig till pancakes view och det är här det slutar fungera. Min URL blir nu http://localhost:8888/TastyRecipesRoot/TastyRecipes/Model/TastyRecipes/Model/Pancakes vilket inte leder någonstans alls och jag tas tillbaka till startsidan.
För det första är det ingen bra idé att lägga klassen med doExecute i model. Den bör ligga i View eftersom den tar emot ett http-anrop och ska anropa controllern. Ett annat alternativ, som jag använt i chat-exemplet, är att lägga den direkt i namnrymden Chat. Det gjorde jag för jag tyckte inte det såg snyggt ut att serverns lager (View, Model osv) ingår i url:en.
Ovanstående löser inte ditt problem, som för övrigt är ett typiskt problem oavsett ramverk, nämligen hur man ska ge en url som pekar in i ramverket till en nyanländ användare. Jag föreslår att du skriver en DefaultRequestHandler som bara innehåller raden \header("Location: <path to the welcome page in tasty recipies>");
Den raden kommer redirecta användaren till din förstasida, inklusive rätt url. Om du redirectar till sidan
/TastyRecipiesRoot/TastyRecipes/Model/Calendar kommer url:en bli
http://localhost:8888/TastyRecipesRoot/TastyRecipes/Model/Calendar
Då kan du i alla sidor ange sista delen av url:en (Calendar, Pancakes, etc) som länk.
Nu har jag fixat buggen som gjorde att chatten med ramverket inte fungerade på windows. Det var förstås en slash som var vänd åt fel håll, mycket dålig idé att provköra bara på linux...
För säkerhets skull har jag börjat med versionsnumrering. Det är chat-nojs-id1354fw-version2.zip och id1354-fw-version2.zip som fungerar.
Ändrade min DefaultRequestHandler's doExecute till bara \header("Location: views/login"); och nu blir det en oändlig loop av redirects och safari visar det här felmeddelandet.
Det går tyvärr inte att redirecta till en relativ url. Du måste ha med hela sökvägen från roten:
\header("Location: /TastyRecipiesRoot/TastyRecipes/views/login")
Egentligen ska du till och med ta med "http://localhost:8888" först i url:en, men ovanstående brukar fungera bra.
För övrigt ska du inte redirecta till en fil i mappen views. Alla klasser, även de som ärver AbstractRequestHandler, måste ligga under classes.
Om man har en klass Login som ligger under classes/TastyRecipes/Login.php och som anropas av ramverket för att sköta inloggningen och sedan returnera namnet på nästa vy som ska visas t.ex. "start" så kommer rätt sida visas men via URL <domain>/ID1354-website/TastyRecipes/Login istället för <domain>/ID1354-website/TastyRecipes/Start. Eftersom jag kommer till vyn via Login.php istället för klassen Start.php så är inte alla variablar satta vilket gör att sidan inte innehåller allt den ska.
Hur kan man lösa det så att Start.php anropas efter att Login.php är klar istället för att bara returnera vyn "start" från Login.php?
om jag har förstått rätt så kan du använda addVariable för att lösa det problemet. Läs README.txt.
Det fungerar inte att använda addVariable i Login.php eftersom vilka variabler jag ska lägga till kan variera beroende på vilken vy jag loggar in från. Dessutom vill jag komma ifrån att URLn slutar på /TastyRecipes/Login istället för exempelvis /TastyRecipes/Start ifall jag loggar in från startsidan.
Kan du inte göra en ny klass som innehåller koden som är gemensam för Login och Start? Då kan den anropas av både Start och Login. Det är sällan en bra idé att lita på url:en, det blir väldigt svårt att förhindra att du kan komma olika vägar till en och samma request handler.
Blir inte det dålig sammanhållning samt om man ska kunna logga in från varje sida så behöver det finnas en klass för gemensam kod mellan start och login, en klass för gemensam kod mellan login och calendar, etc ?
Går det inte på någon sätt att låta klassen Login kalla på Start eller vilken annan vy man kommer ifrån så att sidan laddas på rätt sätt och sedan returnera det till ramverket?
Jag tycker inte det blir dålig sammanhållning, det blir bara en till klass i vyn (klassen med den gemensamma koden). Måste du verkligen ha en ny klass för varje kombination av nu existerande klasser, räcker det inte med en enda (eller i alla fall ett fåtal) ny klass som innehåller all gemensam kod från alla request handlers?
Det går förstås att göra som du föreslår också, i sådana fall skriver du helt enkelt new Start() i Login och anropar sedan metoder i Start-objektet. Jag är dock mer tveksam till den lösningen eftersom klasser som ärver request handler är avsedda att ta emot http-anrop, inte att anropas lokalt. Det skulle säkert funka att göra så, men det känns som det blir onödigt svårförstådd kod på det viset (eftersom request handlern Start anropas på "fel sätt").
Om jag förstått ditt problem rätt kan du testa redirecta till Start-klassen i slutet av din Login-klass med \header(<domain>/ID1354-website/TastyRecipes/Start) istället för att använda return. Då körs Login-klassen och sedan Start-klassen om that makes sense. Alltså kommer alla variabler som läggs till i Login och även Start ha lagts till. Dessutom kommer URLn sluta på Start istället för Login.
Jag får inte ctype_print till att fungera på saker som skickats genom $_POST
T.ex om jag skriver name\n\t\r så ska den ju bli false efter ctype_print har gjort sin grej men den blir true...
Testa gå in på hemsidan http://phpfiddle.org och kör följande kod för att se vad jag menar
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="name" value="asdf\n\r\t">
<input type="submit">
</form>
<?php
if (isset($_POST['name'])) {
echo "ctype_print på _POST som borde bli false: ";
$name = $_POST['name'];
if (ctype_print($name)) {
echo "True";
} else {
echo "False";
}
echo "<br>";
echo "ctype_print på asdf\n\r\t som borde bli false: ";
$name = "asdf\n\r\t";
if (ctype_print($name)) {
echo "True";
}
else {
echo "False";
}
}
?>
</body>
</html>
Interesting problem, I don't know the hard facts but when trying this code:
<!-- START -->
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="name" value="asdf\n\r\t">
<input type="submit">
</form>
<?php
if (isset($_POST['name'])) {
$trueMsg = "True (only printable characters)";
$falseMsg= "False (contains non-printable characters)";
echo '<h2>ctype_print - Check for printable character(s)</h2>';
$name = $_POST['name'];
echo $name . ': ';
echo ( ctype_print($name) ? $trueMsg : $falseMsg );
echo "<br /><br />";
$name = "asdf\n\r\t";
echo $name . ': ';
echo ( ctype_print($name) ? $trueMsg : $falseMsg );
echo "<br /><br />";
$name = 'asdf\n\r\t';
echo $name . ': ';
echo ( ctype_print($name) ? $trueMsg : $falseMsg );
}
?>
</body>
</html>
<!-- END -->
I also came to the conclusion that the php $_POST field must use single quoted strings, which means that all characters which are will be treated as the literal character. I you check the last assignment of name you can see that I use single quotes. This will give the same result as the $_POST['name']
Read more about difference between single quoted and double quoted strings here
This might be due to Magic Quotes which in short escapes incoming data to the PHP script.
Here you can read about Magic Quotes
The odd thing is that Magic Quotes should've been removed. At the moment I am using PHP 5.5. But the $_POST field is still escaped and not treated as partly non-escapable characters.
I tried to find a setting for the Magic Quotes on my server but was unable to find it.
Maybe it has something to do with how you set the value of the form. If you replace the value with
value='<?="asdf\n\r\t"?>'
Then the characters which are set to the value is asdf (plus additional characters)
This will infact generate a False, it will contain non-printable characters.
So all in all it seems that the problem is with how you set the value.
It might be some feature of HTML to literally interpret what is set to the value.
Löste problemet
I spoke to a Daisy admin and he told me that this happens when you have registered an old email in Daisy (probably Hotmail) and since your hotmail has changed to @live.com and server couldn't deliver your email. This could also happen because of forwarding your KTH email as well.
BTW, check your email spam as well.
Worst case the exam token at the entry of Forum will show the rooms for exam tomorrow and the exam staff will seat you.
Thanks for looking that up Nima, unfortunately my email is not hotmail nor is it forwarded in any way (registered email is @kth.se) Also checked junk folder on my kth mail but nothing there. Talked to some other students and there's several students that hasn't receives the email. Did I understood you correctly if I arrive a little bit earlier tomorrow I'll be able to find the full list for classrooms and students in the forum entrance?
I spoke to examination staff right now and they said it's none of the above, the email hasn't been simply sent yet. So probably you will get them later today.
Yes, there is always a stand just passed the coffee area that ists the exams of the day and the room where they take place.
Lovely! Just received the email. Thanks.
Går det bra att använda den 6:e utgåvan av boken?