Nyhetsflöde

Logga in till din kurswebb

Du är inte inloggad på KTH så innehållet är inte anpassat efter dina val.

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).

Oktober 2016
under Allmänt

Lärare Leif Lindbäck skapade sidan 31 mars 2014

Lärare Leif Lindbäck ändrade rättigheterna 31 mars 2014

Kan därmed läsas av alla och ändras av lärare.
kommenterade 25 augusti 2015

Går det bra att använda den 6:e utgåvan av boken?

Lärare kommenterade 25 augusti 2015

Jag har inte sett 6:e upplagan så jag kan inte svara på det.

kommenterade 4 oktober 2015

Kommer anteckningarna till föreläsningar 10, 11, 13 och 14 att publiceras?

Lärare kommenterade 5 oktober 2015

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).

kommenterade 27 oktober 2015

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/

Lärare kommenterade 28 oktober 2015

Stämmer bra, det är i PHP det fungerar som jag skrev i JavaScript-föreläsningen. Bra att du upptäckte det.

kommenterade 5 oktober 2016

Hej, undrar om man kan se några gamla tentor? eller det bara jag som inte hittar några?

mvh

Lärare kommenterade 5 oktober 2016

Nej, det finns inga gamla tentor. Istället finns en fil på sidan Written Exam, som innehåller möjliga tentafrågor.

kommenterade 9 oktober 2016

Hej, missade föreläsning 14 och undrar ifall du kommer lägga upp något material från den. Exempelprogram eller liknande?

Lärare kommenterade 10 oktober 2016

Det var inget nytt material på föreläsning 14, vi gjorde klart det som står under föreläsning 13.

 
September 2016
under Allmänt

Lärare Leif Lindbäck skapade sidan 31 mars 2014

Lärare Leif Lindbäck ändrade rättigheterna 31 mars 2014

Kan därmed läsas av alla och ändras av lärare.
kommenterade 2 september 2014

Ska projekten lösas individuellt eller kan man arbeta i grupper och sedan skriva individuella rapporter?

Lärare kommenterade 2 september 2014

Skriv gärna programmen i grupp, det är bara rapporten som ska vara individuell.

kommenterade 2 september 2014

Skrivs rapporten på svenska?

Lärare kommenterade 3 september 2014

Det går bra.

kommenterade 7 oktober 2014

Hej, såg att du ändrat i uppgift 4 och undrar om den nuvarande versionen av uppgiften är den slutgiltiga?

Lärare kommenterade 7 oktober 2014

Nu blir det inga fler ändringar

Lärare kommenterade 8 oktober 2014

Det var otydligt om avsnittet File System Security ingår i uppgifterna till seminarie fyra. Det ingår, jag har förtydligat det nu.

kommenterade 9 oktober 2014

seminarium 4, sida 4, antar jag att det ska stå "... but the report must show where HTTPS should be used", och inte HTTP?

Lärare kommenterade 9 oktober 2014

Stämmer bra, jag har ändrat det. Tack för att du sa till.

kommenterade 10 oktober 2015

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.

                    

Lärare kommenterade 12 oktober 2015

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.

kommenterade 15 oktober 2015

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.

Lärare kommenterade 16 oktober 2015

Det går bra.

kommenterade 29 augusti 2016

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?

Lärare kommenterade 30 augusti 2016

Vilken del som är vad, tex att <p> definierar ett stycke, <h1> definierar en rubrik osv

kommenterade 8 september 2016

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

Lärare kommenterade 8 september 2016

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.

kommenterade 12 september 2016

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?

Lärare kommenterade 12 september 2016

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.

kommenterade 12 september 2016

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.

kommenterade 19 september 2016

Hej igen,

När släpps uppgifterna inför seminarium 4?

Med vänlig hälsning,
Martin Pola

Lärare kommenterade 20 september 2016

I slutet av den här veckan.

kommenterade 22 september 2016

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?

Lärare kommenterade 22 september 2016

Det finns inga krav på hur recepten hanteras, det är helt upp till dig.

 
Oktober 2015
En person gillar inlägget
Leonard Ek skrev inlägget 21 oktober 2015
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.

 
under Allmänt

Lärare Leif Lindbäck skapade sidan 31 mars 2014

kommenterade 31 augusti 2015

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".

kommenterade 7 september 2015

Hur kan jag testa min sida på modern.ie om den körs lokalt?

Lärare kommenterade 8 september 2015

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.

kommenterade 23 september 2015

Hur hanterar man länkar med framework? Dvs hur ska man göra med menyer och länkar till andra sidor?

Lärare kommenterade 23 september 2015

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

kommenterade 23 september 2015

Ä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}

kommenterade 23 september 2015

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.

kommenterade 23 september 2015

@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.

kommenterade 23 september 2015

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!

kommenterade 23 september 2015

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?


Lärare kommenterade 24 september 2015

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
kommenterade 24 september 2015

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.

Lärare kommenterade 24 september 2015

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>

Lärare kommenterade 24 september 2015

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.

kommenterade 24 september 2015
  • 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

Lärare kommenterade 25 september 2015

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

kommenterade 25 september 2015

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>

kommenterade 26 september 2015

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.

Lärare kommenterade 28 september 2015

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.

Lärare kommenterade 28 september 2015

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.

kommenterade 28 september 2015

Ä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.

Safari felmeddelande

Lärare kommenterade 28 september 2015

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.

kommenterade 1 oktober 2015

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?

kommenterade 1 oktober 2015

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.

kommenterade 1 oktober 2015

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.

Lärare kommenterade 2 oktober 2015

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.

kommenterade 2 oktober 2015

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?

Lärare kommenterade 2 oktober 2015

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").

kommenterade 3 oktober 2015

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. 

En användare har tagit bort sin kommentar
kommenterade 3 oktober 2015

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>

kommenterade 4 oktober 2015

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.

 
Augusti 2015
Schemahändelse Omtenta, 20 augusti 2015 14:00
Ändrades av schemahandläggare 4 augusti 2015
Visa fler liknande händelser (2)
Schemahändelse Omtenta, 7 januari 2015 09:00
Ändrades av schemahandläggare 12 november 2014
Schemahändelse Omtenta, 21 augusti 2014 14:00
Ändrades av schemahandläggare 15 maj 2014
November 2013
En person gillar inlägget
Anne Golinski skrev inlägget 25 november 2013
 
Gustaf Björkén skrev inlägget 1 november 2013
kommenterade 1 november 2013

Löste problemet

 
Oktober 2013
4 personer gillar inlägget
Fabian Miiro skrev inlägget 29 oktober 2013
Lärare kommenterade 29 oktober 2013

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. 

kommenterade 29 oktober 2013

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?

En användare har tagit bort sin kommentar
Lärare kommenterade 29 oktober 2013

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. 

kommenterade 29 oktober 2013

Lovely! Just received the email. Thanks.

 
Feedback Nyheter