Avatar billede Slettet bruger
19. december 2010 - 16:55 Der er 50 kommentarer og
1 løsning

Logind med php, sql og md5 - fejl

Jeg har forsøgt mig med det login system jeg blev anbefalet i et tidligere spørgsmål.

http://www.eksperten.dk/spm/922353

Jeg har fulgt guiden til punkt og prikke (håber jeg) og det synes også at virke fint nok, lige bortset fra, at når jeg logger ind, melder den tilbage at brugeren ikke findes, men når jeg så klikker 'tilbage' så er jeg godt nok logget ind.

<?php
session_start();

mysql_connect("","","");
mysql_select_db("");

$bruger = $_POST["brugernavn"];
$pass = $_POST["password"];
$error = "";

$userQuery = mysql_query("SELECT id,brugernavn,password FROM brugere WHERE brugernavn='$bruger'");

if(mysql_num_rows($userQuery) != 1)
{
$error .= "Brugeren eksisterer ikke.<br>";
}
else
{
$userArray = mysql_fetch_array($userQuery);

if($userArray["password"] != MD5($pass))
{
$error .= "Password og brugernavn passer ikke sammen.<br>";
}
}
?>

Jeg har sat dette ind i en header
<div id="header">
<?php
session_start();

if($_SESSION["logged_in"] == 1)
{
$userQuery = mysql_query("SELECT * FROM brugere WHERE id='$_SESSION[user_id]'");
$userArray = mysql_fetch_array($userQuery);
// Eksempel på indhold
echo "Hej " . $userArray["brugernavn"] . "! &nbsp;";
}
else
{
?>
  <form action="/php/login.php" method="post">
    B: <input type="text" name="brugernavn" id="login"> &nbsp;
    K: <input type="password" name="password" id="login"> &nbsp;
    <input type="submit" value="Log ind" id="submit"> &nbsp;
  </form>
<?php } ?>
</div>

---------- Spørgsmål 2 ----------
Hvordan skjuler jeg et link for besøgende der ikke er logget ind?

  echo "<strong><a href='/opskrifter/indtast.php'>Indtast</a></strong> &nbsp; &nbsp;";

Hilsen Frank
Avatar billede majbom Novice
19. december 2010 - 19:33 #1
der må jo være mere end én bruger i databasen med det brugernavn, ellers vil du ikke få den fejl.

hvor sætter du sessions henne efter login?
Avatar billede majbom Novice
19. december 2010 - 19:34 #2
og så skal du have session_start(); før noget som helst output! ikke inde i en div eller noget men før <DOCTYPE...> osv.
Avatar billede Slettet bruger
19. december 2010 - 19:56 #3
Jeg har session_start(); som det aller første overhovedet på siden.

Der er kun én bruger i DB, derfor jeg synes det er underligt.
Avatar billede majbom Novice
20. december 2010 - 03:26 #4
det har du ikke her:
<div id="header">
<?php
session_start();


prøv at udskrive mysql_num_rows...
Avatar billede Slettet bruger
20. december 2010 - 20:41 #5
Jo, start.php som er inkluderet i toppen af alle sider, begynder således:

<?php
session_start();

if (!isset($page_title)) {
.... osv osv


Hvordan skriver jeg rækker ud?
Avatar billede majbom Novice
21. december 2010 - 09:11 #6
prøv at ret:

$error .= "Brugeren eksisterer ikke.<br>";

til:

$error .= "Brugeren eksisterer ikke (".mysql_num_rows()$userQuery.").<br>";

så kommer antallet med i parantesen efter din fejlmeddelelse...
Avatar billede Slettet bruger
21. december 2010 - 21:43 #7
hm.. nu skriver den

Parse error: syntax error, unexpected T_VARIABLE in /home/anakin.dk/php/login.php on line 16
Avatar billede majbom Novice
21. december 2010 - 22:40 #8
mysql_num_rows()$userQuery

skal være

mysql_num_rows($userQuery)
Avatar billede Slettet bruger
23. december 2010 - 09:23 #9
Nu får jeg en blank side, og jeg bliver ikke logget ind.

<?php
session_start();

mysql_connect("","","");
mysql_select_db("");

$bruger = $_POST["brugernavn"];
$pass = $_POST["password"];
$error = "";

$userQuery = mysql_query("SELECT id,brugernavn,password FROM brugere WHERE brugernavn='$bruger'");

if(mysql_num_rows($userQuery) != 1)
{
// $error .= "Brugeren eksisterer ikke.<br>";
$error .= "Brugeren eksisterer ikke (".mysql_num_rows($userQuery).").<br>";
}
else
{
$userArray = mysql_fetch_array($userQuery);

if($userArray["password"] != MD5($pass))
{
$error .= "Password og brugernavn passer ikke sammen.<br>";
}
}
?>
Avatar billede webweaver Praktikant
23. december 2010 - 23:32 #10
Som splazz også spørger om, hvorhenne opretter du dine sessions?
Avatar billede Slettet bruger
24. december 2010 - 23:56 #11
Hvis det er linjen

<?php
session_start();

Så er det starten af start.php som en inkluderet øverst på alle sider.

Hvis ikke, så forstår jeg ikke spørgsmålet :(
Avatar billede Slettet bruger
24. december 2010 - 23:58 #12
Start.php

<?php
session_start();

if (!isset($page_title)) {
$page_title = "Anakin.dk";
} else {
$page_title = "$page_title";
}

$db = mysql_connect("","","");
mysql_select_db("", $db);

if ($mode == "godkend"){
mysql_query("UPDATE kogebog_opskrifter SET godkendt='1' WHERE opskriftid='$id'");
header("Location: $PHP_SELF");
}

if ($mode == "delete"){
mysql_query("DELETE FROM kogebog_opskrifter WHERE opskriftid='$id'");
header("Location: $PHP_SELF");
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><? echo $page_title; ?></title>
<link rel="stylesheet" type="text/css" href="<? $_SERVER["DOCUMENT_ROOT"]; ?>/php/<?=$stylesheet; ?>.css">
<link rel="shortcut icon" href="http://anakin.dk/favicon.ico">
<script type="text/javascript" src="/php/highslide/highslide.js"></script>
<link rel="stylesheet" type="text/css" href="/php/highslide/highslide.css" />
<script type="text/javascript">
    // override Highslide settings here
    // instead of editing the highslide.js file
    hs.graphicsDir = '/php/highslide/graphics/';
</script>
<script type="text/javascript">
function checkform(form) {
//kommenteret ud for test
f = form;

if (f.overskrift.value == "") {
f.overskrift.style.background = '#4b9645'
f.overskrift.focus();
return false;
}

if ..og en masse flere af dem..
// når alt er ok:
return true;
}
</script>
</head>
<body>
<table width="<? echo $table; ?>" align="center" border="0">
  <tr>
    <td width="100%"><?php include($DOCUMENT_ROOT.'/php/menu.php'); ?></td>
  </tr>
  <tr>
    <td width="100%" valign="top">
Avatar billede webweaver Praktikant
25. december 2010 - 01:25 #13
Du har denne linie i din header,

if($_SESSION["logged_in"] == 1)

Den spørger om SESSION["logged_in"] er lig med 1.
Umiddelbart vil den ikke være det, for jeg kan slet ikke se noget sted i din kode at SESSION["logged_in"] oprettes? Det den spørger efter, eksisterer slet ikke?

Der burde stå

$_SESSION["logged_in"] = 1;

et eller andet sted i koden, når brugernavn og kodeord er korrekt. Men så vidt jeg kan se, er det ikke tilfældet?
Avatar billede Slettet bruger
25. december 2010 - 11:06 #14
Jeg kan slet ikke finde den tekststreng du skriver nogen steder i koden (start.php eller de andre login filer)
Avatar billede webweaver Praktikant
25. december 2010 - 12:36 #15
Præcis. There you go .. Det virker lidt mangelfuldt det script du har fundet dig.

Prøv at rette

<?php
session_start();

mysql_connect("","","");
mysql_select_db("");

$bruger = $_POST["brugernavn"];
$pass = $_POST["password"];
$error = "";

$userQuery = mysql_query("SELECT id,brugernavn,password FROM brugere WHERE brugernavn='$bruger'");

if(mysql_num_rows($userQuery) != 1)
{
// $error .= "Brugeren eksisterer ikke.<br>";
$error .= "Brugeren eksisterer ikke (".mysql_num_rows($userQuery).").<br>";
}
else
{
$userArray = mysql_fetch_array($userQuery);

if($userArray["password"] != MD5($pass))
{
$error .= "Password og brugernavn passer ikke sammen.<br>";
}
}
?>


til

<?php session_start();

    if (isset($_POST['login'])) {

        mysql_connect("","","");
        mysql_select_db("");

        $bruger = $_POST["brugernavn"];
        $pass = md5($_POST["password"]);

        $userQuery = mysql_query("SELECT id, brugernavn, password, admin FROM brugere WHERE brugernavn = '$bruger'") or die(mysql_error());

        if (mysql_num_rows($userQuery) != 1) {
       
            $error = "Brugeren eksisterer ikke (" . mysql_num_rows($userQuery) . ").<br>";
       
        } else {
       
            while ($data = mysql_fetch_array($userQuery)) {
           
                $brugerId = $data['id'];
                $brugerNavn = $data['brugernavn'];
                $brugerPass = $data['password'];
                $admin = $data['admin'];
           
            }
       
            if ($brugerPass != $pass) {
           
                $error = "Password og brugernavn passer ikke sammen.<br>";
           
            }
           
            if (!$error) {
               
                $_SESSION["username"] = $brugerNavn;
                $_SESSION["userid"] = $brugerId;
               
                if ($admin == 1) {
               
                    $_SESSION["admin"] = 1;
               
                }

                header("location:"$_GET['redirect']");

            } else {
               
                echo $error;
               
            }
       
        }

    }
?>


Nu er det bygget om med klargørelse til nogle af de andre ting du har efterspurgt herinde. Du skal tilføje et felt som hedder "admin" i tabellen over dine brugere og give admin-kontoen værdien 1. Andre brugere kan du bare give 0.

I din form skal du også tilføje et skjult felt, for at hjælpe PHP'en lidt.

<input type="hidden" name="login">


Din action i din form skal ligeledes også se således ud;

action="login.php?redirect=<? echo $_SERVER['REQUEST_URI']; ?>"


Din header vil komme til at se ud som følgende;

<div id="header">
<?php

if (isset($_SESSION["brugerNavn"]) && isset($_SESSION["brugerId"])) {

$userQuery = mysql_query("SELECT brugernavn FROM brugere WHERE id = '$_SESSION[brugerId]'");
$userArray = mysql_fetch_array($userQuery);
// Eksempel på indhold
echo "Hej " . $userArray["brugernavn"] . "!  ";
}
else
{
?>
  <form action="login.php?redirect=<? echo $_SERVER['REQUEST_URI']; ?>" method="post">
      <input type="hidden" name="login">
    B: <input type="text" name="brugernavn" id="login">  
    K: <input type="password" name="password" id="login">  
    <input type="submit" value="Log ind" id="submit">  
  </form>
<?php } ?>
</div>
Avatar billede Slettet bruger
25. december 2010 - 22:00 #16
Jeg får fejl..

Parse error: syntax error, unexpected T_VARIABLE in /home/acepdk/public_html/anakin.dk/php/login.php on line 45

Kan se at der er 3 " i linjen.

header("location:"$_GET['redirect']");

Men hverken
header("location:"$_GET['redirect']"");
eller
header("location:"$_GET['redirect']);

virker :(
Avatar billede webweaver Praktikant
25. december 2010 - 22:12 #17
Det er mig som har været lidt hurtig kan jeg se. Har lige fået et " for meget ind.

header("location:$_GET['redirect']");

Hjalp det?
Avatar billede Slettet bruger
25. december 2010 - 22:14 #18
MySQL ser således ud nu

CREATE TABLE IF NOT EXISTS `brugere` (
  `id` int(11) NOT NULL auto_increment,
  `admin` tinyint(2) NOT NULL,
  `brugernavn` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Avatar billede Slettet bruger
25. december 2010 - 22:17 #19
hmm...

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/acepdk/public_html/anakin.dk/php/login.php on line 45
Avatar billede webweaver Praktikant
26. december 2010 - 01:14 #20
Hmm, og linie 45 er stadig linien med header("location:$_GET['redirect']");?

Så ret den lige til header("location:http:///www.anakin.dk/index.php"); i første omgang, så må vi kigge på den bagefter.
Avatar billede Slettet bruger
26. december 2010 - 14:05 #21
Det var da underligt..

Så forsvandt fejlmeddelelsen, men der sker ingenting. Der vises stadig login boksene
Avatar billede webweaver Praktikant
26. december 2010 - 22:20 #22
Prøv at skifte header("location:$_GET['redirect']"); ud med echo "test"; for at se om den overhovedet kommer dertil.
Avatar billede Slettet bruger
27. december 2010 - 13:34 #23
Det gør den, nu står der "test" men på en helt blank side, men når jeg går tilbage og genindlæser siden, er jeg stadig ikke logget ind.

Du skrev at det var et ringe system, har du et der virker bedre?
Avatar billede webweaver Praktikant
27. december 2010 - 14:45 #24
Ja, siden er bare blank. Det er nu også meningen. Du skulle så gerne blive sendt videre med det samme fra login.php, når du sætter header ind igen.

header("location:http://www.anakin.dk/links/index.php");

Du har session_start(); i toppen af login.php samt alle sider hvor loginformen vises/skjules ikke? Den skal være på alle siderne. Og helt i toppen!

Jeg skrev at det umiddelbart var mangelfuldt. Det burde det nu ikke være helt i samme grad længere, efter de rettelser jeg har givet dig. Har ikke nogen links til nogle færdige systemer ellers, da jeg bygger dem selv altid. Vi skal nok få dette op at køre. Det er såmænd en helt standard metode at lave det på, og de fleste andre systemer vil også følge denne struktur mere eller mindre.
Avatar billede webweaver Praktikant
27. december 2010 - 14:48 #25
Og iøvrigt kan jeg godt forstå at det ikke virker, da jeg giver dig misvisende informationer! ... Jeg har lige opdaget en fejl jeg har lavet, og derfor vises din login form.

if (isset($_SESSION["brugerNavn"]) && isset($_SESSION["brugerId"])) {

skal rettes til

if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {
Avatar billede Slettet bruger
28. december 2010 - 16:55 #26
Jeg formoder det er i login.php det skal rettes, men der findes den sætning slet ikke
Avatar billede webweaver Praktikant
28. december 2010 - 19:07 #27
Nej det er ikke login.php, men de steder du har login formen.
Avatar billede Slettet bruger
04. januar 2011 - 15:19 #28
Hej igen og godt nytår!

Det giver denne fejl:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ...php/login.php on line 36

i login filen er linje 36 denne her:

                header("location:$_GET['redirect']");
Avatar billede Slettet bruger
06. januar 2011 - 18:46 #29
Måske skulle jeg bare lade login delen være på nogle sider for sig selv.
Avatar billede webweaver Praktikant
10. januar 2011 - 23:01 #30
Har du prøvet at gøre det jeg skriver i #22? :-)

Og har du rettet din if sætning der var fejl i omkring login formularen?

Du får ikke noget ud af at have login delen på en side for sig selv. Dette skulle være lige så "simpelt". Det er bare den redirect der giver fejl ser det ud til. Hvis du gør ovenstående, skriver den så "test" på en blank side? Og hvis du så klikker tilbage og opdaterer siden med loginformen, kan du så stadig se den?
Avatar billede Slettet bruger
11. januar 2011 - 16:34 #31
Ja, jeg har skiftet begge sætninger ud, og den skriver test på en blank side, og når jeg går tilbage er login formularen stadig synlig.
Avatar billede webweaver Praktikant
11. januar 2011 - 16:49 #32
Har du husket at have session_start(); helt oppe i toppen af dine filer, hvor du har login formen?

Prøv evt. at rette

if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {

til

if (isset($_SESSION["username"]) && $_SESSION["userid"]) {
Avatar billede Slettet bruger
11. januar 2011 - 17:15 #33
Jeg har rettet echo "test"; til header("location:/index.php"); som så sender en videre til min hustrus hjemmeside, så det virker.

Men den viser ikke brugernavnet

Ingen af disse virker
echo "Hej " . $userArray["username"] . "!  ";
echo "Hej " . $userArray["brugerNavn"] . "!  ";
echo "Hej " . $userArray["brugernavn"] . "!  ";

Kan vi tilføje en logud knap, det kan bare være et (X) evt. som billede.
Avatar billede webweaver Praktikant
11. januar 2011 - 20:25 #34
Den viser ikke brugernavnet, fordi den ikke kan finde det i databasen. Du har stadig dit gamle SQL statement, som søger efter den SESSION som aldrig blev oprettet.

$userQuery = mysql_query("SELECT brugernavn FROM brugere WHERE id = '$_SESSION[brugerId]'");

rettes til

$userQuery = mysql_query("SELECT brugernavn FROM brugere WHERE id = '$_SESSION[userid]'") or die(mysql_error());

Hvis du vil lave en helt simpel logud funktion,
kan du bare lave en side der hedder logud.php og som indeholder følgende,

<?php
if (isset($_SESSION["username"]) && $_SESSION["userid"]) {

session_destroy();
header("location:http://www.minside.dk");
exit;

} else {

header("location:http://www.minside.dk");
exit;

}
?>


Så laver du bare et ganske normalt link til logud.php. Alle som er logget ind, som går ind på den side, vil blive logget ud og sendt videre. Folk som ikke er logget ind, men som går ind på siden, bliver bare sendt videre uden videre.
Avatar billede webweaver Praktikant
11. januar 2011 - 20:37 #35
Med hensyn til den redirect som åbenbart ikke vil virke i en header, så kan du prøve den uden $_GET.

header("location: $redirect");
Avatar billede Slettet bruger
19. januar 2011 - 18:31 #36
Så ser det ud til at virke.

Jeg har dog fjernet login boksene så de ikke fremgår fra alle sider som gæster uden et login ville se.

Sidste spørgsmål, hvordan skjuler jeg et link i menuen for gæster?

Angiv svar, så lukker vi denne her.

Undskyld den lange svartid, har været ophængt på arbejde og lige været syg.
Avatar billede webweaver Praktikant
19. januar 2011 - 19:06 #37
Det var godt :)

Det gør du på samme måde som med loginformen.

if (isset($_SESSION["username"]) && $_SESSION["userid"]) {
// mit link her ...
}

Det link vil kun kunne ses, hvis man er logget ind.
Det går nok. Det skal der jo også være plads til!

Svar
Avatar billede Slettet bruger
19. januar 2011 - 20:06 #38
Jeg har tilføjet et krav til linket, så det kun vises når man er i bestemte områder.

if (isset($_SESSION["username"]) && $_SESSION["userid"] && $menu=="opskrifter") {
  echo "<strong><a href='/opskrifter/indtast.php'>Tilføj opskrift</a></strong> &nbsp; &nbsp;";
}

Problemet er, at selvom den skifter øjeblikkeligt, og viser linket når man har logget ind, så forsvinder det igen når man har klikket lidt rundt, men stadig er logget ind. Hvis jeg var logget ud, så ville formularen vel vises?
Avatar billede webweaver Praktikant
19. januar 2011 - 21:06 #39
Hvor har du $menu fra?

Formularen vil vises, hvis du er logget ud. Dermed så er det ikke dine sessioner, men din $menu variabel som fejler tilsyneladende. Hvor får du værdien "opskrifter" fra, når du klikker rundt på sitet?
Avatar billede Slettet bruger
19. januar 2011 - 21:16 #40
Det er for at vise bestemte underlinks til en bestemt side.

echo "&#8250; <a href='/vaerkstedet.php'>Værkstedet</a> &nbsp; ";
if($menu=="vaerkstedet") {
echo "&raquo; <a href='/service.php'>Service</a> &nbsp; ";
echo "<a href='/montering.php'>Montering</a> &nbsp; ";
echo "<a href='/autotilbehoer.php'>Autotilbehør</a> &nbsp; ";
}


Øverst på siden defineres værdierne

<?php
  $page_title = "Velkommen";
  $stylesheet = "automester";
  $menu = "vaerkstedet";
  include($_SERVER["DOCUMENT_ROOT"].'/php/start.php');
?>


Jeg brugte denne her til at starte med

if($menu=="vaerkstedet") {

Men prøvede så om den kunne skrives sammen med login session, det gav ingen fejl, udover at linket forsvinder igen
Avatar billede Slettet bruger
19. januar 2011 - 21:44 #41
Der er noget galt, jeg synes der er forvirring om det skal være brugerid eller userid..

Slutningen af siden (end.php) ser således ud:

<?php
if (isset($_SESSION["username"]) && $_SESSION["userid"]) {

$userQuery = mysql_query("SELECT brugernavn FROM brugere WHERE id = '$_SESSION[brugerId]'");
$userArray = mysql_fetch_array($userQuery);
// Eksempel på indhold
//echo "Hej " . $userArray["brugernavn"] . "!  ";
echo "<img src='/images/logged-in.png' height='16' width='16' alt='' title='' border='0'> &nbsp; ";
} else {
?>
  <form action="/php/login.php?redirect=<? echo $_SERVER['REQUEST_URI']; ?>" method="post">
      <input type="hidden" name="login">
    B: <input type="text" name="brugernavn" id="login"> &nbsp;
    K: <input type="password" name="password" id="login"> &nbsp;
    <input type="submit" value="Log ind" id="submit">
  </form>
<?php } ?>

Og det kniber for den at huske login, når jeg logger ind og klikker på f.eks. indtast, så skal jeg logge ind igen
Avatar billede Slettet bruger
19. januar 2011 - 21:58 #42
hmm.. der var 2 forskellige sætninger

if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {

og

if (isset($_SESSION["username"]) && $_SESSION["userid"]) {

Den øverste synes at virke.
Avatar billede webweaver Praktikant
20. januar 2011 - 00:57 #43
Det bør være ligemeget om du bruger den ene eller den anden.
Der bør ikke være problemer med at huske sessions, hvis du har session_start(); i toppen af alle dine filer...

Du skal bruge "userid". Se indlæg #15. Der kan du se hvad dine sessioner hedder. Du har en $_SESSION["username"]; og $_SESSION["userid"];

Hvor meget virker på nuværende tidspunkt, og hvad virker ikke? Der er snart alt for mange indlæg og rettelser i denne tråd, til at det er til at finde rundt i :)
Avatar billede Slettet bruger
20. januar 2011 - 19:33 #44
Det hele virker nu, dog med undtagelse af logud, men eftersom det kun er hustruen og jeg der skal bruge systemet, så lever vi nok med det.
Avatar billede webweaver Praktikant
20. januar 2011 - 20:13 #45
Okay, det burde nu ellers virke uden nogle problemer.
Du har lavet en fil til logud? Og som indeholder det i svar #34?
Avatar billede Slettet bruger
20. januar 2011 - 21:28 #46
Jep, men den virker ikke..

Skal der stå hele adressen med www eller kan jeg nøjes med

header("location:/index.php");
Avatar billede webweaver Praktikant
20. januar 2011 - 23:01 #47
Bliver du ikke logget ud, eller er det bare redirect som ikke virker?

Du bør både kunne skrive den med hele stien http://www.osv.... men også bare index.php
Avatar billede Slettet bruger
21. januar 2011 - 16:05 #48
Jeg bliver ikke logget ud, når jeg går tilbage eller genindlæser siden, er jeg stadig logget ind.
Avatar billede webweaver Praktikant
21. januar 2011 - 16:58 #49
Okay, smid session_start(); i toppen af din logud fil, hvis du ikke allerede har det :)
Avatar billede Slettet bruger
21. januar 2011 - 21:07 #50
Nu virker det..

Skiftede samme linje ud fra før.

if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {


Så er det vist på plads :)
Avatar billede webweaver Praktikant
21. januar 2011 - 21:13 #51
Ak, det var godt. Der var mange ting som drillede. Det er altid lettere, hvis man sidder med selv foran sig :-)
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