Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mskinho

[Resolvido] inserir dados junto com imagem

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.