Avatar billede snigeren Nybegynder
06. oktober 2005 - 17:52 Der er 2 kommentarer og
1 løsning

Upload billede spørgsmål - nyt

Jeg prøver at få uploadet to billeder fra en php upload side, hvis jeg sætter formens encryption type til "multipart/form-data" i dreamweaver virker det egentlig oxo fint,.. billederne bliver uploadet men i databasen laver den én entry med al tekst, pris osv. og én entry for thumbnail og én for det store billede.

Det er jo ikke ligefrem meningen jeg skal have tre entrys for hvert produkt =)  Hvis ikke jeg slår "multipart/form-data" til uploader den ikke billederne eller skriver noget i databasen...

Mon der er nogen der kan hjælpe?

Jeg ved det er meget kode men, det skal jo vises hvis i skal have en chance for at hjælpe:

<?php require_once('../Connections/jernbanemaerker.php'); ?>
<?php

$itemId = $_GET["itemId"];

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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"] == "new_product")) {
  $insertSQL = sprintf("INSERT INTO items (itemName, itemDesc, itemPrice, itemType, mainId) VALUES (%s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['itemName'], "text"),
                      GetSQLValueString($_POST['itemDesc'], "text"),
                      GetSQLValueString($_POST['itemPrice'], "double"),
                      GetSQLValueString($_POST['itemType'], "text"),
                      GetSQLValueString($_GET['mainId'], "int"));

  mysql_select_db($database_jernbanemaerker, $jernbanemaerker);
  $Result1 = mysql_query($insertSQL, $jernbanemaerker) or die(mysql_error());

  $insertGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsNew = "1";
if (isset($_GET['itemId'])) {
  $colname_rsNew = (get_magic_quotes_gpc()) ? $_GET['itemId'] : addslashes($_GET['itemId']);
}
mysql_select_db($database_jernbanemaerker, $jernbanemaerker);
$query_rsNew = sprintf("SELECT itemId FROM items WHERE itemId = %s", $colname_rsNew);
$rsNew = mysql_query($query_rsNew, $jernbanemaerker) or die(mysql_error());
$row_rsNew = mysql_fetch_assoc($rsNew);
$totalRows_rsNew = mysql_num_rows($rsNew);


if (isset($_FILES['filnavnB'])){
    print "Fil, der er blevet overført: {$_FILES['filnavnB']['name']}<p>\n";

$query = "INSERT INTO items SET itemPhoto='".$_FILES['filnavnB']['name']."'";

    $Result1 = mysql_query($query, $jernbanemaerker) or die(mysql_error());
}

{
$tempfile = $_FILES['filnavnB']['tmp_name'];
$destination = "../gallery/billeder/{$_FILES['filnavnB']['name']}";
//copy($tempfile, $destination);
move_uploaded_file($tempfile, $destination);

}

if (isset($_FILES['filnavnT'])){
    print "Fil, der er blevet overført: {$_FILES['filnavnT']['name']}<p>\n";

$query = "INSERT INTO items SET itemThumb='".$_FILES['filnavnT']['name']."'";

    $Result1 = mysql_query($query, $jernbanemaerker) or die(mysql_error());
}

{
$tempfile = $_FILES['filnavnT']['tmp_name'];
$destination = "../gallery/thumbs/{$_FILES['filnavnT']['name']}";
//copy($tempfile, $destination);
move_uploaded_file($tempfile, $destination);

}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Jernbanemaerker</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style2 {color: #89744B}
-->
</style>
</head>

<body bgcolor="#D8C5A3">
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr align="right" valign="top">
    <td width="900" height="143"><img src="../gfx/top_gfx_admin.jpg" width="900" height="143"></td>
  </tr>
  <tr>
    <td height="503" valign="top" class="body" bgcolor="#F2E3C8"><table width="100%"  border="0" cellpadding="0" cellspacing="0">
      <tr class="style2">
        <td width="245" height="379" align="center" valign="top" class="left"><p>&nbsp;</p>
          <h1><strong>Tilf&oslash;j nyt produkt </strong></h1>
          <p><a href="index.php">Til admin forside</a> </p></td>
        <td width="655" align="center" valign="top" class="middle"><table width="90%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td colspan="2" align="left" valign="top"><p>&nbsp;</p>
              <h1>Tilf&oslash;j nyt produkt </h1>             
                  <form action="<?php echo $editFormAction; ?>" method="POST" name="new_product" id="new_product">
                <table width="558"  border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="21%">Navn:</td>
                    <td width="79%"><input name="itemName" type="text" id="itemName" size="60"></td>
                  </tr>
                  <tr>
                    <td>Beskrivelse:</td>
                    <td><textarea name="itemDesc" cols="50" rows="6" id="itemDesc"></textarea></td>
                  </tr>
                  <tr>
                    <td>Pris:</td>
                    <td><input name="itemPrice" type="text" id="itemPrice" size="60"></td>
                  </tr>
                  <tr>
                    <td>Billede:</td>
                    <td><input name="filnavnB" type="file" id="filnavnB"></td>
                  </tr>
                  <tr>
                    <td>Thumbnail:</td>
                    <td><input name="filnavnT" type="file" id="filnavnT"></td>
                  </tr>
                  <tr>
                    <td>Produkt type:</td>
                    <td><select name="itemType" id="itemType">
                      <option>Enkelt m&aelig;rke</option>
                      <option>5 stribe</option>
                      <option>Hel ark</option>
                      <option>Rulle</option>
                    </select></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td><input type="submit" name="Submit" value="Gem data"></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>
                </table>
                  <p>
                    <input name="mainId" type="hidden" id="mainId" value="<?php echo $row_rsNew['itemId']; ?>">
                  </p>
                  <input type="hidden" name="MM_insert" value="new_product">
                  </form>              </td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result($rsNew);
?>

På forhånd tak
/Snig
Avatar billede intenz Novice
07. oktober 2005 - 12:44 #1
Det er fordi du har 3 forskellige sql inserts:
$insertSQL = sprintf("INSERT INTO items (itemName, itemDesc, itemPrice, itemType, mainId) VALUES (%s, %s, %s, %s, %s)",
$query = "INSERT INTO items SET itemPhoto='".$_FILES['filnavnB']['name']."'";
$query = "INSERT INTO items SET itemThumb='".$_FILES['filnavnT']['name']."'";

De skal sættes ind samtidigt eller have en WHERE værdi med.
Din kode er lidt uoverskuelig, så jeg kan ikke lige lave den for dig.
Avatar billede snigeren Nybegynder
10. oktober 2005 - 01:32 #2
hmm,.. jae det fandt jeg oxo ud af,.. hmm tror jeg må prøve at lave det helt forfra, det meste er noget dreamweaver gerneret kode blandet med noget andet,.. nok derfor den er så rodet =)

Well jeg må jo se om ikke jeg kan finde ud af det,... du har vel ikke lige et tilsvarende script med en form der uploader billede og sender noget tekste til en database liggende?
Avatar billede snigeren Nybegynder
19. oktober 2005 - 16:01 #3
lukker lige
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