Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 19:24 Der er 53 kommentarer og
1 løsning

"INSERT INTO" problemer

Hej eksperter

Har følgende setup:

1. Hjemmeside med et spørgeskema kodet i PHP (spoergeskema.php)

Alle svar bliver lagt succestivt i et array (slutsvar[]).

Koden der connecter til databasen og indsætter data'ene fra array'et i en tabellen "skema" ser således ud:

$connection = mysql_connect("http://192.168.xx.xx/") or die ("Couldn't connect to database!");

mysql_select_db("spoergeskema",$connection);

mysql_query("INSERT INTO skema(sp1, sp2, sp3, sp4a, sp4b, sp4c, sp4d, sp4e, sp4f, sp4g, sp4h, sp4i, sp4j, sp4k, sp5, sp6, sp7, sp8, sp9, sp10, sp11, sp12, sp13, sp14, sp15, sp16a, sp16b, sp17, sp18a, sp18b, sp18c, sp18d, sp18e, sp18f, sp18g, sp18h, sp18i, sp18j) VALUES('$slutsvar[0]','$slutsvar[1]','$slutsvar[2]','$slutsvar[3]','$slutsvar[4]','$slutsvar[5]','$slutsvar[6]','$slutsvar[7]','$slutsvar[8]','$slutsvar[9]','$slutsvar[10]','$slutsvar[11]','$slutsvar[12]','$slutsvar[13]','$slutsvar[14]','$slutsvar[15]','$slutsvar[16]','$slutsvar[17]','$slutsvar[18]','$slutsvar[19]','$slutsvar[20]','$slutsvar[21]','$slutsvar[22]','$slutsvar[23]','$slutsvar[24]','$slutsvar[25]','$slutsvar[26]','$slutsvar[27]','$slutsvar[28]','$slutsvar[29]','$slutsvar[30]','$slutsvar[31]','$slutsvar[32]','$slutsvar[33]','$slutsvar[34]','$slutsvar[35]','$slutsvar[36]','$slutsvar[37]');");

mysql_close($connection);

2. MySQL Server 4.1 ("spoergeskema")

Der er oprettet præcis én kolonne pr. svar i array'et.

3. Apache Server 1.3.20

Maskinen der fungerer som WEB-server har følgende IP: 192.168.xx.xx


Mit problem er, at data'ene ikke bliver lagt ind i databasen - når man laver et udtræk (ODBC) fra excel, så er der altså ingen data - kun kolonneoverskrifterne (sp1, sp2, osv.). Strange nok, så er det faktisk en gang imellem lykkedes at indsætte/udtrække data!?

Har dobbelttjekket følgende:
- Apache serveren kører
- MySQL servicen kører (Windows)
- Navne i INSERT INTO svarer kolonneoverskrifterne i tabellen
- IP'en er rigtig
- At alle svarene bliver skrevet ned i array'et

Please hjælp!?

PS. Ovenstående setup fungerede fint, da jeg i sin tid kørte det hele som "localhost" - det vil sige, at man udfyldte skemaet på hostmaskinen og altså ikke via WEB'en!

På forhånd tak...
Avatar billede detox Nybegynder
03. marts 2005 - 21:45 #1
Måske pga register_globals på den aktuelle server. Prøv at indsætte:

$slutsvar = $_POST['slutsvar']; // eller: $_GET['slutsvar']; hvis det er det du bruger.

før din forespørgsel.
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:03 #2
Det skal du lige forklare mig lidt nærmere detox ;)

Register_globals er noget med globale variable eller?

$slutsvar = $_POST['slutsvar']; <-- hvad gør den præcist?

Undskyld men er ikke den skarpeste kniv i skuffen til PHP ;)
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:08 #3
Kan fortælle, at serveren bare er en bærbar computer med Windows XP og en apache server kørende.

Den står på en et intranet, således at kun domæne-medlemmer har adgang til den.
Avatar billede detox Nybegynder
03. marts 2005 - 22:09 #4
På mange webservere og i nyere versioner af php er 'register_globals' sat til 'Off'.
Det vil sige at man skal hente sine variabler i de superglobale arrays: $_GET, $_POST, $_COOKIES, $_SERVER og $_FILES alt efter hvor de kommer fra.
Avatar billede erikjacobsen Ekspert
03. marts 2005 - 22:11 #5
Du skal nok ændre
$connection = mysql_connect("http://192.168.xx.xx/") or die ("Couldn't connect to database!");
til
$connection = mysql_connect("192.168.xx.xx") or die ("Couldn't connect to database!");
eller
$connection = mysql_connect("localhost") or die ("Couldn't connect to database!");
Avatar billede detox Nybegynder
03. marts 2005 - 22:16 #6
Der er et par stykker mere, du kan få info her:
http://dk2.php.net/manual/en/language.variables.predefined.php
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:32 #7
Okay, vil det sige, at det kan løses ved kun at indsætte en af følgende 2 statements:

$slutsvar = $_POST['slutsvar']; eller $_GET['slutsvar'];

??
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:33 #8
Erik har prøvet med både

...mysql_connect("192.168.xx.xx")...
...mysql_connect("localhost")...

og det virker ikke :(
Avatar billede erikjacobsen Ekspert
03. marts 2005 - 22:35 #9
Sæt også en

  mysql_query(...) or die(mysql_error());

på, så du kan se hvad det går galt.
Avatar billede detox Nybegynder
03. marts 2005 - 22:41 #10
22:32:48 -> Det er vel bare at teste det.
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:43 #11
ja, det er selvfølgelig rigtigt, men hvis det gik "galt", ville den så ikke skrive denne string ud: "Couldn't connect to database!" ??

Og som jeg skrev i mit oprindelige indlæg:

"Strange nok, så er det faktisk en gang imellem lykkedes at indsætte/udtrække data!?"

Med denne sammensætning:

$connection = mysql_connect("192.168.xx.xx") or die ("Couldn't connect to database!");
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:44 #12
Ja, helt sikker mester ;)

Men kan desværre først teste dit forslag i morgen tidlig, idet server m.m. står nede på arbejdet. :(
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:45 #13
Har du selv mange gange kørt med et lign. setup uden problemer? - altså et script på en hp, der skriver ned i en MySQL-database på serveren?
Avatar billede erikjacobsen Ekspert
03. marts 2005 - 22:49 #14
Men der er nok mere galt, når du ikke får en fejlbesked på mysql_connect("http://..."...);
Mon ikke du har en if-sætning, der aldrig går ind i opdateringsdelen?

Mere kode, tak ;)
Avatar billede detox Nybegynder
03. marts 2005 - 22:52 #15
Som jeg forstår det skriver den en ny række til databasen, indholdet er blot tomt.
Er det rigtigt forstået?
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:59 #16
<html>

<head>
<title>Customer Satisfaction Survey</title>

<script language="JavaScript" type="text/JavaScript">
<!--

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

//-->
</script>

<?

$sidenavn="spoergeskema.php";
if(!($sidenum))$sidenum=0;

$overskrift[]="How important a supplier is .... ?";
$overskrift[]="...";
$overskrift[]="...";
$overskrift[]="...";

$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer on each line!";
$under[]="Multiple lines appreciated!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer!";
$under[]="Only one answer per line!";
$under[]="Multiple lines appreciated!";
$under[]="Only one answer per line!";

function sidenumer($num,$enden){
$tal=$num+1;
  if($num<$enden)echo "sidenum=$tal";

};

function arraytest($test){

  For ($t = 0; $t <= count($test)-1; $t++){
    echo $test[$t]."<br>";
  }
}

//Hvis siden ikke bliver udfyldt rigtigt!!!!
if(!$tabellen)$tabellen=0;

$sideigen="false";

?>


</head>

<body>



<form method="POST" action="<?=$sidenavn?>?<? sidenumer($sidenum,count($overskrift)); ?>">

<?if(!$B2){?>
  <table border="0" width="100%" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000" cellspacing="0">
    <tr>
      <td width="100%" colspan="2" bgcolor="#2E3B72">
        <table border="0" width="100%">
          <tr>
            <td width="95%" colspan="2"><font color="#FFFFFF"><b><?=($sidenum+1)?> of <? echo count($overskrift);?> <?=$overskrift[$sidenum]?></b></font></td>
            <td width="5%" rowspan="2"></td>
          </tr>
          <tr>
            <td width="100%"><font color="#FFFFFF"><?=$under[$sidenum]?></font></td>
          </tr>
        </table>
      </td>
    </tr>


<!-- Tabel 1 -->
<?
if($sidenum==0){
$svar[]="One of the most important suppliers";
$svar[]="An important supplier";
$svar[]="One among several possible suppliers";
$svar[]="A less important supplier";
$svar[]="One of our least important suppliers";
?>
<? For ($t = 0; $t <= count($svar)-1; $t++){  ?>
<tr>
      <td width="3%"><input type="radio" value="<?=$t+1?>" name="R1"></td>
      <td width="97%"><?=$svar[$t]?></td>
    </tr>
<?}?>

<?}?>

<!-- Tabel 2 -->
<?
if($sidenum==1){

if($sideigen=="false")$slutsvar[]=$R1;

$svar[]="Very extensive knowledge";
$svar[]="Extensive knowledge";
$svar[]="Some knowledge";
$svar[]="Little knowledge";
$svar[]="Very little knowledge";

?>



//Her er resten af spørgsmålene!



<!-- Tabel 18 -->
<?
if($sidenum==17){

if(!$R1)$R1="TOM";

if($sideigen=="false")$slutsvar[]=$R1;

?>

<?
  // Husk at ændre antal linier i Efter tabel 19
  For ($t = 0; $t <= 9; $t++){  ?>
  <tr>
      <td width="3%"><?=($t+1)?></td>
      <td width="97%"><input type="text" size="100" value="" name="R<?=$t?>"></td>
    </tr>
<?}?>

<? For ($y = 0; $y <= count($slutsvar)-1; $y++){  ?>
<input type="hidden" value="<?=$slutsvar[$y]?>" name="slutsvar[]">
<?}?>


<?}?>




<!-- ------------------------------------------ -->

<!-- LØBENDE TEST -->
<?//arraytest($slutsvar);?>
<!-- LØBENDE TEST SLUT -->

<tr>
      <td width="100%" colspan="2" bgcolor="#2E3B72" align="left">
      <? if(!($sidenum+1==count($overskrift))){ ?>
      <input type="submit" value="Next" name="B1">



      <?}?><? if(($sidenum+1==count($overskrift))){ ?>
          <input type="submit" value="Submit" name="B2" onClick="MM_goToURL('parent','http://192.168.xx.xx/bagside.htm');return document.MM_returnValue">


<?}?>

<?}else{?>


<!-- Efter tabel 18 -->

<?

if(!$R0)$R0="TOM";
if(!$R1)$R1="TOM";
if(!$R2)$R2="TOM";
if(!$R3)$R3="TOM";
if(!$R4)$R4="TOM";
if(!$R5)$R5="TOM";
if(!$R6)$R6="TOM";
if(!$R7)$R7="TOM";
if(!$R8)$R8="TOM";
if(!$R9)$R9="TOM";

$slutsvar[]=$R0;
$slutsvar[]=$R1;
$slutsvar[]=$R2;
$slutsvar[]=$R3;
$slutsvar[]=$R4;
$slutsvar[]=$R5;
$slutsvar[]=$R6;
$slutsvar[]=$R7;
$slutsvar[]=$R8;
$slutsvar[]=$R9;

?>

<!-- SLUT på efter tabel 18-->


<!-- LØBENDE TEST -->
<?//arraytest($slutsvar);?>
<!-- LØBENDE TEST SLUT -->


<?

$connection = mysql_connect("http://192.168.12.111/") or die ("Couldn't connect to database!");

mysql_select_db("spoergeskema",$connection);

mysql_query("INSERT INTO skema(sp1, sp2, sp3, sp4a, sp4b, sp4c, sp4d, sp4e, sp4f, sp4g, sp4h, sp4i, sp4j, sp4k, sp5, sp6, sp7, sp8, sp9, sp10, sp11, sp12, sp13, sp14, sp15, sp16a, sp16b, sp17, sp18a, sp18b, sp18c, sp18d, sp18e, sp18f, sp18g, sp18h, sp18i, sp18j) VALUES('$slutsvar[0]','$slutsvar[1]','$slutsvar[2]','$slutsvar[3]','$slutsvar[4]','$slutsvar[5]','$slutsvar[6]','$slutsvar[7]','$slutsvar[8]','$slutsvar[9]','$slutsvar[10]','$slutsvar[11]','$slutsvar[12]','$slutsvar[13]','$slutsvar[14]','$slutsvar[15]','$slutsvar[16]','$slutsvar[17]','$slutsvar[18]','$slutsvar[19]','$slutsvar[20]','$slutsvar[21]','$slutsvar[22]','$slutsvar[23]','$slutsvar[24]','$slutsvar[25]','$slutsvar[26]','$slutsvar[27]','$slutsvar[28]','$slutsvar[29]','$slutsvar[30]','$slutsvar[31]','$slutsvar[32]','$slutsvar[33]','$slutsvar[34]','$slutsvar[35]','$slutsvar[36]','$slutsvar[37]');");

mysql_close($connection);

?>

      </td>
    </tr>
  </table>


<?}?>


</form>

</body>

</html>
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 22:59 #17
Håber ikke det er for meget!? :S
Avatar billede erikjacobsen Ekspert
03. marts 2005 - 23:01 #18
Mon ikke detox har ret 21:45:04  ;)
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:03 #19
Detox -> den skriver INTET!

Når man laver en Database Query fra Excel, kommer der kun kolonneoverskrifterne med:
ID, sp1, sp2, sp3, sp4a, osv.

Dette har som sagt fungeret fint, dengang jeg udfyldte spørgeskemaet på samme computer, der så idag agerer server. Det vil sige, at alle steder i koden, hvor der står en "ip-adresse" nu, var erstattet med "localhost" istedet. Havde self. også en apache server kørende dengang såvel som nu.
Avatar billede erikjacobsen Ekspert
03. marts 2005 - 23:05 #20
Og hvis du også har skiftet PHP-version, vil det forklare forakellen.
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:06 #21
Er du så godt som 100% sikker på, at det kan løses ved at indsætte eks.:

$connection = mysql_connect("http://192.168.xx.xx/") or die ("Couldn't connect to database!");

mysql_select_db("spoergeskema",$connection);

$slutsvar = $_POST['slutsvar']; <--- ny linie!!!

mysql_query("INSERT INTO skema(sp1, sp2, sp3,...);

mysql_close($connection);

eller?
Avatar billede erikjacobsen Ekspert
03. marts 2005 - 23:08 #22
Nej. Du kan ikke bruge mysql_connect("http://..."...);
Du skal kun angive navn eller IP som første parameter.

Alle steder hvor du refererer felter fra formen skal du bruge $_POST[...]
Avatar billede erikjacobsen Ekspert
03. marts 2005 - 23:09 #23
Og sæt nu en
  mysql_query("INSERT INTO skema(sp1, sp2, sp3,...) or die(mysql_error());
på, så du kan se eventuelle fejl.
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:10 #24
Det er PHP4, men ved ikke lige, hvor jeg kan se hvilken version det er?
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:13 #25
Ok, det er jeg helt med på Erik - will do ;)
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:16 #26
Er dette ikke strange:

..Dette har som sagt fungeret fint, dengang jeg udfyldte spørgeskemaet på samme computer, der så idag agerer server. Det vil sige, at alle steder i koden, hvor der står en "ip-adresse" nu, var erstattet med "localhost" istedet. Havde self. også en apache server kørende dengang såvel som nu...

Fatter ikke hvorfor den nogle gange (dog kun et par gange) har INSERTED det...??
Har I evt. et bud på det Detox eller Erik?

Og foreløbig tak for jeres hjælp - nice ;)
Avatar billede detox Nybegynder
03. marts 2005 - 23:17 #27
Nej, jeg er bange for at det ikke er så simpelt i dette tilfælde, da du bladrer igennem nogle sider vha. javascript og osse bruger nogle andre post variabler: R0, R1, R2, R3....., R9. De skal så osse hentes i $_POST['R0'], $_POST['R1'], osv...
Avatar billede detox Nybegynder
03. marts 2005 - 23:18 #28
Hvis altså register_globals = Off.
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:21 #29
ok - jeg læste i det link du postede at:

...In PHP 4.2.0 and later, the default value for the PHP directive register_globals is off...

Hvor kan jeg se om "min" version er ældre eller nyere end 4.2.0 ??
Avatar billede detox Nybegynder
03. marts 2005 - 23:23 #30
<?php
echo phpversion();
?>
Avatar billede detox Nybegynder
03. marts 2005 - 23:23 #31
Du kan tjekke om den er On eller Off med:

<?
echo ini_get('register_globals') ? "On" : "Off";
?>
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:42 #32
Okay - kunne tjekke det på min bærbare, idet den før havde været brugt til at køre som localhost (ip = 127.0.0.1).

PHP version 4.0.6
register_globals = on

Hva' så mester?
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:46 #33
Kan jeg evt. kontakte dig i morgen Detox eller Erik - hvis I vil være så venlige? ;)

Evt. over msn - og så poste løsningen herinde...
Avatar billede detox Nybegynder
03. marts 2005 - 23:47 #34
Så er det ikke det der er problemet (endnu!). Så du må prøve nogle af erik's forslag.
Avatar billede detox Nybegynder
03. marts 2005 - 23:47 #35
Det er ikke sikkert jeg får tid i morgen, så bliver det først sent.
Avatar billede rantzausgade7 Nybegynder
03. marts 2005 - 23:50 #36
ok, lyder godt ;)

Kan du måske ganske kort fortælle, hvordan du plejer at sætte mysql databasen/serveren op? (indstillinger, portnr., brugernavn, osv)

Tror muligvis, det kan være der problemet ligger. Har aldrig prøvet at sætte en WEB-server op før...
Avatar billede detox Nybegynder
03. marts 2005 - 23:58 #37
Jeg plejer bare at bruge standard indstillingerne på min testserver på maskinen. Brugere m/passwords opretter jeg i phpMyAdmin. Eksempel på min 'my.ini':

[client]
port=3306

[mysqld]
port=3306
skip-locking
set-variable    = key_buffer=32K
set-variable    = max_allowed_packet=2M
set-variable    = thread_stack=128K
set-variable    = table_cache=8
set-variable    = sort_buffer=128K
#set-variable    = record_buffer=1M
#set-variable    = myisam_sort_buffer_size=2M
set-variable    = net_buffer_length=2K
#set-variable    = thread_cache=8
#set-variable    = thread_concurrency=2
set-variable    = language=C:/mysql/share/danish
set-variable    = collation_server=latin1_danish_ci
set-variable    = character_sets_dir=C:/mysql/share/charsets
set-variable    = default_character_set=latin1
set-variable    = default_collation=latin1_danish_ci
log-bin
server-id    = 1

[mysqldump]
quick
set-variable    = max_allowed_packet=16M
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 00:06 #38
ok - vi snakkes sikkert ved i morgen then ;)

Tusind tak for hjælpen..
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 11:37 #39
Så fandt jeg sq ud af, hvad der var galt!

<?
if(($sidenum+1==count($overskrift))){ ?>
          <input type="submit" value="Submit" name="B2" onClick="MM_goToURL
('parent','http://192.168.xx.xx/bagside.htm');return document.MM_returnValue">

<?}?>

Når man fjerner "OnClick...." så virker det helt fint - hvorfor?
Og hvordan kan jeg linke videre på en anden måde??
Avatar billede erikjacobsen Ekspert
04. marts 2005 - 11:55 #40
Hvis du skal submitte formen, hvorfor vil så noget andet i stedet for?
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 12:03 #41
Fordi den skal efterfølgende vise en side (bagside.htm), hvor der står:

"Tak for din tid, bla bla..."
Avatar billede erikjacobsen Ekspert
04. marts 2005 - 12:12 #42
Næh, den skal vel submitte din form, så du får data sat inde hvor de skal være.
Derefter kan du vise en "tak for kaffe"-side
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 12:29 #43
Ja, helt enig - men hvordan skal det så skrues sammen, hvis ikke man kan gøre begge dele på én gang ved at lave en action på submit-knappen!? :)
Avatar billede erikjacobsen Ekspert
04. marts 2005 - 12:31 #44
Du skal gøre det efter du har indsat i databasen, og behandlet alt fra din form.
Een måde er jo bare at skrive  "Tak for kaffe" nederst i det script. Eller lave
en redirect på samme sted.
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 12:32 #45
okay

hvordan kunne en redirect nogenlunde se ud?

Er en nød i sådan noget syntaks... ;)
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 12:36 #46
Skal have loadet den bagside.htm. Er godt klar over, at jeg bare kan copy/paste hele html-koden ind sidst i mit spørgeskema, men det må kunne løses smartere end det?
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 12:43 #47
Well, så må jeg stille spørgsmålet inde under HTML.. :(
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 12:47 #48
Men smider dig Erik og Detox ikke et svar, så I kan få point for jeres venlighed og hjælp? ;)
Avatar billede erikjacobsen Ekspert
04. marts 2005 - 13:24 #49
Så du klarer det måske med en redirect - du ved hvordan man laver den??
Avatar billede rantzausgade7 Nybegynder
04. marts 2005 - 15:03 #50
Fik en løsning på det her:

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

Men vil gerne give jer begge point for jeres hjælp..
Lægger i en svar?
Avatar billede erikjacobsen Ekspert
04. marts 2005 - 15:10 #51
Ingen point til mig, tak. Jeg samler slet ikke på dem.
Avatar billede detox Nybegynder
09. marts 2005 - 08:34 #52
Jo da, værsgo'
Avatar billede rantzausgade7 Nybegynder
09. marts 2005 - 11:40 #53
Takker for hjælpen ;)
Avatar billede detox Nybegynder
09. marts 2005 - 15:37 #54
Velbekommen
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
Computerworld tilbyder specialiserede kurser i database-management

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