Avatar billede -kenner- Nybegynder
23. november 2005 - 00:33 Der er 24 kommentarer

Soegefunktion finder match midt inde i ord!

He eksperter,

Jeg har lave en fin lille soegefunktion, men der er et problem. Problemet er at soegefunktionen laver match i ordene dvs. at den deler ordene op, saa 'er' pludselig giver resultat paa 'geografiker'. Jeg vil gerne have at den sammenligner hele ord, og ikke deler ordene op paa den maade.

Kode:

<?php
if(!empty($_POST['sSearch']))
{

    $search_org = mysql_escape_string(strtolower($_POST['sSearch']));
    $search = " ".$search_org;
    $search_titel = "LOWER(Titel) LIKE '%".str_replace(" ", "%' OR LOWER(Titel) LIKE '%", $search)."%'";
    $search_beskrivelse = "LOWER(Beskrivelse) LIKE '%".str_replace(" ", "%' OR LOWER(Beskrivelse) LIKE '%", $search)."%'";
    $search_kode = "LOWER(Kode) LIKE '%".str_replace(" ", "%' OR LOWER(Kode) LIKE '%", $search)."%'";
    $query = mysql_query("SELECT * FROM koder WHERE  $search_titel OR $search_beskrivelse OR $search_kode AND Godkendt = 'Y'") or die(mysql_error());
    $maxCount = 0;   
    $result = array();
   
    //Vi fandt noget...
    $search = explode(" ",$search);
        if(count($search) < 2){
            $search = mysql_escape_string(strtolower($_POST['sSearch']));
            $search[1] = $search;
            }
    while($row = mysql_fetch_array($query))
    {
        $i = 1;
        $tempCount = 0;
        $temp_total = 0;
        while(isset($search[$i])){
          $tempCount = substr_count(strtolower($row['Titel']),$search[$i])*2 + substr_count(strtolower($row['Beskrivelse']),$search[$i]) + substr_count(strtolower($row['Kode']),$search[$i]);
        $temp_total = $tempCount + $temp_total;
            $i++;
            }
                       
        $temp_total = $temp_total * 100;
        if($temp_total != 0){
                while(isset($result[$temp_total])){
                $temp_total = $temp_total + 1;
                }
            }

            $result[$temp_total] = htmlentities($row['Titel'])."~¤~". htmlentities($row['Beskrivelse'])."~¤~". $row['ID']."~¤~". $temp_total;         
    }
    if($result){
        $i = 4000;//udskriv resultatet..
        $a = 0;
        while($i != 1){
            if(isset($result[$i])){
                $vis = explode('~¤~',$result[$i]);
                $k = 1;
                while(isset($search[$k])){
                    if($k == 1){
                $Beskrivelse = str_replace($search[$k],"<b>".$search[$k]."</b>",$vis[1]);
                $Beskrivelse = str_replace(strtoupper($search[$k]),"<b>".strtoupper($search[$k])."</b>",$Beskrivelse);
                $Beskrivelse = str_replace(ucwords($search[$k]),"<b>".ucwords($search[$k])."</b>",$Beskrivelse);
                    }else{
                $Beskrivelse = str_replace($search[$k],"<b>".$search[$k]."</b>",$Beskrivelse);
                $Beskrivelse = str_replace(strtoupper($search[$k]),"<b>".strtoupper($search[$k])."</b>",$Beskrivelse);
                $Beskrivelse = str_replace(ucwords($search[$k]),"<b>".ucwords($search[$k])."</b>",$Beskrivelse);
               
                        }
                $k++;
                }
        echo"<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellspan=\"0\"><tr><td class=\"tekst\">";
        echo"<b>".$vis[0]."</b><br>".$Beskrivelse ."(".$vis[3].")<br>";
        echo"<a href=\"index.php?H=Koder&K=".$vis[2]."\">Gå til koden »</a>";
        echo"</td></tr></table><br>\n\n";
        $a++;
            }
        $i = $i -1;
        }
        if($a == 1){
            echo"Der blev fundet $a resultat!";
        } elseif($a > 1) {
            echo"Der blev fundet $a resultater!";
        } else{
            echo "Desværre, $search_org kunne ikke findes!";
            }
    }
else
{
    //Vi fandt ikke noget...
    echo "Desværre, $search_org kunne ikke findes!";
   
}
}   
?>
Avatar billede polle007 Nybegynder
23. november 2005 - 01:10 #1
Du kan måske benytte et regulært udtryk. Denne sql udvælger kun rækker, hvor "dit_ord" står alene

SELECT * FROM tabel WHERE felt REGEXP'[[:<:]]dit_ord[[:>:]]'
Avatar billede johan.o Nybegynder
23. november 2005 - 11:30 #2
Din query-string ser således ud hvis jeg har forstået det rigtigt :) ->

SELECT * FROM koder WHERE LOWER(Titel) LIKE '%%' OR LOWER(Titel) LIKE '%src_ord%' OR LOWER(Beskrivelse) LIKE '%%' OR LOWER(Beskrivelse) LIKE '%src_ord%' OR LOWER(Kode) LIKE '%%' OR LOWER(Kode) LIKE '%src_ord%' AND Godkendt = 'Y'

Jeg er ikke helt med på hvad LIKE '%%' gør men burde LIKE '%src_ord%' ikke være LIKE '% src_ord %' ?

Mvh. Johan
Avatar billede johan.o Nybegynder
23. november 2005 - 11:36 #3
Hm forresten vil det jo ikke virke på f.eks. 'test streng, med komma' hvis du søger på 'streng' !!

Mvh. Johan
Avatar billede johan.o Nybegynder
23. november 2005 - 12:04 #4
Hm, hvis nu du laver et check efter du har hentet fra databasen :

$row=mysql_fetch_assoc;

$reg_exp="/^.*(\W{1}".$org_search."\W{1}).*$/";

if(preg_match($reg_exp, $row['Titel']) || preg_match($reg_exp, $row['Beskrivelse']) || preg_match($reg_exp, $row['ID']))

Hvis IF statement er sand så står $org_search IKKE omgivet af hverken tal eller bogstaver.

Dette reg_exp kan sikkert indføjes direkte i din sql query men det aner jeg ikke hvordan man gør :)

Mvh. Johan
Avatar billede johan.o Nybegynder
23. november 2005 - 12:06 #5
Arh, det skulle jo være $row=mysql_fetch_assoc($query);
Avatar billede -kenner- Nybegynder
23. november 2005 - 23:21 #6
johan.o > Nej, der er et ord imellem hver '% %', det der sker er at Str_replace() fjerner mellemrum og smider "%' OR LOWER(Titel) LIKE '%" ind i stedet for. Paa den maade seperere den soegeordene, og de bliver beggeslaaet op, saa det ikke kun er tekster med et soegeord der bliver vist, men alle tekster der indeholder enten det ene eller det andet.
Avatar billede johan.o Nybegynder
24. november 2005 - 00:19 #7
<?php

$search_org="gnu";
$search = " ".$search_org;
$search_titel = "LOWER(Titel) LIKE '%".str_replace(" ", "%' OR LOWER(Titel) LIKE '%", $search)."%'";
$search_beskrivelse = "LOWER(Beskrivelse) LIKE '%".str_replace(" ", "%' OR LOWER(Beskrivelse) LIKE '%", $search)."%'";
$search_kode = "LOWER(Kode) LIKE '%".str_replace(" ", "%' OR LOWER(Kode) LIKE '%", $search)."%'";
$query = "SELECT * FROM koder WHERE ".$search_titel." OR ".$search_beskrivelse." OR ".$search_kode." AND Godkendt = 'Y'";

echo $query;
?>

Ovenstående som er klippet fra toppen af din side laver dette output :

SELECT * FROM koder WHERE LOWER(Titel) LIKE '%%' OR LOWER(Titel) LIKE '%gnu%' OR LOWER(Beskrivelse) LIKE '%%' OR LOWER(Beskrivelse) LIKE '%gnu%' OR LOWER(Kode) LIKE '%%' OR LOWER(Kode) LIKE '%gnu%' AND Godkendt = 'Y'

Er det hvad du gerne vil have ?

Mvh. Johan
Avatar billede -kenner- Nybegynder
24. november 2005 - 16:48 #8
Nope, der skulle vaere et ord i hver '% %'..
Avatar billede johan.o Nybegynder
24. november 2005 - 22:43 #9
Så tror jeg bare du skal droppe den linje der hedder :

$search=" ".$search_org;

Hvis du vil teste det hurtigt så skal linjen blot hedde :

$search=$search_org;

Men det ændrer jo ikke på dit oprindelige 'problem' at LIKE '%gnu%' også 'går på' gnubbe. Prøvede du at kigge på reg_exp forslaget ? er det noget du kan indopererer i din kode ?

Mvh. Johan
Avatar billede -kenner- Nybegynder
28. november 2005 - 23:16 #10
men saa sker der det at hvis jeg soger paa "tekst" bliver det til "ekst", det var derfor jeg lavede mellemrummet.
Avatar billede johan.o Nybegynder
28. november 2005 - 23:55 #11
Hm, okay men før jeg kigger grundigt på resten af din kode vil jeg da godt lige spørge om det er HELE koden du har postet :) ?

Mvh. Johan
Avatar billede johan.o Nybegynder
29. november 2005 - 01:04 #12
Jeg har kigget lidt på din kode og fik lavet det her. Er det sådan noget du forsøger at lave ?

<?php
if(!empty($_POST['sSearch'])) {
$search=$_POST['sSearch'];
$search_titel="LOWER(Titel) LIKE '%".str_replace(" ", "%' OR LOWER(Titel) LIKE '%", $search)."%'";
$search_beskrivelse = "LOWER(Beskrivelse) LIKE '%".str_replace(" ", "%' OR LOWER(Beskrivelse) LIKE '%", $search)."%'";
$search_kode="LOWER(Kode) LIKE '%".str_replace(" ", "%' OR LOWER(Kode) LIKE '%", $search)."%'";
$query=mysql_query("SELECT * FROM koder WHERE $search_titel OR $search_beskrivelse OR $search_kode AND Godkendt = 'Y'") or die(mysql_error());
if(mysql_num_rows($query)>0) {
  $tCount=0; 
  $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0'>";
 
  $search=explode(" ",$search);
  while($row = mysql_fetch_array($query)) {
  $iCount=0;
  $Beskrivelse=$row['Beskrivelse'];
  for($k=0; $k<count($search); $k++) {
    $iCount+ = substr_count(strtolower($row['Titel']),$search[$k])+substr_count(strtolower($row['Beskrivelse']),$search[$k])+substr_count(strtolower($row['Kode']),$search[$k]);
    $Beskrivelse = str_replace(strtolower($search[$k]),"<b>".strtolower($search[$k])."</b>",$Beskrivelse);
    $iCount+ = substr_count(strtoupper($row['Titel']),$search[$k])+substr_count(strtoupper($row['Beskrivelse']),$search[$k])+substr_count(strtoupper($row['Kode']),$search[$k]);
    $Beskrivelse = str_replace(strtoupper($search[$k]),"<b>".strtoupper($search[$k])."</b>",$Beskrivelse);
    $iCount+ = substr_count(ucwords($row['Titel']),$search[$k])+substr_count(ucwords($row['Beskrivelse']),$search[$k])+substr_count(ucwords($row['Kode']),$search[$k]);
    $Beskrivelse = str_replace(ucwords($search[$k]),"<b>".ucwords($search[$k])."</b>",$Beskrivelse); }
  $tCount+=$iCount;

  $oOutput.="<tr>\n<td class='tekst'><b>".$row['Titel']."</b><br>\n";
  $oOutput.=$Beskrivelse."(".$iCount.")<br>\n";
  $oOutput.="<a href='index.php?H=Koder&K=".$row['ID']."'>Gå til koden »</a></td>\n</tr>"; }

  $oOutput.="<tr>\n<td>Der blev fundet ialt ".$tCount." matches.</td>\n</tr></table>"; }
else {
  $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0'><tr><td>Der var ingen matches.</td></tr></table>"; } }

echo $oOutput;
?>

Jeg har ikke kunnet teste det da jeg jo ikke har databasen og connecte til.

Mvh. Johan
Avatar billede johan.o Nybegynder
29. november 2005 - 02:17 #13
Ja, og så havde jeg jo lige glemt dit oprindelige problem :) tsk tsk

Koden herunder søger også i $row['Kode'] men du får ingen indikation af at det er i 'Kode' at matchen er fundet men det er måske heller ikke meningen :)

Jeg testede koden på en af mine egne databaser og der fungerer den fint, du skal lige inkludere din mysql_connect rutine, så skulle den spille :)

<?php

if(!empty($_POST['sSearch'])) {
$search_org=$_POST['sSearch'];
$search_titel="LOWER(Titel) LIKE '%".str_replace(" ", "%' OR LOWER(Titel) LIKE '%", $search_org)."%'";
$search_beskrivelse = "LOWER(Beskrivelse) LIKE '%".str_replace(" ", "%' OR LOWER(Beskrivelse) LIKE '%", $search_org)."%'";
$search_kode="LOWER(Kode) LIKE '%".str_replace(" ", "%' OR LOWER(Kode) LIKE '%", $search_org)."%'";
$query=mysql_query("SELECT * FROM koder WHERE $search_titel OR $search_beskrivelse OR $search_kode AND Godkendt = 'Y'") or die(mysql_error());
if(mysql_num_rows($query)>0) {
  $tCount=0; 
  $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0'>";

  $search=explode(" ",$search_org);
  while($row = mysql_fetch_array($query)) {
  $iCount=0;
  $Beskrivelse=$row['Beskrivelse'];
  for($k=0; $k<count($search); $k++) {
    $reg_exp1="/^(|.*\W{1})".strtolower($search[$k])."(\W{1}.*|)$/";
    if(preg_match($reg_exp1, strtolower($row['Beskrivelse']))) {
    $iCount+=substr_count(strtolower($row['Beskrivelse']),$search[$k]);
    $Beskrivelse=str_replace(strtolower($search[$k]),"<b>".strtolower($search[$k])."</b>",$Beskrivelse);
    $iCount+=substr_count(strtoupper($row['Beskrivelse']),$search[$k]);
    $Beskrivelse=str_replace(strtoupper($search[$k]),"<b>".strtoupper($search[$k])."</b>",$Beskrivelse);
    $iCount+=substr_count(ucwords($row['Beskrivelse']),$search[$k]);
    $Beskrivelse=str_replace(ucwords($search[$k]),"<b>".ucwords($search[$k])."</b>",$Beskrivelse); }
    if(preg_match($reg_exp1, strtolower($row['Titel']))) {
    $iCount++; }
    if(preg_match($reg_exp1, strtolower($row['Kode']))) {
    $iCount++; } }

    if($iCount!=0) {
    $oOutput.="<tr>\n<td class='tekst'><b>."$row['Titel']."</b><br>\n";
    $oOutput.=$Beskrivelse."(".$iCount.")<br>\n";
    $oOutput.="<a href='index.php?H=Koder&K=".$row['ID']."'>Gå til koden »</a></td>\n</tr>";
    $tCount+=$iCount; } }

  if($tCount>0) {
  $oOutput.="<tr>\n<td>Der blev fundet ialt ".$tCount." matches på : ".$search_org."</td>\n</tr></table>"; }
  else {
  $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0'><tr><td>Der var ingen matches på : ".$search_org."</td></tr></table>"; } }
else {
  $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0'><tr><td>Der var ingen matches på : ".$search_org."</td></tr></table>"; } }

echo $oOutput;
?>

Mvh. Johan
Avatar billede johan.o Nybegynder
29. november 2005 - 02:24 #14
Og så skal der lige udskiftes nogle linjer, du kan sikkert selv se hvor :)

    if(preg_match($reg_exp1, strtolower($row['Titel']))) {
    $iCount+=substr_count(strtolower($row['Titel']), $search[$k]); }
    if(preg_match($reg_exp1, strtolower($row['Kode']))) {
    $iCount+=substr_count(strtolower($row['Kode']), $search[$k]); } }

Mvh. Johan - og Godnat.
Avatar billede -kenner- Nybegynder
03. december 2005 - 20:57 #15
OKay, jeg tester det lige.
Avatar billede -kenner- Nybegynder
06. december 2005 - 02:47 #16
Du har aendret alt for meget i koden, for nu goer koden IKKE foelgende:
- Sortere efter hvor mange gange de forskaellige soegeord optraeder i en kode.
- Resultater er ikke antallet af koder der bliver vist, men antallet af soegeord der bliver fundet.

Det eneste jeg vil have dig til at goere er at tage min kode, og faa scriptet til at tjekke at soegeordene staar alene og at alle tegn bliver ignoreret bortset fra + og mellemrum, da de skal fungere som soegeords seperatorer.
Avatar billede johan.o Nybegynder
06. december 2005 - 12:22 #17
Jo, jo, det prøver jeg jo også :)

Jeg prøvede at læse mig igennem din kode og troede faktisk det var ovenstående du forsøgte - sorry.

Jeg er nu med på at du vil have sorteret resultaterne således at det med flest 'hits' står først. Men jeg forstår ikke lige det næste du skriver med antallet af koder vs. antallet af søgeord - kan du ikke forklare ?

Mvh. Johan
Avatar billede johan.o Nybegynder
08. december 2005 - 21:04 #18
Nå, nu har jeg forsøgt at ændre din originale kode men da jeg ikke har din database og referere til så har jeg ikke kunne teste helheden.

<?php
if(!empty($_POST['sSearch']))
{

    $search_org = mysql_escape_string(strtolower($_POST['sSearch']));
    $search = " ".$search_org;
    $search_titel = "LOWER(Titel) LIKE '%".str_replace(" ", "%' OR LOWER(Titel) LIKE '%", $search)."%'";
    $search_beskrivelse = "LOWER(Beskrivelse) LIKE '%".str_replace(" ", "%' OR LOWER(Beskrivelse) LIKE '%", $search)."%'";
    $search_kode = "LOWER(Kode) LIKE '%".str_replace(" ", "%' OR LOWER(Kode) LIKE '%", $search)."%'";
    $query = mysql_query("SELECT * FROM koder WHERE  $search_titel OR $search_beskrivelse OR $search_kode AND Godkendt = 'Y'") or die(mysql_error());
    $maxCount = 0; 
    $result = array();
 
    //Vi fandt noget...
    $search = explode(" ",$search);
        if(count($search) < 2){
            $search = mysql_escape_string(strtolower($_POST['sSearch']));
            $search[1] = $search;
            }
    while($row = mysql_fetch_array($query))
    {
        $i = 1;
        $tempCount = 0;
        $temp_total = 0;

        while(isset($search[$i])) {

//--> Her er ændret fra

$reg_pat="/\W{1}".$search[$i]."\W{1}/";

preg_match_all($reg_pat, strtolower($row['Titel']), $s);
$tempCount=count($s[0])*2;

preg_match_all($reg_pat, strtolower($row['Beskrivelse']), $s);
$tempCount=$tempCount+count($s[0]);

preg_match_all($reg_pat, strtolower($row['Kode']), $s);
$tempCount=$tempCount+count($s[0]);

//--> Her er første ændring slut
                     
        $temp_total = $tempCount + $temp_total;
            $i++;
            }
        $temp_total = $temp_total * 100;
        if($temp_total != 0){
                while(isset($result[$temp_total])){
                $temp_total = $temp_total + 1;
                }
            }

            $result[$temp_total] = htmlentities($row['Titel'])."~¤~". htmlentities($row['Beskrivelse'])."~¤~". $row['ID']."~¤~". $temp_total;       
    }
    if($result){
        $i = 4000;//udskriv resultatet..
        $a = 0;
        while($i != 1){
            if(isset($result[$i])){
                $vis = explode('~¤~',$result[$i]);
                $k = 1;
                while(isset($search[$k])){
                    if($k == 1){
//--> Her er anden ændring

$reg_pat="/(\W{1}".$search[$k]."\W{1})/i";
$Beskrivelse=preg_replace($reg_pat, "<b>$1</b>",$vis[1]); }
else {
$reg_pat="/(\W{1}".$search[$k]."\W{1})/i";
$Beskrivelse=preg_replace($reg_pat, "<b>$1</b>",$Beskrivelse);

//--> Anden ændring slut             
                        }
                $k++;
                }
        echo"<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellspan=\"0\"><tr><td class=\"tekst\">";
        echo"<b>".$vis[0]."</b><br>".$Beskrivelse ."(".$vis[3].")<br>";
        echo"<a href=\"index.php?H=Koder&K=".$vis[2]."\">Gå til koden »</a>";
        echo"</td></tr></table><br>\n\n";
        $a++;
            }
        $i = $i -1;
        }
        if($a == 1){
            echo"Der blev fundet $a resultat!";
        } elseif($a > 1) {
            echo"Der blev fundet $a resultater!";
        } else{
            echo "Desværre, $search_org kunne ikke findes!";
            }
    }
else
{
    //Vi fandt ikke noget...
    echo "Desværre, $search_org kunne ikke findes!";
 
}

?>

Lad mig høre hvad der sker.

Mvh. Johan
Avatar billede -kenner- Nybegynder
08. december 2005 - 23:21 #19
Det med antallet kan jeg selv ordne, bare faa koden til at slaa hele ord op, og saa maa den ikke blive paavirket af tegn udover + og mellemrums tasten, som skal seperere soegeord.
Avatar billede johan.o Nybegynder
08. december 2005 - 23:53 #20
I 24/11-2005 22:43:13 giver jeg dig en løsning på din database query. Som jeg skriver så kan jeg ikke fortælle dig hvordan du bruger reg_exp i sql query's derfor må disse komme senere.

Den query streng du får ved at fjerne det første mellemrum, er såvidt jeg kan se ikke årsagen til at tekst bliver til ekst. Men da jeg ikke kan teste herhjemme så er ovenstående konstatering af hvad dit ønske er, bare ikke nok til at jeg kan regne ud hvor problemet er.

Lige nu aner jeg ikke hvor dit problem er. Jeg har kigget på query strengen, jeg har kigget på søgning i de individuelle strenge og jeg har kigget på sammentællingen af forekomster men det lader ikke til at du prøver det jeg foreslår og så er det jo svært at vide om det er det rigtige man har gang i.

Mvh. Johan
Avatar billede -kenner- Nybegynder
10. december 2005 - 17:25 #21
Jeg har lige testet 08/12-2005 21:04:56 og der virker fint. Kan vi fikse det saadan at + ogsaa kan bruges som en seperator?

og hvis der bliver tastet andre tegn bliver de fjernet.
Avatar billede johan.o Nybegynder
10. december 2005 - 19:38 #22
Okay, jeg prøver.

Erstat denne linje :



med disse to :

$search_org=preg_replace("/[^a-z0-9+ ]/i", "", $search_org);
$search=" ".preg_replace("/ \+|\+/", " ", $search_org);

Første linje fjerner alle tegn der IKKE står imellem [^ og ] så hvis du vil have flere med så skriver du dem der f.eks. [^a-z0-9æøå+ ] så accepteres æøå også. Både store og små bogstaver accepteres pga. det lille 'i' der står efter ]/.

Næste linje erstatter '+' og ' +' med et mellemrum som jo så erstattes senere i koden.

Da der i den 'løsning' du referere til stadig sættes et mellemrum på foran strengen har jeg ikke ændret dette her, selvom jeg ikke kan forstå hvorfor det ikke virker uden den, men prøv det og lad mig høre resultatet.

Mvh. Johan
Avatar billede johan.o Nybegynder
10. december 2005 - 19:40 #23
Hov glemte den linje du skal erstatte :) det er denne :

$search = " ".$search_org;

Mvh. Johan
Avatar billede -kenner- Nybegynder
15. februar 2006 - 23:27 #24
Kan vi ombygge den, saa du faar chancen for at vaere med lidt fra starten?

alle tegn der ikke er bogstever eller tal, specielle bogstaver som f.eks. é eller bindestreg  bliver accepteret som seperatorer imellem soegeord. saa f.eks. noget+andet vil vaere to soege ord, men Anne-Marie vil vaere et.

Saa skal den bare kigge i tabellerne 'koder' og 'tutorial' i kolonnerne titel, og beskrivelse efter et match. Naar den udskriver resulteterne efter sogningen skal soegeordene smides med fed hvis det er i beskrivelse, men ikke hvis det er i titlen. resultaterne skal sorteres efter hvor mange matches der var i den raekke i databasen, starter med de fleste match foerst, og saa ned efter.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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