Avatar billede saudoo Nybegynder
17. december 2005 - 11:44 Der er 13 kommentarer og
1 løsning

Fejl i funktionen! Hvorfor?

Hej Eksperten.dk,

Nu er jeg efterhånden gået ud af mit gode skind. Håber i kan hjælpe. :)

Hvad er der galt her? Jeg tror bare jeg har stirret mit blind, men har så i den grad været blind de sidste par dage. :)

Håber i kan hjælpe.

Koden:

<%
    Function smiley(s)
        conv = s
        'Konverterer linieskift
        conv = Replace(conv, VbCrlf, "<br />")
        'Konverterer smileys :)
        conv = Replace(conv, "&lt;br /&gt;", "<br />")
        conv = Replace(conv, ":)", "<img src=""smile.gif"" alt=""smile"" />")
        conv = Replace(conv, ":(", "<img src=""sad.gif"" alt=""sad"" />")
        conv = Replace(conv, ":'(", "<img src=""cry.gif"" alt=""cry"" />")
        conv = Replace(conv, ":D", "<img src=""laugh.gif"" alt=""laugh"" />")
        conv = Replace(conv, ":P", "<img src=""tongue.gif"" alt=""tongue"" />")
        conv = Replace(conv, ":S", "<img src=""confused.gif"" alt=""confused"" />")
        conv = Replace(conv, ":#|", "<img src=""red.gif"" alt=""red"" />")
        conv = Replace(conv, ":|", "<img src=""what.gif"" alt=""what"" />")
        conv = Replace(conv, ":O", "<img src=""omg.gif"" alt=""omg"" />")
        conv = Replace(conv, ";)", "<img src=""wink.gif"" alt=""wink"" />")
        conv = Replace(conv, ":p", "<img src=""tongue.gif"" alt=""tongue"" />")
        conv = Replace(conv, ":s", "<img src=""confused.gif"" alt=""confused"" />")
        conv = Replace(conv, ":o", "<img src=""omg.gif"" alt=""omg"" />")
        smiley = conv
    End function
   
    tekst = Server.HTMLEncode(tagwall.Fields("besked"))
    Response.Write smiley(tekst)
%>
Avatar billede Slettet bruger
17. december 2005 - 11:58 #1
Hvad er dit problem mere præcist, så vidt jeg lige kan se kan det handle om, om du skal kalde Server.HTMLEncode eller ej ?
Avatar billede saudoo Nybegynder
17. december 2005 - 12:00 #2
Problemet ligger i, at den melder fejl, når jeg kører det script. Og jeg ved ikke hvorfor.

Alt der står ovenfor, skal være med. :)
Du kan lige få fejlkoden:

Microsoft VBScript compilation  error '800a03ea'

Syntax error

/scripts/tagwall/Default.asp, line 119

Function smiley(s)
^
Avatar billede Slettet bruger
17. december 2005 - 12:06 #3
Nedenstående på min IIS giver : Her er en eller anden besked <img src="omg.gif" alt="omg" />

<%
    Function smiley(s)
        conv = s
        'Konverterer linieskift
        conv = Replace(conv, VbCrlf, "<br />")
        'Konverterer smileys :)
        conv = Replace(conv, "&lt;br /&gt;", "<br />")
        conv = Replace(conv, ":)", "<img src=""smile.gif"" alt=""smile"" />")
        conv = Replace(conv, ":(", "<img src=""sad.gif"" alt=""sad"" />")
        conv = Replace(conv, ":'(", "<img src=""cry.gif"" alt=""cry"" />")
        conv = Replace(conv, ":D", "<img src=""laugh.gif"" alt=""laugh"" />")
        conv = Replace(conv, ":P", "<img src=""tongue.gif"" alt=""tongue"" />")
        conv = Replace(conv, ":S", "<img src=""confused.gif"" alt=""confused"" />")
        conv = Replace(conv, ":#|", "<img src=""red.gif"" alt=""red"" />")
        conv = Replace(conv, ":|", "<img src=""what.gif"" alt=""what"" />")
        conv = Replace(conv, ":O", "<img src=""omg.gif"" alt=""omg"" />")
        conv = Replace(conv, ";)", "<img src=""wink.gif"" alt=""wink"" />")
        conv = Replace(conv, ":p", "<img src=""tongue.gif"" alt=""tongue"" />")
        conv = Replace(conv, ":s", "<img src=""confused.gif"" alt=""confused"" />")
        conv = Replace(conv, ":o", "<img src=""omg.gif"" alt=""omg"" />")
        smiley = conv
    End function
 
'    tekst = Server.HTMLEncode(tagwall.Fields("besked"))
    tekst = Server.HTMLEncode("Her er en eller anden besked :o")
    Response.Write smiley(tekst)
%>


Er du sikker på det ikke er noget som ligger over din funktion Smiley ?
Avatar billede saudoo Nybegynder
17. december 2005 - 12:16 #4
Ja desværre.. :\ Det er også det eneste sted en funktion finder sted..
Avatar billede Slettet bruger
17. december 2005 - 12:17 #5
Men du har noget kode over smiley funktionen ikke ? Eller et include ?
Avatar billede saudoo Nybegynder
17. december 2005 - 12:31 #6
Altså.. funktionen kører i en While Wend... Og der er også en databasetilslutning over.. Ellers bare javascript, html og css..

Jeg kan godt smide dig koden, hvis det er?.. Men den fylder lidt.
Avatar billede Slettet bruger
17. december 2005 - 12:34 #7
Du skal helt sikkert lede efter problemet over funktionen, det du oplever sker typisk hvis er mangler noget end if, paranteser eller string afslutninger "jj" , så opdager fortolkeren det først når den kommer til noget den kan genkende og ikke skal være i kontekst.
Avatar billede saudoo Nybegynder
17. december 2005 - 13:11 #8
Uhm.. okay.. prøver lidt at lede siden igennem så.. :)
Avatar billede saudoo Nybegynder
17. december 2005 - 13:21 #9
Jeg kan ikke finde nogle fejl. Det skal også siges, at fejlen opstod, efter jeg lavede funktionen.. :S
Avatar billede Slettet bruger
17. december 2005 - 13:24 #10
prøv lige at poste det hele så
Avatar billede saudoo Nybegynder
17. december 2005 - 13:31 #11
<%
Option Explicit

dim tekst, database, billede
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Gæstebog</title>
       
        <style type="text/css">
            *    {
                font-family: Verdana, Arial, Helvetica, sans-serif;
                font-size: 8pt;
            }
           
            .navn    {
                width: 216px;
            }
           
            .email    {
                width: 97px;
            }
           
            textarea    {
                width: 216px;
                height: 80px;
            }
        </style>
       
    <script type="text/javascript">
   
        function nospam(name,domain){
      window.location = 'mailto:' + name + '@' + domain;
      }
       
    function validering()
      {
      error = 0;
   
         
      if((document.forms[0].navn.value=='') && (error==0)) 
      { 
        alert('Du skal skrive et navn!');
        document.forms[0].navn.focus();
        error = 1; 
      } 
     
            if((document.forms[0].besked.value=='') && (error==0)) 
      { 
        alert('Du skal huske at skrive en besked!');
        document.forms[0].besked.focus();
        error = 1; 
      }
           
      if(error == 0)
      document.forms[0].submit();
      }
   
      function emoticon(text) {
        var txtarea = document.post.besked;
        text = ' ' + text + ' ';
          if (txtarea.createTextRange && txtarea.caretPos) {
            var caretPos = txtarea.caretPos;
            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
            txtarea.focus();
        } else {
          txtarea.value  += text;
          txtarea.focus();
        }
      }
       
    </script>
       
    </head>
   
    <body>
       
        <%
        'Bestemmer databasens sti
        database = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "../db/database.mdb"

        'Tager kontakt til databasens tabel "tagwall"
        Set tagwall = Server.CreateObject("ADODB.Recordset")
        tagwall.Open "SELECT * FROM tagwall ORDER by id DESC", database
        %>
        <table style="width: 450px; border: 0px;" cellspacing="0" cellpadding="2">
            <tr>
                <td style="height: 10px;" colspan="2">
                </td>
            </tr>
            <tr>
                <td style="width: 20%;"><span style="position: relative; left: 5px;"><b>Gæstebog</b></span></td>
                <td style="width: 80%; text-align: right;"><span style="padding: 2px 5px 0px 0px;"><a href="#indlaeg" style="color: grey; text-decoration: none; font-weight: bold;">&#0187; Skriv et indlæg i gæstebogen</a></span></td>
            </tr>
            <tr>
                <td style="height: 5px;">
                </td>
            </tr>
            <!-- start besked -->
            <%
                While NOT tagwall.EOF
                'Ændrer farven for hver besked
                    If billede = "besked1.png" Then
                        billede = "besked2.png"
                    Else
                        billede = "besked1.png"
                    End If
            %>
            <tr style="background-image: url(<% = billede %>);">
                <td style="width: 55%;"><b>Navn:</b> <% = tagwall.Fields("navn") %></td>
                <td style="width: 45%; text-align: right; padding: 0px 5px 0px 0px;"><% If tagwall.Fields("email1") = "" AND tagwall.Fields("email2") = "" Then
                    Response.Write "<span style=""color: silver; text-decoration: none; font-weight: bold;"">Adresse ikke angivet</span>"
                   
                    Else
                %><a href="java script:nospam('<% = tagwall.Fields("email1") %>','<% = tagwall.Fields("email2") %>');" style="color: silver; text-decoration: none; font-weight: bold;">Mail</a><% End If %></td>
            </tr>
            <tr style="background-image: url(<% = billede %>);">
                <td colspan="2">
                  <%
                    Function smiley(s)
                        conv = s
                        'Konverterer linieskift
                        conv = Replace(conv, VbCrlf, "<br />")
                        'Konverterer smileys :)
                        conv = Replace(conv, "&lt;br /&gt;", "<br />")
                        conv = Replace(conv, ":)", "<img src=""smile.gif"" alt=""smile"" />")
                        conv = Replace(conv, ":(", "<img src=""sad.gif"" alt=""sad"" />")
                        conv = Replace(conv, ":'(", "<img src=""cry.gif"" alt=""cry"" />")
                        conv = Replace(conv, ":D", "<img src=""laugh.gif"" alt=""laugh"" />")
                        conv = Replace(conv, ":P", "<img src=""tongue.gif"" alt=""tongue"" />")
                        conv = Replace(conv, ":S", "<img src=""confused.gif"" alt=""confused"" />")
                        conv = Replace(conv, ":#|", "<img src=""red.gif"" alt=""red"" />")
                        conv = Replace(conv, ":|", "<img src=""what.gif"" alt=""what"" />")
                        conv = Replace(conv, ":O", "<img src=""omg.gif"" alt=""omg"" />")
                        conv = Replace(conv, ";)", "<img src=""wink.gif"" alt=""wink"" />")
                        conv = Replace(conv, ":p", "<img src=""tongue.gif"" alt=""tongue"" />")
                        conv = Replace(conv, ":s", "<img src=""confused.gif"" alt=""confused"" />")
                        conv = Replace(conv, ":o", "<img src=""omg.gif"" alt=""omg"" />")
                        smiley = conv
                    End function
                   
                    tekst = Server.HTMLEncode(tagwall.Fields("besked"))
                    Response.Write smiley(tekst)
                  %>
                </td>
            </tr>
            <tr style="background-image: url(<% = billede %>);">
                <td colspan="2" style="height: 5px;"><span style="font-size: 8px; color: silver; font-weight: bold;">Tilføjet:</span> <span style="font-size: 8px; color: silver;">
              <% = tagwall.Fields("dato") %></span></td>
            </tr>
            <tr style="background-image: url(<% = billede %>);">
                <td style="height: 10px;" colspan="2"></td>
            </tr>
            <%
                tagwall.MoveNext
                Wend
            %>
            <!-- slut besked -->
            <tr>
                <td style="height: 7px;" colspan="2"></td>
            </tr>
            <tr style="background-image: url(bagform.png); background-repeat: repeat-x; background-color: #F4F4F4;">
                <td colspan="2">
                <!-- Start form -->
                <a name="indlaeg"></a>
                <form method="post" action="default.asp?action=skriv" onsubmit="validering();return false;" name="post">
                    <b>Dit navn:</b><br/>
                    <input type="text" name="navn" class="navn" value="" /><br /><br />
                    <b>Din email:</b><br/>
                    <input type="text" name="email1" value="" class="email" /> @ <input type="text" name="email2" value="" class="email" /><br />
                                <span style="color: grey;">Din email-adresse bliver beskyttet <br />mod mailcrawlere på siden.</span>
                    <br /><br />
                    <a href="java script:emoticon(':)')"><img src="smile.gif" alt="smile" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':(')"><img src="sad.gif" alt="sad" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':\'(')"><img src="cry.gif" alt="cry" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':D')"><img src="laugh.gif" alt="laugh" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':P')"><img src="tongue.gif" alt="tongue" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':S')"><img src="confused.gif" alt="confused" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':#|')"><img src="red.gif" alt="red" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':|')"><img src="what.gif" alt="what" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':O')"><img src="omg.gif" alt="omg" style="border: 0px;" /></a>
                    <a href="java script:emoticon(';)')"><img src="wink.gif" alt="wink" style="border: 0px;" /></a>
                    <br />
                    <textarea name="besked" rows="1" cols="1"></textarea><br /><br />
                    &nbsp;<input type="image" src="knap.gif" class="submit" value="Tag det" />
                </form>
                <!-- Slut form -->
                <%
                'Tilføjer til databasen
                If Request("action") = "skriv" Then
                    tagwall.Close
                   
                    Set tagwall = Server.CreateObject("ADODB.Recordset")
                    tagwall.Open "tagwall", database, 2, 2
                   
                    tagwall.Addnew
                        tagwall("navn") = Request.Form("navn")
                        tagwall("besked") = Request.Form("besked")
                        tagwall("email1") = Request.Form("email1")
                        tagwall("email2") = Request.Form("email2")
                        tagwall("dato") = FormatDateTime(Now, VbShortDate)
                    tagwall.Update
                   
                    Response.Redirect("default.asp")
                   
                End If
                %>
                </td>
            </tr>
        </table>
    </body>
</html>
Avatar billede Slettet bruger
17. december 2005 - 13:35 #12
Du skal flytte din funktions definition us fra while loop, der må den ikke stå.

prøv med nedenstående :
<%
Option Explicit

dim tekst, database, billede

Function smiley(s)
    conv = s
    'Konverterer linieskift
    conv = Replace(conv, VbCrlf, "<br />")
    'Konverterer smileys :)
    conv = Replace(conv, "&lt;br /&gt;", "<br />")
    conv = Replace(conv, ":)", "<img src=""smile.gif"" alt=""smile"" />")
    conv = Replace(conv, ":(", "<img src=""sad.gif"" alt=""sad"" />")
    conv = Replace(conv, ":'(", "<img src=""cry.gif"" alt=""cry"" />")
    conv = Replace(conv, ":D", "<img src=""laugh.gif"" alt=""laugh"" />")
    conv = Replace(conv, ":P", "<img src=""tongue.gif"" alt=""tongue"" />")
    conv = Replace(conv, ":S", "<img src=""confused.gif"" alt=""confused"" />")
    conv = Replace(conv, ":#|", "<img src=""red.gif"" alt=""red"" />")
    conv = Replace(conv, ":|", "<img src=""what.gif"" alt=""what"" />")
    conv = Replace(conv, ":O", "<img src=""omg.gif"" alt=""omg"" />")
    conv = Replace(conv, ";)", "<img src=""wink.gif"" alt=""wink"" />")
    conv = Replace(conv, ":p", "<img src=""tongue.gif"" alt=""tongue"" />")
    conv = Replace(conv, ":s", "<img src=""confused.gif"" alt=""confused"" />")
    conv = Replace(conv, ":o", "<img src=""omg.gif"" alt=""omg"" />")
    smiley = conv
End function

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Gæstebog</title>
     
        <style type="text/css">
            *    {
                font-family: Verdana, Arial, Helvetica, sans-serif;
                font-size: 8pt;
            }
         
            .navn    {
                width: 216px;
            }
         
            .email    {
                width: 97px;
            }
         
            textarea    {
                width: 216px;
                height: 80px;
            }
        </style>
     
    <script type="text/javascript">
 
        function nospam(name,domain){
      window.location = 'mailto:' + name + '@' + domain;
      }
     
    function validering()
      {
      error = 0;
 
       
      if((document.forms[0].navn.value=='') && (error==0))
      {
        alert('Du skal skrive et navn!');
        document.forms[0].navn.focus();
        error = 1;
      }
   
            if((document.forms[0].besked.value=='') && (error==0))
      {
        alert('Du skal huske at skrive en besked!');
        document.forms[0].besked.focus();
        error = 1;
      }
         
      if(error == 0)
      document.forms[0].submit();
      }
 
      function emoticon(text) {
        var txtarea = document.post.besked;
        text = ' ' + text + ' ';
          if (txtarea.createTextRange && txtarea.caretPos) {
            var caretPos = txtarea.caretPos;
            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
            txtarea.focus();
        } else {
          txtarea.value  += text;
          txtarea.focus();
        }
      }
     
    </script>
     
    </head>
 
    <body>
     
        <%
        'Bestemmer databasens sti
        database = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "../db/database.mdb"

        'Tager kontakt til databasens tabel "tagwall"
        Set tagwall = Server.CreateObject("ADODB.Recordset")
        tagwall.Open "SELECT * FROM tagwall ORDER by id DESC", database
        %>
        <table style="width: 450px; border: 0px;" cellspacing="0" cellpadding="2">
            <tr>
                <td style="height: 10px;" colspan="2">
                </td>
            </tr>
            <tr>
                <td style="width: 20%;"><span style="position: relative; left: 5px;"><b>Gæstebog</b></span></td>
                <td style="width: 80%; text-align: right;"><span style="padding: 2px 5px 0px 0px;"><a href="#indlaeg" style="color: grey; text-decoration: none; font-weight: bold;">&#0187; Skriv et indlæg i gæstebogen</a></span></td>
            </tr>
            <tr>
                <td style="height: 5px;">
                </td>
            </tr>
            <!-- start besked -->
            <%
                While NOT tagwall.EOF
                'Ændrer farven for hver besked
                    If billede = "besked1.png" Then
                        billede = "besked2.png"
                    Else
                        billede = "besked1.png"
                    End If
            %>
            <tr style="background-image: url(<% = billede %>);">
                <td style="width: 55%;"><b>Navn:</b> <% = tagwall.Fields("navn") %></td>
                <td style="width: 45%; text-align: right; padding: 0px 5px 0px 0px;"><% If tagwall.Fields("email1") = "" AND tagwall.Fields("email2") = "" Then
                    Response.Write "<span style=""color: silver; text-decoration: none; font-weight: bold;"">Adresse ikke angivet</span>"
                 
                    Else
                %><a href="java script:nospam('<% = tagwall.Fields("email1") %>','<% = tagwall.Fields("email2") %>');" style="color: silver; text-decoration: none; font-weight: bold;">Mail</a><% End If %></td>
            </tr>
            <tr style="background-image: url(<% = billede %>);">
                <td colspan="2">
                  <%
                    tekst = Server.HTMLEncode(tagwall.Fields("besked"))
                    Response.Write smiley(tekst)
                  %>
                </td>
            </tr>
            <tr style="background-image: url(<% = billede %>);">
                <td colspan="2" style="height: 5px;"><span style="font-size: 8px; color: silver; font-weight: bold;">Tilføjet:</span> <span style="font-size: 8px; color: silver;">
              <% = tagwall.Fields("dato") %></span></td>
            </tr>
            <tr style="background-image: url(<% = billede %>);">
                <td style="height: 10px;" colspan="2"></td>
            </tr>
            <%
                tagwall.MoveNext
                Wend
            %>
            <!-- slut besked -->
            <tr>
                <td style="height: 7px;" colspan="2"></td>
            </tr>
            <tr style="background-image: url(bagform.png); background-repeat: repeat-x; background-color: #F4F4F4;">
                <td colspan="2">
                <!-- Start form -->
                <a name="indlaeg"></a>
                <form method="post" action="default.asp?action=skriv" onsubmit="validering();return false;" name="post">
                    <b>Dit navn:</b><br/>
                    <input type="text" name="navn" class="navn" value="" /><br /><br />
                    <b>Din email:</b><br/>
                    <input type="text" name="email1" value=" class="email" /> @ <input type="text" name="email2" value=" class="email" /><br />
                                <span style="color: grey;">Din email-adresse bliver beskyttet <br />mod mailcrawlere på siden.</span>
                    <br /><br />
                    <a href="java script:emoticon(':)')"><img src="smile.gif" alt="smile" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':(')"><img src="sad.gif" alt="sad" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':\'(')"><img src="cry.gif" alt="cry" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':D')"><img src="laugh.gif" alt="laugh" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':P')"><img src="tongue.gif" alt="tongue" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':S')"><img src="confused.gif" alt="confused" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':#|')"><img src="red.gif" alt="red" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':|')"><img src="what.gif" alt="what" style="border: 0px;" /></a>
                    <a href="java script:emoticon(':O')"><img src="omg.gif" alt="omg" style="border: 0px;" /></a>
                    <a href="java script:emoticon(';)')"><img src="wink.gif" alt="wink" style="border: 0px;" /></a>
                    <br />
                    <textarea name="besked" rows="1" cols="1"></textarea><br /><br />
                    &nbsp;<input type="image" src="knap.gif" class="submit" value="Tag det" />
                </form>
                <!-- Slut form -->
                <%
                'Tilføjer til databasen
                If Request("action") = "skriv" Then
                    tagwall.Close
                 
                    Set tagwall = Server.CreateObject("ADODB.Recordset")
                    tagwall.Open "tagwall", database, 2, 2
                 
                    tagwall.Addnew
                        tagwall("navn") = Request.Form("navn")
                        tagwall("besked") = Request.Form("besked")
                        tagwall("email1") = Request.Form("email1")
                        tagwall("email2") = Request.Form("email2")
                        tagwall("dato") = FormatDateTime(Now, VbShortDate)
                    tagwall.Update
                 
                    Response.Redirect("default.asp")
                 
                End If
                %>
                </td>
            </tr>
        </table>
    </body>
</html>
Avatar billede saudoo Nybegynder
17. december 2005 - 14:25 #13
Fantastisk. Så virker det.

Hvis jeg nu tænkte mig om, kunne det også sige sig selv, at man ikke kunne smide den i en et loop. Men så er det jo godt, at du lige kunne slå det ind i mit hoved. :)

Mange tak.
Avatar billede Slettet bruger
18. december 2005 - 05:39 #14
svar ;)
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
Kurser inden for grundlæggende programmering

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