Avatar billede Jman Praktikant
26. august 2003 - 10:16 Der er 45 kommentarer og
1 løsning

upload af fil skal tilføjes til min form

Jeg har en temmelig lang form, hvor jeg gerne vil have tilføjet en upload. Jeg har tidligere spurgt efter et eksempel og fik da også et fint et, men jeg kan ikke få det til at du i min form...

koden i min form:
<p class="TblTxtBld">Vedhæft fil</p>
<p class="TblTxt">Evt. vedhæft en fil, der understøtter problemet</p>
<p class="TblTxt">Fil: <input type="file" name="FILE1" size="40"></p>

I min asp-kode skal jeg så have tilføjet en kodestump der:
- uploader til /upload/
skriver filnavnet | stien-til-upload | id (som endnu ikke er oprettet, men skal tildeles efter autonummerering) i en database
Accesdatabasen "upload" ligger i roden
Avatar billede mm12010 Nybegynder
26. august 2003 - 10:18 #1
har adgang til aspsmartupload? eller hvilken komponent?
Avatar billede Jman Praktikant
26. august 2003 - 10:22 #2
nå, ja - en lille detalje :)
AspUpload !
Avatar billede Jman Praktikant
26. august 2003 - 10:49 #3
Det må gerne være med AspSmartUpload - så installere jeg blot den
Avatar billede mm12010 Nybegynder
26. august 2003 - 10:56 #4
må jeg se din formside?
Avatar billede Jman Praktikant
26. august 2003 - 11:00 #5
den er laaang :)
Avatar billede Jman Praktikant
26. august 2003 - 11:02 #6
*Skal* du have den hele eller vil du blot se min form samt insert-kode ?
Avatar billede mm12010 Nybegynder
26. august 2003 - 11:04 #7
form samt insert-kode burde være nok
Avatar billede Jman Praktikant
26. august 2003 - 11:07 #8
ok - here goes:
Form:
<table border="0" cellpadding="0" cellspacing="3" width="100%" bordercolor="<%=StrBorderColor%>" bgcolor=<%=StrBackgroundColorWhite%>>
<form method=post name="form" action="default.asp?page=inc_opgave.asp&mode=insert&ansvarlig=<%=request.querystring("ansvarlig")%>&kategori=<%=request.form("kategori")%>&opgave=<%=request.querystring("opgave")%>" onSubmit="return validate(this);">
  <tr>
    <td valign="top">
      <p class="TblTxtBld">Kort problem beskrivelse (overskrift):</p>
      <p class="TblTxt">Her bedes du skrive en kort, men sigende overskrift til din opgave.</p>
      <p class="TblTxt"><input type=text name=Betegnelse wrap=physical onKeyDown="textCounter(this.form.Betegnelse,this.form.remLen,50);" onKeyUp="textCounter(this.form.Betegnelse,this.form.remLen,50);" size="50"></p>
      <p class="TblTxt"><i>(Min. 10 tegn og max. 50 tegn)</i><input readonly type=text name=remLen size=2 maxlength=3 value="50" style="border: 0px solid #000000; font-weight:bold; font-size:8pt; text-align:right"> tegn tilbage</p>
      <br>
    </td>
  </tr>
  <tr>
    <td valign="top">
      <p class="TblTxtBld">Opgavebeskrivelse (forklaring):</p>
      <p class="TblTxt">Skriv venligt så detaljeret, som muligt, hvad der skal løses i din opgave.</p>
      <p class="TblTxt">Jo bedre du forklarer dit problem erller din opgave des mere effektiv bliver din hjælp.</p>
      <p class="TblTxt"><textarea name=Problem wrap=physical cols=50 rows=5 onKeyDown="textCounter2(this.form.Problem,this.form.remLen2,300);" onKeyUp="textCounter2(this.form.Problem,this.form.remLen2,300);"></textarea></p>
      <p class="TblTxt"><i>(Min. 10 tegn og max. 300 tegn)</i><input readonly type=text name=remLen2 size=3 maxlength=3 value="300" style="font-weight: bold; border: 0px solid #000000; font-size:8pt; text-align:right"> tegn tilbage</p>
      <br>
    <td>
  </tr>
  <tr>
    <td valign="top">
    <table border="0" cellpadding="0" bordercolor="<%=StrBorderColor%>">
    <tr>
    <td>
      <p class="TblTxtBld">Deadline:</p>
      <p class="TblTxt"><input type="text" name="Deadline" size="10" value="<% = date +14 %>"></p>
      <p class="TblTxt"><i>&nbsp;dd-mm-yyyy</i></p>
      <br>
    </td>
    <td>&nbsp;</td>
    <td valign="top">
      <p class="TblTxtBld">Prioritet:</p>
      <p class="TblTxt">
                  <select size="1" name="Prioritet">
                <option value="98">Skal prioriteres</option>
                <option value="5">Meget lav</option>
                <option value="4">Lav</option>
                <option value="3">Mellem</option>
                <option value="2">Høj</option>
                <option value="1">Meget høj</option>
                </select>
      </p> 
    </td>
    </tr>
    </table>
    </td>
  </tr>
  <tr>
    <td valign="top">


<!-- her skal indsættes en upload -->
      <table border="0" cellpadding="0" bordercolor="<%=StrBorderColor%>">
        <tr>
          <td valign="top">
            <p class="TblTxtBld">Vedhæft fil</p>
            <p class="TblTxt">Evt. vedhæft en fil, der understøtter problemet</p>
            <p class="TblTxt">Fil: <input type="file" name="FILE1" size="40"></p>
          </td>
        </tr>
      </table>
<!-- her skal indsættes en upload - slut -->


    </td>
  </tr>
  <tr>
    <td>
      <p class="TblTxt"><input type="submit" name="Submit" value="Opret opgave"></p>
    </td>
  </tr>
</form>


Insert:
<% if Request.QueryString("mode") = "insert" then
StrDate = Year(Date) & "-" & Month(Date) & "-" & Day(Date)
Registreret = StrDate & " " & time
Rekvirent = StrLogon
Kategori = request.querystring("kategori")
Betegnelse = Trim(Request.Form("betegnelse"))
Betegnelse = Replace(Betegnelse,"'","''")
Betegnelse = replace (Betegnelse, """","&quot")
Betegnelse = Replace(Betegnelse,chr(13),"<BR>")
Problem = Request.Form("problem")
Problem = Replace(problem,"'","''")
Problem = Replace(Problem,chr(13),"<BR>")
problem = replace (problem, """","&quot")
StrDeadline = Request.Form("Deadline")
Deadline = Year(StrDeadline) & "-" & Month(StrDeadline) & "-" & Day(StrDeadline)
Ansvarlig = request.querystring("Ansvarlig")
Tidsestimat = "0"
Prioritet = Request.form("Prioritet")
Status = "EJ PÅBEGYNDT"
Afsluttet = "0"
Vist ="0"
Registrant = "Intranet"

strCreateNew="INSERT INTO Opgave (Registreret, Rekvirent, Kategori, Betegnelse, Problem, Deadline, Ansvarlig, Tidsestimat, Prioritet, Status, Afsluttet, Vist, Registrant) Values('"&Registreret&"','"&Rekvirent&"','"&kategori&"','"&Betegnelse&"','"&Problem&"','"&Deadline&"','"&Ansvarlig&"','"&Tidsestimat&"','"&Prioritet&"','"&Status&"','"&Afsluttet&"','"&Vist&"','"&Registrant&"')"
DBCMD.Execute strCreateNew
'response.write strCreateNew


'############### Start på upload ###############
'############### virker ikke :( ###############
Set Upload = Server.CreateObject("Persits.Upload.1")
relativSti = "/upload/"

Upload.Save Server.MapPath(relativSti)

Set File = Upload.Files("FILE1")
If Not File Is Nothing Then
  filStiNavn = relativSti & file.Name
Else
  filStiNavn = ""
End If

'Hent form felter:
navn = replace(upload.Form("navn"),"'","''")


Set Conn = Server.CreateObject("ADODB.Connection")
'Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=uploads.mdb"

SQL = "INSERT INTO upload (navn, sti) VALUES("
SQL = SQL & "'" & id & "', "
SQL = SQL & "'" & navn & "', "
SQL = SQL & "'" & filStiNavn & "'"
SQL = SQL & ")"

Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing

'Response.write "Data gemt"

'########################## Slut på upload #######################
Avatar billede mm12010 Nybegynder
26. august 2003 - 11:15 #9
er det 'bare' den upload-kode jeg skal lave om?
Avatar billede Jman Praktikant
26. august 2003 - 11:22 #10
yeps
Det den skal er at hente sidste kendte id fra en databsen opgave og lægge 1 til.
Derefter skal den skrive til en Accesdatabse (upload):
- Filnavnet    <-- det valgte upload
- Stien til filen
- ID            <-- Det hentede tal, så det passer til ID i opgaven
Derefter skal den uploeade filen til /upload

that's it
Avatar billede mm12010 Nybegynder
26. august 2003 - 11:27 #11
får du nogen fejl på det du har?
Avatar billede mm12010 Nybegynder
26. august 2003 - 11:29 #12
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
relativSti = "/upload/"

Upload.Save Server.MapPath(relativSti)

Set File = Upload.Files("FILE1")
If Not File Is Nothing Then
  filStiNavn = relativSti & file.Name
Else
  filStiNavn = ""
End If

'Hent form felter:
navn = replace(upload.Form("navn"),"'","&#39;")


Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/upload.mdb")

SQL = "INSERT INTO upload (navn, sti) VALUES('" & navn & "', '" & filStiNavn & "')"

Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing

'Response.write "Data gemt"
%>
Avatar billede Jman Praktikant
26. august 2003 - 12:13 #13
ja:
Persits.Upload.1 error '800a003d'

Wrong Content-Type. Make sure you have included the attribute ENCTYPE="multipart/form-data" in your form.

/websupport_v2/inc_opgave.asp, line 544
Avatar billede mm12010 Nybegynder
26. august 2003 - 12:17 #14
<form method=post name="form" action="default.asp?page=inc_opgave.asp&mode=insert&ansvarlig=<%=request.querystring("ansvarlig")%>&kategori=<%=request.form("kategori")%>&opgave=<%=request.querystring("opgave")%>" onSubmit="return validate(this);" ENCTYPE="multipart/form-data">
Avatar billede Jman Praktikant
26. august 2003 - 12:24 #15
den havde jeg også prøvet, men den giver samme fejl
Avatar billede mm12010 Nybegynder
26. august 2003 - 12:25 #16
hvad er linie 544?
Avatar billede Jman Praktikant
26. august 2003 - 12:28 #17
Jeg prøvede at smide ENCTYPE ind forrest og nu giver den denne fejl:
Persits.Upload.1 error '800a0001'

Unspecified error

/websupport_v2/inc_opgave.asp, line 544

544 = Upload.Save Server.MapPath(relativSti)
Avatar billede mm12010 Nybegynder
26. august 2003 - 12:34 #18
Upload.Save(server.mappath("/upload/"))
Avatar billede Jman Praktikant
26. august 2003 - 12:41 #19
same thing
Avatar billede mm12010 Nybegynder
26. august 2003 - 12:53 #20
Set Upload = Server.CreateObject("Persits.Upload")

Upload.SaveVirtual("/upload/")

Set File = Upload.Files("FILE1")

If Not File Is Nothing Then
  filStiNavn = relativSti & file.Name
Else
  filStiNavn = ""
End If
Avatar billede Jman Praktikant
26. august 2003 - 13:01 #21
Den stod og tænkte lidt længere, men alligeve kom "unspecified error"
i linien: Upload.SaveVirtual("/upload/")
Avatar billede mm12010 Nybegynder
26. august 2003 - 13:08 #22
hvad får du på den her:

response.write server.mappath("/upload/")
Avatar billede Jman Praktikant
26. august 2003 - 13:25 #23
den skriver C:\Inetpub\wwwroot\upload
hvilket ikke er korrekt, for den skal ligge i C:\Inetpub\wwwroot\support\upload

Jeg har dog lige prøvet at oprette en "upload" mappe i roden, men det duede heller ikke
Avatar billede Jman Praktikant
26. august 2003 - 14:07 #24
jeg har fundet dette: http://support.persits.com/show.asp?code=PS02022586
men så bliver jeg da snotforvirret
Avatar billede mm12010 Nybegynder
26. august 2003 - 14:19 #25
prøv at flytte upload-delen op øverst i scriptet
Avatar billede Jman Praktikant
26. august 2003 - 14:28 #26
jeg har prøvet at flytte det op til lige under
<% if Request.QueryString("mode") = "insert" then
men det hjalp heller ikke
Avatar billede mm12010 Nybegynder
27. august 2003 - 08:16 #27
prøv det her:

if Request.ServerVariables("REQUEST_METHOD")="POST" then
    Set Upload = Server.CreateObject("Persits.Upload.1")
    relativSti = "/upload/"
   
    Upload.Save Server.MapPath(relativSti)
   
    Set File = Upload.Files("FILE1")
    If Not File Is Nothing Then
        filStiNavn = relativSti & file.Name
    Else
        filStiNavn = ""
    End If
   
    'Hent form felter:
    navn = replace(Upload.Form("navn"),"'","''")
   
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/upload.mdb")
   
    SQL = "INSERT INTO upload (navn, sti) VALUES('" & navn & "', '" & filStiNavn & "')"
   
    Conn.Execute(SQL)
    Conn.Close
    Set Conn = Nothing
   
    'Response.write "Data gemt"
   
   
    if Request.QueryString("mode") = "insert" then
    StrDate = Year(Date) & "-" & Month(Date) & "-" & Day(Date)
    Registreret = StrDate & " " & time
    Rekvirent = StrLogon
    Kategori = request.querystring("kategori")
    Betegnelse = Trim(Upload.Form("betegnelse"))
    Betegnelse = Replace(Betegnelse,"'","''")
    Betegnelse = replace (Betegnelse, """","&quot")
    Betegnelse = Replace(Betegnelse,chr(13),"<BR>")
    Problem = Upload.Form("problem")
    Problem = Replace(problem,"'","''")
    Problem = Replace(Problem,chr(13),"<BR>")
    problem = replace (problem, """","&quot")
    StrDeadline = Upload.Form("Deadline")
    Deadline = Year(StrDeadline) & "-" & Month(StrDeadline) & "-" & Day(StrDeadline)
    Ansvarlig = request.querystring("Ansvarlig")
    Tidsestimat = "0"
    Prioritet = Upload.Form("Prioritet")
    Status = "EJ PÅBEGYNDT"
    Afsluttet = "0"
    Vist ="0"
    Registrant = "Intranet"
   
    strCreateNew="INSERT INTO Opgave (Registreret, Rekvirent, Kategori, Betegnelse, Problem, Deadline, Ansvarlig, Tidsestimat, Prioritet, Status, Afsluttet, Vist, Registrant) Values('"&Registreret&"','"&Rekvirent&"','"&kategori&"','"&Betegnelse&"','"&Problem&"','"&Deadline&"','"&Ansvarlig&"','"&Tidsestimat&"','"&Prioritet&"','"&Status&"','"&Afsluttet&"','"&Vist&"','"&Registrant&"')"
    DBCMD.Execute strCreateNew
    'response.write strCreateNew
End if


og så er det vigtigt at hvis du skal hente andet fra formen at du bruger Upload.Form("felt")
Avatar billede Jman Praktikant
27. august 2003 - 08:59 #28
Persits.Upload.1 error '800a0001'

Unspecified error

/websupport_v2/inc_opgave.asp, line 489

489  =      Upload.Save Server.MapPath(relativSti)

Jeg har godt nok lige smidt
if Request.QueryString("mode") = "insert" then
op øverst, da jeg ellers vil få en fejl på min side, for jeg opdaterer 2 formfelter inden afsendelsesformularen
Avatar billede mm12010 Nybegynder
27. august 2003 - 09:05 #29
prøv at indsætte dette som det _første på siden:

if Request.QueryString("mode") = "insert" then
    Set Upload = Server.CreateObject("Persits.Upload.1")
    relativSti = "/upload/"
   
    Upload.Save Server.MapPath(relativSti)
end if
Avatar billede mm12010 Nybegynder
27. august 2003 - 09:09 #30
og så skal du huske denne i din form:

ENCTYPE="multipart/form-data"
Avatar billede Jman Praktikant
27. august 2003 - 09:19 #31
hey hey hye ... nu er der sgu fremskridt ...
Jeg fik uploaded mit bilag - Juhuuuu

Dog får jeg efterfølgende fejl, da insert into upload.mdb ikke findes p.g.a. tidligere nævnte stifejl... Den referer til 'C:\Inetpub\wwwroot\upload.mdb', men stien skal være 'C:\Inetpub\wwwroot\support\upload.mdb'. -Dette gælder self. også for den uploadede fil.
Kan man sætte det ved Server.MapPath ??
Avatar billede mm12010 Nybegynder
27. august 2003 - 09:22 #32
prøv:
server.mappath("/support/upload/")
Avatar billede Jman Praktikant
27. august 2003 - 09:57 #33
Yeps - det virkede -- nu har jeg fixfaxet med hele koden ... der var lige en del, der skulle laves om p.g.a. flytningen af hele insert-sætningerne
Jeg mangler blot en enkelt detalje nu - sig til hvis du heller vil se et nyt spørgsmål, for du har da inderligt fortjent pointene, men oprindeligt i mit spørgsmål:
I min asp-kode skal jeg så have tilføjet en kodestump der:
- uploader til /upload/
skriver filnavnet | stien-til-upload | id (som endnu ikke er oprettet, men skal tildeles efter autonummerering) i en database
Accesdatabasen "upload" ligger i roden
i accesdatabsen står der nu:
ID (autonummer)
NAVN (er tom)
STI (står der FILE1 på alle uploads)
RefID (tom)  <-- skulle være den ID, som bliver tildelt opgaven ved submit
Avatar billede Jman Praktikant
27. august 2003 - 10:05 #34
egentlig kunne det være fedt at filnavn den blev til ref_filnavn. D.v.s.
ID (autonummer)
NAVN (er tom)  <-- filnavn
STI (står der "support/upload/FILE1" på alle uploads) <-- skal være support/upload/refid_filnavn    <-- altså sammensætningen her
RefID (tom)  <-- skulle være den ID, som bliver tildelt opgaven ved submit
Avatar billede mm12010 Nybegynder
27. august 2003 - 10:21 #35
strCreateNew="INSERT INTO Opgave (Registreret, Rekvirent, Kategori, Betegnelse, Problem, Deadline, Ansvarlig, Tidsestimat, Prioritet, Status, Afsluttet, Vist, Registrant) Values('"&Registreret&"','"&Rekvirent&"','"&kategori&"','"&Betegnelse&"','"&Problem&"','"&Deadline&"','"&Ansvarlig&"','"&Tidsestimat&"','"&Prioritet&"','"&Status&"','"&Afsluttet&"','"&Vist&"','"&Registrant&"')"
    DBCMD.Execute strCreateNew
    'response.write strCreateNew
   
    Set RS = Conn.Execute( "SELECT @@IDENTITY" )
    idOfNewlyAddedRecord = RS(0)
    RS.Close
   
Set File = Upload.Files("FILE1")
If Not File Is Nothing Then
    filStiNavn = relativSti & File.FileName
    navn = File.FileName
Else
    filStiNavn = ""
    navn = ""
End if

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/upload.mdb")

SQL = "INSERT INTO upload (navn, sti, RefID) VALUES('" & navn & "', '" & filStiNavn & "', '" & idOfNewlyAddedRecord & "')"

Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing
Avatar billede mm12010 Nybegynder
28. august 2003 - 08:42 #36
smider lige et svar :o)

mht. til flere point må det være helt op til dig, men lad os nu se hvor meget mere vi skal lave :o)
Avatar billede Jman Praktikant
28. august 2003 - 08:58 #37
jeps - det virkede én gang ... desværre, efterfølgende har jeg fået timeout-fejl på min StrCeateNew-sætning.
Det har jeg ikke haft nogensinde før, men jeg kigger lige på det .. der er desværre lige sneget en vius ind, så jeg får nok ikke kigget mere på det før i eftermiddag... :/
Avatar billede mm12010 Nybegynder
28. august 2003 - 09:00 #38
timeout-fejlen kan ordnes ved sætte følgende ind øverst i din asp-fil:

Server.ScriptTimeout = 180
Avatar billede Jman Praktikant
28. august 2003 - 09:13 #39
ja, muligvis .. men jeg er mere interesseret i at finde ud af hvorfor den timeouter... den skal jo ikke tage 3oer 120 sekunder at submitte en formular med upload-fil på 7 Kb.
Avatar billede Jman Praktikant
28. august 2003 - 09:13 #40
men som sagt -  jeg vender lige tilbage senere i dag :)
Avatar billede Jman Praktikant
29. august 2003 - 10:38 #41
OK - jeg har fundet ud af hvad der timeouter, men ikke hvad jeg skal gøre ved problemet...

        if Request.ServerVariables("REQUEST_METHOD")="POST" then
        Set Upload = Server.CreateObject("Persits.Upload.1")
        relativSti = "/websupport_v2/upload/"
   
        Upload.Save Server.MapPath(relativSti)
   

        ' ### hent upload sti ###
        Set File = Upload.Files("FILE1")
            If Not File Is Nothing Then
                filStiNavn = relativSti & file.Name
                navn = File.FileName
            ' ### find kommende ID ###
            Set RS = DBCMD.Execute( "SELECT @@IDENTITY" )
            idOfNewlyAddedRecord = RS(0)
        RS.Close
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/websupport_v2/upload.mdb")
       
        SQL = "INSERT INTO upload (navn, sti, RefID) VALUES('" & navn & "','" & filStiNavn & "','" & idOfNewlyAddedRecord & "')"
   
        Conn.Execute(SQL)
        Conn.Close
        Set Conn = Nothing
   
        'Response.write "Data gemt"

            End if

som du kan se har jeg lavet en kontrol af om der er vedhæftet en fil. Hvis ikke skal den bare oprette opgaven, og det kører fint som det skal
Men hvis FILE1 ikke er tom skal den udføre ovennævnte kode og så går den i timeout.
Avatar billede mm12010 Nybegynder
29. august 2003 - 11:37 #42
det er (næsten) helt sikkert fordi det tager 'lang' tid at upload filen til serven - der er jo tale om et upload-script så  afviklingshastigheden afhænger af antallet af bytes der skal overføres, brugerens upstream-hastighed og serverens svartid, derfor ændres egenskaben
Avatar billede Jman Praktikant
29. august 2003 - 11:44 #43
det er en fil på 16 Kb - på et 10 Mbit netværk ...
Avatar billede Jman Praktikant
29. august 2003 - 11:45 #44
Selve uploadscritptet har jeg jop også fået til at funge... Men det var først da stinavn + filnavn + id skulle tilrettes at dette skete
Avatar billede mm12010 Nybegynder
29. august 2003 - 11:50 #45
filStiNavn = relativSti & file.FileName
Avatar billede Jman Praktikant
29. august 2003 - 14:18 #46
Arrrrgh - hvor er det bare P-irreterende.. Nu har jeg forsøgt at gå bagud for at se hvor der går noget galt .. (selv om min upload faktisk har virket)
Jeg er helt tilbage til før upload-koden og alligevel får jeg timeoutfejl :( *grrr*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester