Avatar billede Slettet bruger
10. august 2007 - 12:44 Der er 17 kommentarer og
1 løsning

Få upload og gem i MySQL flettet sammen

Hej.

Jeg blev henvist til denne:

http://www.eksperten.dk/artikler/1098

i et andet spørgsmål. Denne har jeg så fået til at virke.

Men jeg ville gerne have det flettet sammen med en formular hvor jeg godt kan få den til at gemme data i databasen, men ikke sende filen op til serveren.

Nogen der kan hjælpe mig med at få det til at virke ? Jeg vedlægger hele filen men upload lagt ind, men den gemmer ikke filen, og lægger ikke linket ind i databasen, som jeg havde regnet med. Her er hele koden:

<?php require_once('Connections/NytMateriel.php'); ?>
<?php
$tabellen = $_GET['Navn'];
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

// omskriv dato til MySQL format
    $datoen = $_POST['Dato'];
    $date = substr($datoen,0,2);
    $month = substr($datoen,2,2);
    $year = substr($datoen,4,4);

    $Dato = $year.'-'.$month.'-'.$date;

if(isset($_POST['myUpload'])){ 
//Har vi en fil? 
if(is_uploaded_file($_FILES['myFile']['tmp_name']))  {
//Filendelse
$extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
//Er filen en af de filer vi gerne vil have?   
if(in_array($extension,$allowedFileTypes))    {     
//Vi flytter filen fra tmp til vores UPLOADDIR
if(move_uploaded_file($_FILES['myFile']['tmp_name'], "image/" . $uploadDir .basename($_FILES['myFile']['name'])))      {
echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully</h3>';
$FilLink = $uploadDir . basename($_FILES['myFile']['name']);
echo $FilLink;
}      else      {       
echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['myFile']['name']).'</h3>';      }   
}    else    {     
echo '<h3 style="color:red;">Wrong filetype, allowed filetypes are: ('.implode(',',$allowedFileTypes).')</h3>';    } 
}  else  {   
echo '<h3 style="color:red;">No file selected<h3>';  }}
// Slut på upload
$BilledeLink = $FilLink;

  $insertSQL = sprintf("INSERT INTO `$tabellen` (id, BestilNr, Opstilling, Forfatter, Titel, Tekst, Forlag, Udgivet, Info, Dato, Koebt, BilledeLink, Billede) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['id'], "int"),
                      GetSQLValueString($_POST['BestilNr'], "text"),
                      GetSQLValueString($_POST['Opstilling'], "text"),
                      GetSQLValueString($_POST['Forfatter'], "text"),
                      GetSQLValueString($_POST['Titel'], "text"),
                      GetSQLValueString($_POST['Tekst'], "text"),
                      GetSQLValueString($_POST['Forlag'], "text"),
                      GetSQLValueString($_POST['Udgivet'], "text"),
                      GetSQLValueString($_POST['Info'], "text"),
                      GetSQLValueString($Dato, "date"),
                      GetSQLValueString($_POST['Koebt'], "text"),
                      GetSQLValueString($BilledeLink, "text"),
                      GetSQLValueString($_POST['Billede'], "text"));

  mysql_select_db($database_NytMateriel, $NytMateriel);
  $Result1 = mysql_query($insertSQL, $NytMateriel) or die(mysql_error());

  $insertGoTo = "Menuen.html";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<link href="style/style.css" rel="stylesheet" type="text/css">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Nye Materialer.</title>
<script type="text/javascript" language="javascript">
function blink() {
document.form1.BestilNr.focus()
}
</script>
</head>

<body onLoad="java script:blink()">
<br />
<?php
$year = substr($tabellen, 0, 4);
$month = substr($tabellen, 4, 2);
$day = substr($tabellen, 6, 2);
//echo $day ." ". $month ." ". $year;
setLoc('da_DK.ISO_8859-1');
$new_date = strftime("%e. %B %Y", mktime(0, 0, 0, $month, $day, $year));
?>
<center><h3>INDTAST ny titel i listen: <?php echo $new_date; ?>.</h3></center>

<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1" enctype="multipart/form-data">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">BestilNr:</td>
      <td><input type="text" name="BestilNr" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Opstilling:</td>
      <td><input type="text" name="Opstilling" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Forfatter:</td>
      <td><input type="text" name="Forfatter" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Titel:</td>
      <td><input type="text" name="Titel" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Tekst:</td>
      <td><input type="text" name="Tekst" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Forlag:</td>
      <td><input type="text" name="Forlag" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Udgivet:</td>
      <td><input type="text" name="Udgivet" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right" valign="middle">Info:</td>
      <td><textarea name="Info" cols="50" rows="5"></textarea>      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Dato:</td>
      <td><input  type="text" name="Dato" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td align="right" valign="middle">Købt:</td>
      <td valign="baseline"><table>
        <tr>
          <td><input type="radio" name="Koebt" value="ja" />
            Ja</td>
          <td><input type="radio" name="Koebt" value="nej" / checked="checked">
            Nej</td>
        </tr>
      </table></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">MiniBillede:</td>
      <td><?php
// forsøg med upload af billeder
$uploadDir = 'thumb/';
//Bibliotek hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png');
//Hvilke filer vil vi acceptere bliver uploadet?
//Er der trykket på Upload file knappen?

echo //'<input type="file" name="myFile"><br />'; ?>
      <input type="file" name="myFile" value="" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="  Gem det indtastede  " /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
<center><a href="Menuen.html" target="_parent">Tilbage til MENU</a></center>
<?php
function setLoc($loc) {
  $ii=0;
  do {
    $locale_result = setlocale(LC_TIME, $loc);
  } while ($locale_result != $loc && $ii++ < 10);
}
?>
</body>
</html>

Jeg håber på der er en der kan se hvad der er galt. Jeg skulle have den udviddet til at gemme en fil mere der hedder det samme, men i en anden mappe. Det er billeder lavet i Photoshop web galleri, så derfor hedder billederne det samme, men ligger i to forskellige mapper. Kan det overhovedet lade sig gøre ?

Ole.
Avatar billede jakobdo Ekspert
10. august 2007 - 13:19 #1
Du har også byttet lidt rundt på koden synes jeg godt nok.
Start med at tilføj input feltet i din formular:
<input type="file" name="myFile" value="" /></td>
og tilføj: enctype="multipart/form-data" i form (den har du allerede)
Sørg for koden så virker fint nok.
Tag så koden:
//Har vi en fil?
  if(is_uploaded_file($_FILES['myFile']['tmp_name']))
  {
    //Filendelse
    $extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
   
    //Er filen en af de filer vi gerne vil have?
    if(in_array($extension,$allowedFileTypes))
    {
      //Vi flytter filen fra tmp til vores UPLOADDIR
      if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . basename($_FILES['myFile']['name'])))
      {
        echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully</h3>';
      }
      else
      {
        echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['myFile']['name']).'</h3>';
      }
    }
    else
    {
      echo '<h3 style="color:red;">Wrong filetype, allowed filetypes are: ('.implode(',',$allowedFileTypes).')</h3>';
    }
  }
  else
  {
    echo '<h3 style="color:red;">No file selected<h3>';
  }
og smid den i toppen af din indsættelses kode.
Avatar billede Slettet bruger
10. august 2007 - 13:34 #2
Denne linie

<input type="file" name="myFile" value="" /></td>

er i slutningen af formularen.

Mener du jeg skal smide al den kode til filupload ud som jeg har klistret ind ? og så smide den ind du har sendt her istedet ?
Avatar billede jakobdo Ekspert
10. august 2007 - 14:11 #3
Test denne kode:

<?php require_once('Connections/NytMateriel.php'); ?>
<?php
$uploadDir = 'thumb/'; //Bibliotek hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver uploadet?

$tabellen = $_GET['Navn'];
if (!function_exists("GetSQLValueString"))
{
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
      $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break; 
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING']))
{
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1"))
{
    // omskriv dato til MySQL format
    $datoen = $_POST['Dato'];
    $date = substr($datoen,0,2);
    $month = substr($datoen,2,2);
    $year = substr($datoen,4,4);

    $Dato = $year.'-'.$month.'-'.$date;

    if(isset($_POST['myUpload']))
    {
        //Har vi en fil?
        if(is_uploaded_file($_FILES['myFile']['tmp_name']))
        {
            //Filendelse
            $extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
           
            //Er filen en af de filer vi gerne vil have? 
            if(in_array($extension,$allowedFileTypes))
            {
                //Vi flytter filen fra tmp til vores UPLOADDIR
                if(move_uploaded_file($_FILES['myFile']['tmp_name'], "image/" . $uploadDir .basename($_FILES['myFile']['name'])))
                {
                    echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully</h3>';
                    $FilLink = $uploadDir . basename($_FILES['myFile']['name']);
                    echo $FilLink;
                }
                else
                {
                    echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['myFile']['name']).'</h3>';
                } 
            }
            else
            {
                echo '<h3 style="color:red;">Wrong filetype, allowed filetypes are: ('.implode(',',$allowedFileTypes).')</h3>';
            }
        }
        else
        {
            echo '<h3 style="color:red;">No file selected<h3>';
        }
    }
    // Slut på upload
    $BilledeLink = $FilLink;

  $insertSQL = sprintf("INSERT INTO `$tabellen` (id, BestilNr, Opstilling, Forfatter, Titel, Tekst, Forlag, Udgivet, Info, Dato, Koebt, BilledeLink, Billede) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['id'], "int"),
                      GetSQLValueString($_POST['BestilNr'], "text"),
                      GetSQLValueString($_POST['Opstilling'], "text"),
                      GetSQLValueString($_POST['Forfatter'], "text"),
                      GetSQLValueString($_POST['Titel'], "text"),
                      GetSQLValueString($_POST['Tekst'], "text"),
                      GetSQLValueString($_POST['Forlag'], "text"),
                      GetSQLValueString($_POST['Udgivet'], "text"),
                      GetSQLValueString($_POST['Info'], "text"),
                      GetSQLValueString($Dato, "date"),
                      GetSQLValueString($_POST['Koebt'], "text"),
                      GetSQLValueString($BilledeLink, "text"),
                      GetSQLValueString($_POST['Billede'], "text"));

  mysql_select_db($database_NytMateriel, $NytMateriel);
  $Result1 = mysql_query($insertSQL, $NytMateriel) or die(mysql_error());

  $insertGoTo = "Menuen.html";
  if (isset($_SERVER['QUERY_STRING']))
  {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
  exit();
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<link href="style/style.css" rel="stylesheet" type="text/css">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Nye Materialer.</title>
<script type="text/javascript" language="javascript">
function blink() {
document.form1.BestilNr.focus()
}
</script>
</head>

<body onLoad="java script:blink()">
<br />
<?php
$year = substr($tabellen, 0, 4);
$month = substr($tabellen, 4, 2);
$day = substr($tabellen, 6, 2);
//echo $day ." ". $month ." ". $year;
setLoc('da_DK.ISO_8859-1');
$new_date = strftime("%e. %B %Y", mktime(0, 0, 0, $month, $day, $year));
?>
<center><h3>INDTAST ny titel i listen: <?php echo $new_date; ?>.</h3></center>

<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1" enctype="multipart/form-data">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">BestilNr:</td>
      <td><input type="text" name="BestilNr" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Opstilling:</td>
      <td><input type="text" name="Opstilling" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Forfatter:</td>
      <td><input type="text" name="Forfatter" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Titel:</td>
      <td><input type="text" name="Titel" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Tekst:</td>
      <td><input type="text" name="Tekst" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Forlag:</td>
      <td><input type="text" name="Forlag" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Udgivet:</td>
      <td><input type="text" name="Udgivet" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right" valign="middle">Info:</td>
      <td><textarea name="Info" cols="50" rows="5"></textarea>      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Dato:</td>
      <td><input  type="text" name="Dato" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td align="right" valign="middle">Købt:</td>
      <td valign="baseline"><table>
        <tr>
          <td><input type="radio" name="Koebt" value="ja" />
            Ja</td>
          <td><input type="radio" name="Koebt" value="nej" / checked="checked">
            Nej</td>
        </tr>
      </table></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">MiniBillede:</td>
      <td><input type="file" name="myFile" value="" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="  Gem det indtastede  " /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
<center><a href="Menuen.html" target="_parent">Tilbage til MENU</a></center>
<?php
function setLoc($loc)
{
    $ii=0;
    do
    {
        $locale_result = setlocale(LC_TIME, $loc);
  } while ($locale_result != $loc && $ii++ < 10);
}
?>
</body>
</html>
Avatar billede Slettet bruger
10. august 2007 - 14:23 #4
Nu har jeg prøvet nogle gange, og den smider ikke billedet op på serveren.
Avatar billede jakobdo Ekspert
10. august 2007 - 14:31 #5
Skriver den en fejl ud?
Avatar billede Slettet bruger
10. august 2007 - 14:35 #6
Nej, det ser bare ud som om det virker.

Jeg er ved at forsøge at få skrevet variablerne ud, men den farer afsted :-)

Stopper den med die() og det ser ud til at $FilLink ingen indhold har.

Bare den ville skrive hvad der er galt, så var det jo nok lettere :-)
Avatar billede Slettet bruger
10. august 2007 - 15:01 #7
Ved at kommentere disse ud:

//    if(isset($_POST['myUpload']))
//    {

og ligeså med den sidste  } i denne block, smider den billedet op.
Avatar billede jakobdo Ekspert
10. august 2007 - 15:17 #8
Nice!
Så det vil sige alt nu virker som det skal?
Er det lukketid så?
Avatar billede Slettet bruger
10. august 2007 - 15:22 #9
Nej det gjorde det ikke. Jeg fik forskellige fejl og sidst at den allerede have sendt header og så videre, men ved at ændre til dette, så virker det:

//    if(isset($_POST['myUpload']))
//    {
        //Har vi en fil?
        if(is_uploaded_file($_FILES['myFile']['tmp_name']))
        {
            //Filendelse
            $extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
           
            //Er filen en af de filer vi gerne vil have? 
            if(in_array($extension,$allowedFileTypes))
            {
                //Vi flytter filen fra tmp til vores UPLOADDIR
                if(move_uploaded_file($_FILES['myFile']['tmp_name'], "image/" . $uploadDir .basename($_FILES['myFile']['name'])))
         
           
           
                {
//                    echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully</h3>';
                    $FilLink = $uploadDir . basename($_FILES['myFile']['name']);
//                    echo $FilLink;
$BilledeLink = $FilLink;
                }
                else
                {
//                    echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['myFile']['name']).'</h3>';
                } 
            }
            else
            {
//                echo '<h3 style="color:red;">Wrong filetype, allowed filetypes are: ('.implode(',',$allowedFileTypes).')</h3>';
            }
        }
        else
        {
//            echo '<h3 style="color:red;">No file selected<h3>';
        }
//  }
// Slut på upload


Så nu kan du godt knalde et svar af, medmindre du vil løse resten af opgaven :-) Den med at få den til at flytte et billede med i samme hug fra en anden mappe. De to mapper hedder altid det samme, men jeg har lært at det kan drille ufatteligt når man piller i koden :-)

Ole.
Avatar billede Slettet bruger
10. august 2007 - 15:24 #10
Nå, den gemmer ikke linken i databasen, så den er ikke helt på plads, underligt.
Avatar billede Slettet bruger
10. august 2007 - 15:25 #11
ARG, det går rigtig godt.

Jo den gemmer også linken, jeg så i phpMyAdmin, men glemte lige at skifte til sidste side :-)
Avatar billede jakobdo Ekspert
10. august 2007 - 15:30 #12
DU skal huske, at når HEADER() kaldes, må der ikke have været output til browseren inden da, f.eks. echo 'noget'; eller fejl-meddelelser og lign.

Og et svar.
Avatar billede Slettet bruger
10. august 2007 - 15:40 #13
Det var også derfor jeg kommenterede de echo ud. Når det virker er der heller ikke brug for dem :-)

TAK for hjælpen.
Avatar billede jakobdo Ekspert
10. august 2007 - 18:41 #14
Når det virker er der ikke brug for dem nej.
Men du burde jo evt. lave noget fejl-håndtering.

Jeg takker også for point.
Avatar billede Slettet bruger
10. august 2007 - 19:14 #15
Ja det er rigtig nok, men dette:

ob_start();
.....
ob_end_flush();

klarer jo det, så nu har jeg de fleste echo om fejl slået til igen. Så nu håber jeg det arter sig.

Og så skal de næste ting jo implementeres hvis det er muligt.
Avatar billede jakobdo Ekspert
10. august 2007 - 19:22 #16
At bruge ob_start() i et sådan tilfælde, er sgu lidt dårlig kode synes jeg! :o)
Avatar billede Slettet bruger
10. august 2007 - 19:29 #17
Nårh ja, men jeg bruger også Dreamweaver til at lave meget af det jeg bruger, og det havde nok været bedre at få det lært ordentligt, men det kræver for meget tid. Men jeg lærer jo lidt ind i mellem alligevel, så det går jo. Og når det så går helt galt, har jeg jo Jer her på eksperten :-)
Avatar billede jakobdo Ekspert
10. august 2007 - 20:13 #18
Fair nok! :o)
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