I am trying to insert an image into the database and it is not working. Can you help?
Image Insertion Page Code:
<form action="registo_produtos.php" method="post" enctype="multipart/form-data">
<label>Nome Produto : </label>
<input type=text size=70 name="NomeProduto" value="<?php echo $NomeProduto; ?>">
<text class="informacao">( NÃO INTRODUZIR ACENTOS NAS PALAVRAS )</text>
<br>
<label>Preço Produto : </label>
<br>
<input class="preco_produto" id="input" type="number" name="PrecoProduto" onkeypress="return allowOnlyNumbers(event)" value="<?php echo $PrecoProduto; ?>"/>
<text class="informacao">( NÃO INTRODUZIR O SÍMBOLO DO EURO € )</text>
<script>
function myFunction() {
var str = "$PrecoProduto";
var patt1 = /[^€]/gi;
var result = str.match(patt1);
}
</script>
<br>
<label>Imagem Produto : </label>
<!-- <input type="file" name="fileToUpload" id="fileToUpload" value="<?php echo $nome_img; ?>"> -->
<input type="file" name="ImagemProduto" value="<?php echo $ImagemProduto; ?>" />
<br>
<label>Descrição Produto : </label>
<textarea rows="4" cols="50" name="DescricaoProduto" value="<?php echo $DescricaoProduto; ?>"></textarea>
<br>
<label>Quantidade Produto : </label>
<select name="QuantidadeProduto" value="<?php echo $QuantidadeProduto; ?>">
<option selected data-default>- Indique -</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
<option value="32">32</option>
<option value="33">33</option>
<option value="34">34</option>
<option value="35">35</option>
<option value="36">36</option>
<option value="37">37</option>
<option value="38">38</option>
<option value="39">39</option>
<option value="40">40</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
<option value="46">46</option>
<option value="47">47</option>
<option value="48">48</option>
<option value="49">49</option>
<option value="50">50</option>
<option value="51">51</option>
<option value="52">52</option>
<option value="53">53</option>
<option value="54">54</option>
<option value="55">55</option>
<option value="56">56</option>
<option value="57">57</option>
<option value="58">58</option>
<option value="59">59</option>
<option value="60">60</option>
<option value="61">61</option>
<option value="62">62</option>
<option value="63">63</option>
<option value="64">64</option>
<option value="65">65</option>
<option value="66">66</option>
<option value="67">67</option>
<option value="68">68</option>
<option value="69">69</option>
<option value="70">70</option>
<option value="71">71</option>
<option value="72">72</option>
<option value="73">73</option>
<option value="74">74</option>
<option value="75">75</option>
<option value="76">76</option>
<option value="77">77</option>
<option value="78">78</option>
<option value="79">79</option>
<option value="80">80</option>
<option value="81">81</option>
<option value="82">82</option>
<option value="83">83</option>
<option value="84">84</option>
<option value="85">85</option>
<option value="86">86</option>
<option value="87">87</option>
<option value="88">88</option>
<option value="89">89</option>
<option value="90">90</option>
<option value="91">91</option>
<option value="92">92</option>
<option value="93">93</option>
<option value="94">94</option>
<option value="95">95</option>
<option value="96">96</option>
<option value="97">97</option>
<option value="98">98</option>
<option value="99">99</option>
<option value="100">100</option>
</select>
<br>
<label>Categoria Produto : </label>
<select name="CategoriaProduto" value="<?php echo $CategoriaProduto; ?>">
<option selected data-default>- Selecione -</option>
<option value="Roupa Desportiva">Roupa Desportiva</option>
<option value="Futebol">Futebol</option>
<option value="Basquetebol">Basquetebol</option>
<option value="Andebol">Andebol</option>
<option value="Tenis">Tenis</option>
<option value="Corfebol">Corfebol</option>
</select>
<br>
<button type="submit" class="btn" name="addproducts_btn">Adicionar Produtos</button>
</form>
Insertion code in database
$imagem = $_POST["ImagemProduto"];
if($ImagemProduto != NULL) {
$nomeFinal = time().'.jpg';
if (move_uploaded_file($imagem['tmp_name'], $nomeFinal)) {
$tamanhoImg = filesize($nomeFinal);
$mysqlImg = addslashes(fread(fopen($nomeFinal, "r"), $tamanhoImg));
unlink($nomeFinal);
header("location:index.php");
}
}
else {
echo"Você não realizou o upload de forma satisfatória.";
}
$query = "INSERT INTO produtos (NomeProduto, PrecoProduto, ImagemProduto, DescricaoProduto, QuantidadeProduto, CategoriaProduto)
VALUES('$NomeProduto', '$PrecoProduto', '$mysqlImg', '$DescricaoProduto', '$QuantidadeProduto', '$CategoriaProduto')";
Database structure
Errors:
Notice: Undefined variable: ImageProduct in C: \ xampp \ htdocs \ Site \ user \ functions.php on line 219 You have not uploaded in a satisfactory way. Notice: Undefined variable: mysqlImg in C: \ xampp \ htdocs \ Site \ user \ functions.php on line 241