mskinho 0 Denunciar post Postado Fevereiro 26, 2010 estou tentando inserir informações dos produtos junto com a imagem, não funciona e não retorna nenhuma erro, para na pagina op_produtos.php quando faz separado funciona normal, mas junto não funciona. se alguém poder me ajudar serei muito grato!!! 1. frm_categoria.php 2. 3. 4. 5. 6. <?php include "conexao.php"; 7. $acao = $_GET["acao"]; 8. $id = $_GET["id"]; 9. 10. if ($acao != "") 11. { 12. $sql = "select p.*, c.*, s.* from produtos p, categorias c, subcategorias s where p.id_categoria = c.id_categoria and p.id_subcategoria = s.id_subcategoria and p.id_produtos= $id"; 13. 14. $resultado = mysql_query ($sql); 15. $linha = mysql_fetch_array($resultado); 16. 17. 18. $id_categoria = $linha[id_categoria]; 19. $subcategoria = $linha[subcategoria]; 20. $produto = $linha[produto]; 21. $foto = $linha[foto]; 22. $estoque = $linha[estoque]; 23. $preco = $linha[preco]; 24. $descricao = $linha[descricao]; 25. 26. } 27. 28. 29. 30. ?> 31. 32. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 33. <html xmlns="http://www.w3.org/1999/xhtml"> 34. <head> 35. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 36. <title>Untitled Document</title> 37. <style type="text/css"> 38. <!-- 39. .style1 { 40. font-size: 16px; 41. font-weight: bold; 42. } 43. --> 44. </style> 45. </head> 46. 47. <body> 48. 49. <table width="99%" border="1"> 50. <tr> 51. <td><div align="center" class="style1">Produtos</div></td> 52. </tr> 53. <tr> 54. <td><form id="form1" name="form1" method="post" action="op_produto.php"> 55. <table width="304" border="1" align="center" cellpadding="2"> 56. <p> </p> 57. <tr> 58. <td width="127">categoria</td> 59. <td width="157"> 60. <select name= "id_categoria"> 61. <option> </option> 62. <?php 63. $sql_cat = "select * from categorias order by categoria"; 64. $result = mysql_query($sql_cat); 65. 66. while ($registro = mysql_fetch_array($result)) 67. { 68. $valor = $registro["id_categoria"]; 69. 70. if($id_categoria == $valor) 71. $selecionado = "selected"; 72. else 73. $selecionado = ""; 74. 75. print "<option value = \"{$registro['id_categoria']}\" $selecionado >{$registro['categoria']}</option>"; 76. 77. } 78. 79. ?> 80. 81. </select> 82. 83. 84. </td> 85. </tr> 86. <tr> 87. <tr> 88. <td width="127">Subcategoria</td> 89. <td width="157"> 90. <select name= "id_subcategoria"> 91. <option> </option> 92. 93. <?php 94. $sql_cat = "select * from subcategorias order by subcategoria"; 95. $result = mysql_query($sql_cat); 96. 97. while ($registro = mysql_fetch_array($result)) 98. { 99. $valor = $registro["id_categoria"]; 100. 101. if($id_categoria == $valor) 102. $selecionado = "selected"; 103. else 104. $selecionado = ""; 105. 106. print "<option value = \"{$registro['id_subcategoria']}\" $selecionado >{$registro['subcategoria']}</option>"; 107. 108. } 109. 110. ?> 111. 112. 113. </select> 114. 115. 116. </td> 117. </tr> 118. <td>produto</td> 119. <td width="157"><input name="txt_produto" type="text" id="txt_produto" size="35" value="<?php echo $produto ?>" /></td> 120. </tr> <tr> 121. <td>foto</td> 122. <td align="center">Enviar Foto: 123. <input type="file" size="30" name="foto" id="foto" /></td> 124. </tr> 125. <tr> 126. <td>estoque</td> 127. <td><label> 128. <input name="txt_estoque" type="text" id="txt_estoque" value="<?php echo $estoque; ?>" /> 129. </label></td> 130. </tr> 131. <tr> 132. <td>preço</td> 133. <td><label> 134. <input name="txt_preco" type="text" id="txt_preco" value="<?php echo $preco; ?>" /> 135. </label></td> 136. </tr> 137. <tr> 138. <td>descrição</td> 139. <td><label> 140. <textarea name="txt_descricao" id="txt_descricao" cols="45" rows="5"> <?php echo $descricao; ?> </textarea> 141. 142. </label></td> 143. </tr> 144. <tr> 145. <td height="49" colspan="2"><label> 146. <div align="center"> 147. <input type="hidden" name="id" value="<?php echo $id; ?>" /> 148. <input type="hidden" name="acao" value="<?php if ($acao !="") {echo $acao;}else {echo "Inserir";} ?>" /> 149. <input type="submit" name="Submit" value="<?php if ($acao !="") {echo $acao;}else {echo "Inserir";} ?>" /> 150. </div> 151. </label></td> 152. </tr> 153. </table> 154. </form></td> 155. </tr> 156. <tr> 157. <td> </td> 158. </tr> 159. </table> 160. 161. </body> 162. </html> 163. 164. 165. 166. 167. 168. 169. op.php 170. 171. 172. 173. 174. 175. 176. <?php include "conexao.php"; 177. 178. $acao = $_POST["acao"]; 179. $id = $_POST["id"]; 180. $foto = $_POST['foto']; 181. 182. 183. $id_categoria = $_POST["id_categoria"]; 184. $id_subcategoria = $_POST["id_subcategoria"]; 185. $txt_produto = $_POST["txt_produto"]; 186. $txt_foto = $_POST["txt_foto"]; 187. $txt_estoque = $_POST["txt_estoque"]; 188. $txt_preco = $_POST["txt_preco"]; 189. $txt_descricao = $_POST["txt_descricao"]; 190. $txt_lancamento = $_POST["txt_lancamento"]; 191. 192. 193. 194. 195. 196. if($acao=="Inserir" ){ 197. // Prepara a variável caso o formulário tenha sido postado 198. $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; 199. 200. $config = array(); 201. // Tamano máximo da imagem, em bytes 202. $config["tamanho"] = 106883; 203. // Largura Máxima, em pixels 204. $config["largura"] = 1350; 205. // Altura Máxima, em pixels 206. $config["altura"] = 1250; 207. // Diretório onde a imagem será salva 208. $config["diretorio"] = "fotos/"; 209. 210. // Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente.. 211. // Função Recursiva 212. function nome($extensao) 213. { 214. global $config; 215. 216. // Gera um nome único para a imagem 217. $temp = substr(md5(uniqid(time())), 0, 10); 218. $imagem_nome = $temp . "." . $extensao; 219. 220. // Verifica se o arquivo já existe, caso positivo, chama essa função novamente 221. if(file_exists($config["diretorio"] . $imagem_nome)) 222. { 223. $imagem_nome = nome($extensao); 224. } 225. 226. return $imagem_nome; 227. } 228. 229. if($arquivo) 230. { 231. $erro = array(); 232. 233. // Verifica o mime-type do arquivo para ver se é de imagem. 234. // Caso fosse verificar a extensão do nome de arquivo, o código deveria ser: 235. // 236. // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) { 237. // $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } 238. // 239. // Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão 240. // para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo. 241. if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) 242. { 243. $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; 244. } 245. else 246. { 247. // Verifica tamanho do arquivo 248. if($arquivo["size"] > $config["tamanho"]) 249. { 250. $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; 251. } 252. 253. // Para verificar as dimensões da imagem 254. $tamanhos = getimagesize($arquivo["tmp_name"]); 255. 256. // Verifica largura 257. if($tamanhos[0] > $config["largura"]) 258. { 259. $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels"; 260. } 261. 262. // Verifica altura 263. if($tamanhos[1] > $config["altura"]) 264. { 265. $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels"; 266. } 267. } 268. 269. if(!sizeof($erro)) 270. { 271. // Pega extensão do arquivo, o indice 1 do array conterá a extensão 272. preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); 273. 274. // Gera nome único para a imagem 275. $imagem_nome = nome($ext[1]); 276. 277. // Caminho de onde a imagem ficará 278. $imagem_dir = $config["diretorio"] . $imagem_nome; 279. 280. // Faz o upload da imagem 281. move_uploaded_file($arquivo["tmp_name"], $imagem_dir); 282. } 283. } 284. if($arquivo && !sizeof($erro)) 285. { 286. $txt_foto = $imagem_nome; 287. 288. $sql = "INSERT INTO produtos ( id_categoria, id_subcategoria, produto, estoque, foto, preco, descricao, lancamento) 289. VALUES 290. ('$id_categoria', '$id_subcategoria', '$txt_produto', '$txt_foto', 'foto', '$txt_estoque', '$txt_preco', '$txt_descricao', '$txt_lancamento' )"; 291. mysql_query($sql) or die (mysql_error()); 292. print "<script type = 'text/javascript'> location.href = 'principal.php?link=10' </script>"; 293. } 294. else{ 295. if(sizeof($erro)) 296. { 297. echo "<tr><td colspan=2 bgcolor=red><B><U>Ocorreu(am) o(s) seguinte(s) erro(s):</u><BR>"; 298. foreach($erro as $err) 299. { 300. echo " - " . $err . "<BR>"; 301. } 302. echo "</B></td></tr>"; 303. } 304. } 305. } Compartilhar este post Link para o post Compartilhar em outros sites
Fernando Medrado 1 Denunciar post Postado Fevereiro 26, 2010 E aew, cara dá uma arrumada nesse código. Pra começar pude ver que no teu form tá faltando a atributo enctype="multipart/form-data" que é necessário quando tu tem um campo do tipo file. Compartilhar este post Link para o post Compartilhar em outros sites
mskinho 0 Denunciar post Postado Fevereiro 27, 2010 realmente é esse motivo, porque trabalhando interno não precisa, mas quando manda pr uma página operação externa tem a necessidade!!!!! vlw Compartilhar este post Link para o post Compartilhar em outros sites