Avatar billede kimborg Nybegynder
06. november 2006 - 17:40 Der er 22 kommentarer og
1 løsning

Flyt værdi fra en select til en anden select

Har denne kode som umiddelbart virker, jeg kan bare ikke få den til at tilføje modtagerne fra "GroupTo"

Håber nogen kan hjælpe....


<%
If Request.Querystring("send") = "" then
%>
<!--#include file="connection.inc"-->
<%
strSQL = "Select * From Brodre"
Set rs = Conn.Execute(strSQL)
%>

<center>
<script src="valid_mail.js" type="text/javascript"></script>
<form action="mail.asp?send=ja" method="post" onsubmit="validering();return false;">
  <table width="400px" style="font-size:13px;" cellspacing="0">
  <tr>
  <td align="center">
  <select name="GroupFrom" size="6" multiple style="width:175px" onDblClick="java script:addSingle('Group')">
<%
  if Rs.EOF or Rs.BOF then
    Response.Write "<i>Der var ingen brødre i databasen...</i>"
  else
  Do until Rs.EOF
    Response.Write "<option value='" & rs("Email") & "'>" & rs("Fornavn") & " " & rs("Efternavn") & "</option>"
  Rs.MoveNext
  Loop
  End if
  rs.close
%>
  </select>
  </td>
  <td align="center">
  <input type="button" class="knap" id="GroupBut1" value=" &gt; " onClick="java script:addSelected('Group')"><br>
  <input type="button" class="knap" id="GroupBut2" value="&gt;&gt;" onClick="java script:addAll('Group')"><br>
  <input type="button" class="knap" id="GroupBut3" value="&lt;&lt;" onClick="java script:removeAll('Group')"><br>
  <input type="button" class="knap" id="GroupBut4" value=" &lt; " onClick="java script:removeSelected('Group')">
  </td>
  <td align="center">
  <select name="GroupTo" size="6" multiple style="width:175px" onDblClick="java script:removeSingle('Group');">
  </select>
  </td>
  </tr>
  </table>
  <table width="400px" style="font-size:13px;" cellspacing="0">
  <tr>
    <td height="10px"></td>
  </tr>
  <tr>
    <td>Overskrift:</td><td><input type="text" size="49" name="emne"></td>
  </tr>
  <tr>
    <td height="10px"></td>
  </tr>
  <tr>
    <td colspan="2">Besked i mailen (html):</td>
  </tr>
  <tr>
    <td colspan="2"><textarea name="indhold" cols="47" rows="10"></textarea></td>
  </tr>
  <tr>
    <td colspan="2"><hr style="color:#666666;"></td>
  </tr>
  <tr>
    <td colspan="2"><b>Afsenderinformation:</b></td>
  </tr>
  <tr>
<%
strSQL2 = "Select * From Brodre WHERE brugernavn = '" & Replace(Session("bruger"),"'","''") & "'"
Set rs2 = Conn.Execute(strSQL2)
%>
    <td>Afsender:</td><td><input type="text" size="18" name="afsender" value="<%=rs2("Fornavn")%>&nbsp;<%=rs2("Efternavn")%>" disabled>&nbsp;&nbsp;<input type="text" size="18" name="afsendermail" value="<%=rs2("Email")%>" disabled></td>
  </tr>
  <tr>
    <td colspan="2"><hr style="color:#333333;"></td>
  </tr>
  <tr>
    <td><input type="reset" value="Nulstil"></td><td align="right"><input type="submit" value="Send mail" onClick="return confirm('Klar til at sende mail?'); history.go()"></td>
  </tr>
  </table>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function addAll(navn) {
    while (document.getElementById(navn+'From').length>0) {
        document.getElementById(navn+'To')[document.getElementById(navn+'To').length] = new Option(document.getElementById(navn+'From')[0].text,document.getElementById(navn+'To').length);
        document.getElementById(navn+'To')[document.getElementById(navn+'To').length-1].value = document.getElementById(navn+'From')[0].value;
        document.getElementById(navn+'From')[0]=null;
    }
}
function removeAll(navn) {
    while (document.getElementById(navn+'To').length>0) {
        document.getElementById(navn+'From')[document.getElementById(navn+'From').length] = new Option(document.getElementById(navn+'To')[0].text,document.getElementById(navn+'From').length);
        document.getElementById(navn+'From')[document.getElementById(navn+'From').length-1].value = document.getElementById(navn+'To')[0].value;
        document.getElementById(navn+'To')[0]=null;
    }
}
function addSelected(navn) {
    var x = 0;
    while (x<document.getElementById(navn+'From').length) {
        if (document.getElementById(navn+'From')[x].selected == true) {
            document.getElementById(navn+'To')[document.getElementById(navn+'To').length] = new Option(document.getElementById(navn+'From')[x].text,document.getElementById(navn+'To').length);
            document.getElementById(navn+'To')[document.getElementById(navn+'To').length-1].value = document.getElementById(navn+'From')[x].value;
            document.getElementById(navn+'From')[x]=null;
        }
        else
          x++;
    }
}
function removeSelected(navn) {
    var x = 0;
    while (x<document.getElementById(navn+'To').length) {
        if (document.getElementById(navn+'To')[x].selected == true) {
            document.getElementById(navn+'From')[document.getElementById(navn+'From').length] = new Option(document.getElementById(navn+'To')[x].text,document.getElementById(navn+'From').length);
            document.getElementById(navn+'From')[document.getElementById(navn+'From').length-1].value = document.getElementById(navn+'To')[x].value;
            document.getElementById(navn+'To')[x]=null;
        }
        else
            x++;
    }
}
function addSingle(navn) {
    if (document.getElementById(navn+'From').selectedIndex >= 0) {
        document.getElementById(navn+'To')[document.getElementById(navn+'To').length] = new Option(document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].text,document.getElementById(navn+'To').length);
        document.getElementById(navn+'To')[document.getElementById(navn+'To').length-1].value = document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].value;
        document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex]=null;
    }
}
function removeSingle(navn) {
    if (document.getElementById(navn+'To').selectedIndex >= 0) {
        document.getElementById(navn+'From')[document.getElementById(navn+'From').length] = new Option(document.getElementById(navn+'To')[document.getElementById(navn+'To').selectedIndex].text,document.getElementById(navn+'From').length);
        document.getElementById(navn+'From')[document.getElementById(navn+'From').length-1].value = document.getElementById(navn+'To')[document.getElementById(navn+'To').selectedIndex].value;
        document.getElementById(navn+'To')[document.getElementById(navn+'To').selectedIndex]=null;
    }
}

//-->
</SCRIPT>
</form>
</center>

<%
Else

Emne = Request.Form("emne")
Indhold = Request.Form("indhold")
Fuldenavn = Request.Form("fnavn") & " " & Request.Form("enavn")
Email = Request.Form("GroupTo")
Afsender = Request.Form("afsender")
Afmail = Request.Form("afsendermail")

htmlbody = "<html><head><link rel=""stylesheet"" type=""text/css"" href=""http://elitesociety.dk/mail_layout.css""></head><body><div class=""outer""><div class=""banner""><img src=""http://elitesociety.dk/layout/images/Logo_top.jpg""></div><div class=""content"">"
htmlbody = htmlbody & "<br><br><br>" & Afsender & " har sendt følgende besked fra Elite Society:<br><hr style=""color:#666666;""><br>" & Indhold & "<br><br><a href=""http://elitesociety.dk"">Elite Society</a>"
htmlbody = htmlbody & "</div><div class=""footer"">&copy; 2006 - Elite Society</div></body></html>"

set msg = Server.CreateOBject("JMail.Message")
msg.Logging = true
msg.From = Afmail
msg.FromName = "Elite Society - " & Afsender
msg.AddRecipient Email
msg.Subject = Request.Form("Emne")
msg.HTMLBody = htmlbody
msg.ContentType = "text/html"
msg.ISOEncodeHeaders = false
msg.Priority = false
msg.MailDomain = "mail.xxxxx.dk"
msg.MailServerUserName = "xxxx@xxxxxx.dk"
msg.MailServerPassWord = "xxxxx"
msg.Send ("mail.xxxxxxx.dk")
set msg = Nothing

Response.Write("<script>java script:alert('Din mail er nu afsendt.')</script>")
%>
Avatar billede thesurfer Nybegynder
06. november 2006 - 18:09 #1
Husk at checke om mailen faktisk bliver sendt.. http://support.rapidsystem.net/ntfaq/jmail.htm og fjern "java script:" fra scriptet

Noget i stil med:

msg.Silent = true
dim besked
besked = ""

if msg.Execute() then
' mailen blev sent
besked = "Mailen blev sendt"
else
' mailen blev IKKE sendt
besked = "Der opstod en fejl.. mailen blev ikke sendt"
end if

response.write "<script type=""text/JavaScript"" language=""JavaScript"">alert('" & besked & "');</script>"
Avatar billede kimborg Nybegynder
06. november 2006 - 19:24 #2
"java script:" er ikke indenfor:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

</SCRIPT>

Fejlen er om siden kan sende mailen, men at modtagerne ikke bliver tilføjet, jeg kigger selvfølgelig på det andet aligevel.

Jeg får bare en fejl om at msg.AddRecipient er "tom"
Avatar billede thesurfer Nybegynder
06. november 2006 - 19:49 #3
"java script:" er i sidste linie i teksten i dit spørgsmål.

Få din kode til at se sådan du:

Emne = Request.Form("emne")
Indhold = Request.Form("indhold")
Fuldenavn = Request.Form("fnavn") & " " & Request.Form("enavn")
Email = Request.Form("GroupTo")
response.write "Email: *" & email & "*" '---------------- debug-linie
response.end '---------------- debug-linie
Afsender = Request.Form("afsender")
Afmail = Request.Form("afsendermail")

Læg mærke til debug-lininer..

Hvad skriver den til dig?

Hvis den bare skriver "Email: **", er det fordi feltet "GroupTo" er tomt inden formen submittes..
Avatar billede kimborg Nybegynder
06. november 2006 - 20:02 #4
Og der gør den, hvad dælen gør jeg forkert??
Avatar billede thesurfer Nybegynder
06. november 2006 - 20:08 #5
Jamen, hvad er værdien af select-box-elementet, når du klikker på "Send mail"? :-)

Det er jo der du henter din "GroupTo"-værdi, som du sætter til din modtager..
Avatar billede kimborg Nybegynder
06. november 2006 - 20:13 #6
Hmmm... når jeg ser kilden inden submit kan jeg se at alle modtagere stadig er i GroupFrom selvom jeg på siden kan se at de flyttet over i GroupTo....
Avatar billede thesurfer Nybegynder
06. november 2006 - 20:17 #7
Hmm..

Hvad står der i select-box-elementet, når du kigger på det? Ikke i kildekoden, men på siden der vises i browseren..

Det er der sendes over.. ikke hvad du kan se, når du klikker på pil-ned, eller i kildekoden..

Det er kun det der er synligt ved siden af pil-ned-delen af select-box-elementet, der kommer med over..
Avatar billede kimborg Nybegynder
06. november 2006 - 20:25 #8
Ahhh.... GroupTo boksens værdier(navne) skal være markeret inden jeg submitter, jeg prøver vist lige det script fra html.dk, men der kan man desværre ikke tilføje alt på en gang...
Avatar billede thesurfer Nybegynder
06. november 2006 - 20:34 #9
Select-box-elementer sender kun 1 værdi afsted: Det du kan se, efter du har markeret noget

Hvis du skal sendes flere værdier, kan du bruge en textarea eller en skjult textbox med en separator.

Eksempel: jens@jensen.dk=hans@hansen=ole@olesen.dk

Som du kan se, har jeg valgt "=" som separator.

Jeg kan derefter splitte strenge op ved "=" og få fat på værdierne:

emails = request.form("mange_email_adresser")
emails = split(emails, "=")

modtager = ""

for i = 0 to ubound(emails)
  modtager = modtager & emails(i) & ","
next
modtager = left(modtager, len(modtager) - 1) ' fjerner det sidste ","

Og så kan jeg bruge:

Emne = Request.Form("emne")
Indhold = Request.Form("indhold")
Fuldenavn = Request.Form("fnavn") & " " & Request.Form("enavn")
Email = modtager
response.write "modtager: *" & modtager & "*" '---------------- debug-linie
response.end '---------------- debug-linie
Afsender = Request.Form("afsender")
Afmail = Request.Form("afsendermail")


Det skal lige siges, at du skal lave et script, der tager alle værdierne fra en gruppe, og tilføjer dem til en skjult textbox med navnet "mange_email_adresser"..

Dvs: <input type="hidden" name="mange_email_adresser">
Avatar billede kimborg Nybegynder
06. november 2006 - 20:57 #10
I det script fra html.dk lader der til at være en "selectAll" så der submittes alt indhold i select2 og det virker, men der kommer bare ingen mails, ved valg af flere modtagere ser de således ved debug: jens@jensen.dk, niels@nielsen.dk o.s.v.

koden:

<%
If Request.Querystring("send") = "" then
%>
<!--#include file="connection.inc"-->
<%
strSQL = "Select * From Brodre"
Set rs = Conn.Execute(strSQL)
%>

<script type="text/javascript">

function deleteOption(object,index) {
    object.options[index] = null;
}

function addOption(object,text,value) {
    var defaultSelected = true;
    var selected = true;
    var optionName = new Option(text, value, defaultSelected, selected)
    object.options[object.length] = optionName;
}

function copySelected(fromObject,toObject) {
    for (var i=0, l=fromObject.options.length;i<l;i++) {
        if (fromObject.options[i].selected)
            addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
    }
    for (var i=fromObject.options.length-1;i>-1;i--) {
        if (fromObject.options[i].selected)
            deleteOption(fromObject,i);
    }
}

function SelectAll(fromObject) {
    for (var i=0, l=fromObject.options.length;i<l;i++) {
        fromObject.options[i].text,fromObject.options[i].selected = true;
    }
}

</script>

<center>
<script src="valid_mail.js" type="text/javascript"></script>
<form action="mail_ny.asp?send=ja" method="post" onsubmit="validering();return false;">

  <table width="400px" style="font-size:13px;" cellspacing="0">
  <tr>
  <td align="center">

  <select name="select1" size="6" multiple style="width:175px">
<%
  if Rs.EOF or Rs.BOF then
    Response.Write "<i>Der var ingen brødre i databasen...</i>"
  else
  Do until Rs.EOF
    Response.Write "<option value='" & rs("Email") & "'>" & rs("Fornavn") & " " & rs("Efternavn") & "</option>"
  Rs.MoveNext
  Loop
  End if
  rs.close
%>
  </select>
  </td>
  <td align="center">
  <input type='button' style="width:70px;" value='Tilføj >' onClick="copySelected(this.form.select1,this.form.select2)">
  <br>
  <input type='button' style="width:70px;" value='< Fjern' onClick="copySelected(this.form.select2,this.form.select1)">
  </td>
  <td align="center">
  <select name="select2" size="6" multiple style="width:175px">
  </select>
  </td>
  </tr>
  </table>
  <table width="400px" style="font-size:13px;" cellspacing="0">
  <tr>
    <td height="10px"></td>
  </tr>
  <tr>
    <td>Overskrift:</td><td><input type="text" size="49" name="emne"></td>
  </tr>
  <tr>
    <td height="10px"></td>
  </tr>
  <tr>
    <td colspan="2">Besked i mailen (html):</td>
  </tr>
  <tr>
    <td colspan="2"><textarea name="indhold" cols="47" rows="10"></textarea></td>
  </tr>
  <tr>
    <td colspan="2"><hr style="color:#666666;"></td>
  </tr>
  <tr>
    <td colspan="2"><b>Afsenderinformation:</b></td>
  </tr>
  <tr>
<%
strSQL2 = "Select * From Brodre WHERE brugernavn = '" & Replace(Session("bruger"),"'","''") & "'"
Set rs2 = Conn.Execute(strSQL2)
%>
    <td>Afsender:</td><td><input type="text" size="18" name="afsender" value="<%=rs2("Fornavn")%>&nbsp;<%=rs2("Efternavn")%>" disabled>&nbsp;&nbsp;<input type="text" size="18" name="afsendermail" value="<%=rs2("Email")%>" disabled></td>
  </tr>
  <tr>
    <td colspan="2"><hr style="color:#333333;"></td>
  </tr>
  <tr>
    <td><input type="reset" value="Nulstil"></td><td align="right"><input type="submit" value="Send mail" onClick="SelectAll(this.form.select2);submit()"></td>
  </tr>
  </table>
</form>
</center>

<%
Else

Emne = Request.Form("emne")
Indhold = Request.Form("indhold")
Fuldenavn = Request.Form("fnavn") & " " & Request.Form("enavn")
Email = Request.Form("select2")
Afsender = Request.Form("afsender")
Afmail = Request.Form("afsendermail")
'Response.Write "Email: " & Email
'Response.End

htmlbody = "<html><head><link rel=""stylesheet"" type=""text/css"" href=""http://elitesociety.dk/mail_layout.css""></head><body><div class=""outer""><div class=""banner""><img src=""http://elitesociety.dk/layout/images/Logo_top.jpg""></div><div class=""content"">"
htmlbody = htmlbody & "<br><br><br>" & Afsender & " har sendt følgende besked fra Elite Society:<br><hr style=""color:#666666;""><br>" & Indhold & "<br><br><a href=""http://elitesociety.dk"">Elite Society</a>"
htmlbody = htmlbody & "</div><div class=""footer"">&copy; 2006 - Elite Society</div></body></html>"

set msg = Server.CreateOBject("JMail.Message")
msg.Logging = true
msg.From = Afmail
msg.FromName = "Elite Society - " & Afsender
msg.AddRecipient Email
msg.Subject = Request.Form("Emne")
msg.HTMLBody = htmlbody
msg.ContentType = "text/html"
msg.ISOEncodeHeaders = false
msg.Priority = false
msg.MailDomain = "mail.elitesociety.dk"
msg.MailServerUserName = "xxxxxxxxx@xxxx.dk"
msg.MailServerPassWord = "xxxxxxxxx"
msg.Send ("mail.elitesociety.dk")
set msg = Nothing

Response.Write "<script language=""javascript"" type=""text/javascript"">alert('Din mail er nu afsendt.')</script>"
%>
<script language="javascript" type="text/javascript">setTimeout("location.href='mail.asp';",1000);</script>
<%
End if
%>
Avatar billede thesurfer Nybegynder
06. november 2006 - 20:58 #11
Smid lige et link til html.dk scriptet..
Avatar billede kimborg Nybegynder
06. november 2006 - 21:09 #12
Det er det jeg har brugt i: 20:57:27

http://www.html.dk/scripts/javascript/00006/
Avatar billede thesurfer Nybegynder
06. november 2006 - 21:25 #13
Jeg har godt nok haft travlt med at besvare spørgsmål i aften.. :-)

Jeg skal nok kigge på det..
Avatar billede thesurfer Nybegynder
06. november 2006 - 21:36 #14
Find linien: SelectAll(this.form.select2);submit()

Ændrer den til: SelectAll(this.form.GroupTo);submit()"
Avatar billede thesurfer Nybegynder
06. november 2006 - 21:37 #15
Med andre ord, skal submit-knappen bare se sådan ud:

<input type="submit" value="Send mail" onClick="SelectAll(this.form.GroupTo);submit()">
Avatar billede thesurfer Nybegynder
06. november 2006 - 21:43 #16
Men så vidt jeg kan se, er det kun index nummeret der kommer med over..

Jeg laver lige om på SelectAll funktionen, så den tager værdierne..
Avatar billede thesurfer Nybegynder
06. november 2006 - 21:56 #17
Her er rettelserne:

function SelectAll(f)
{
        tmp = "";
    for (var i=0, l=f.GroupTo.options.length; i < l; i++)
        {
                tmp += f.GroupTo.options[i].text + "=";
    }
        tmp = tmp.substring(0, tmp.length - 1);
        f.mange_email_adresser.value = tmp;
}


Tilføj følgende til din form:

<input type="hidden" name="mange_email_adresser" value="">


Og din ASP kode skal se sådan ud:

emails = request.form("mange_email_adresser")
emails = split(emails, "=")

modtager = ""

for i = 0 to ubound(emails)
  modtager = modtager & emails(i) & ","
next
modtager = left(modtager, len(modtager) - 1) ' fjerner det sidste ","


Emne = Request.Form("emne")
Indhold = Request.Form("indhold")
Fuldenavn = Request.Form("fnavn") & " " & Request.Form("enavn")
Email = modtager
response.write "modtager: *" & modtager & "*" '---------------- debug-linie
response.end '---------------- debug-linie
Afsender = Request.Form("afsender")
Afmail = Request.Form("afsendermail")



Og det store spørgsmål: Ser udskriften ("modtager: *...") rigtigt ud?
Avatar billede thesurfer Nybegynder
06. november 2006 - 21:58 #18
Glemte lige submit-knappen:


<input type="button" value="Send data" onClick="SelectAll(this.form);submit()">

Jeg har ændret det til: SelectAll(this.form)

Resten har jeg ikke ændret ved..
Avatar billede kimborg Nybegynder
06. november 2006 - 22:29 #19
Hmmm.... er alle de rettelser nødvendige da koden allerede udskriver:
Email: xx@elitesociety.dk, xxx@elitesociety.dk, xxx@elitesociety.dk
Avatar billede thesurfer Nybegynder
06. november 2006 - 22:50 #20
Det kan godt være at du kun behøver rettelsen i 06/11-2006 21:37:32..

Jeg fik kun index-nummeret med, og ikke teksten..

Derfor lavede jeg rettelserne til SelectAll og submit knappen.

Hvis du kan nøjes med denne linie, er det også fint:

<input type="submit" value="Send mail" onClick="SelectAll(this.form.GroupTo);submit()">
Avatar billede thesurfer Nybegynder
06. november 2006 - 22:52 #21
Jeg smider lige et svar.. jeg smutter liget om lidt..
Avatar billede kimborg Nybegynder
07. november 2006 - 08:28 #22
Okay nu fandt jeg problemet, feltet med afsendermailen stod som disabled, men det er nu fikset, så nu sender den mail, hvis man kun har tilføjet en bruger, men ved flere brugere ser modtagerne ud som følgende:

"xxx@elitesociety.dk, xxxx"@elitesociety.dk

Hvordan laver jeg det så hver modtager får siden egen linien eks:

msg.AddRecipient xxx@elitesociety.dk
msg.AddRecipient xx@elitesociety.dk
msg.AddRecipient x@elitesociety.dk
msg.AddRecipient xxxx@elitesociety.dk
Avatar billede kimborg Nybegynder
07. november 2006 - 10:44 #23
Har selv løst det ;O)

Emne = Request.Form("emne")
Indhold = Request.Form("indhold")
Fuldenavn = Request.Form("fnavn") & " " & Request.Form("enavn")
Emails = Request.Form("select2")
Afsender = Request.Form("afsender")
Afmail = Request.Form("afsendermail")

htmlbody = "<html><head><link rel=""stylesheet"" type=""text/css"" href=""http://elitesociety.dk/mail_layout.css""></head><body><div class=""outer""><div class=""banner""><img src=""http://elitesociety.dk/layout/images/Logo_top.jpg""></div><div class=""content"">"
htmlbody = htmlbody & "<br><br><br>" & Afsender & " har sendt følgende besked fra Elite Society:<br><hr style=""color:#666666;""><br>" & Indhold & "<br><br><a href=""http://elitesociety.dk"">Elite Society</a>"
htmlbody = htmlbody & "</div><div class=""footer"">&copy; 2006 - Elite Society</div></body></html>"

set msg = Server.CreateOBject("JMail.Message")
msg.Logging = true
msg.From = Afmail
msg.FromName = "Elite Society - " & Afsender

arrEmail = Split(Emails,",")
For i = LBound(arrEmail) to UBound(arrEmail)
      msg.AddRecipient arrEmail(i)
Next

msg.Subject = Request.Form("Emne")
msg.HTMLBody = htmlbody
msg.ContentType = "text/html"
msg.ISOEncodeHeaders = false
msg.Priority = false
msg.MailDomain = "mail.xxxxxx.dk"
msg.MailServerUserName = "xxxxxxxx@xxxxxxx.dk"
msg.MailServerPassWord = "xxxxxxxxxxxx"
msg.Send ("mail.xxxxx.dk")
set msg = Nothing

Tak for din hjælp surfer, det var super
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