estou tentando inserir informações dos produtos junto com a imagem, não funciona e não retorna nenhum 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!!! frm_categoria.php <?php include "conexao.php";
$acao = $_GET["acao"];
$id = $_GET["id"];
if ($acao != "")
{
$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";
$resultado = mysql_query ($sql);
$linha = mysql_fetch_array($resultado);
$id_categoria = $linha[id_categoria];
$subcategoria = $linha[subcategoria];
$produto = $linha[produto];
$foto = $linha[foto];
$estoque = $linha[estoque];
$preço = $linha[preço];
$descricao = $linha[descricao];
}
?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {
font-size: 16px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<table width="99%" border="1">
<tr>
<td><div align="center" class="style1">Produtos</div></td>
</tr>
<tr>
<td><form id="form1" name="form1" method="post" action="op_produto.php">
<table width="304" border="1" align="center" cellpadding="2">
<p> </p>
<tr>
<td width="127">categoria</td>
<td width="157">
<select name= "id_categoria">
<option> </option>
<?php
$sql_cat = "select * from categorias order by categoria";
$result = mysql_query($sql_cat);
while ($registro = mysql_fetch_array($result))
{
$valor = $registro["id_categoria"];
if($id_categoria == $valor)
$selecionado = "selected";
else
$selecionado = "";
print "<option value = \"{$registro['id_categoria']}\" $selecionado >{$registro['categoria']}</option>";
}
?>
</select>
</td>
</tr>
<tr>
<tr>
<td width="127">Subcategoria</td>
<td width="157">
<select name= "id_subcategoria">
<option> </option>
<?php
$sql_cat = "select * from subcategorias order by subcategoria";
$result = mysql_query($sql_cat);
while ($registro = mysql_fetch_array($result))
{
$valor = $registro["id_categoria"];
if($id_categoria == $valor)
$selecionado = "selected";
else
$selecionado = "";
print "<option value = \"{$registro['id_subcategoria']}\" $selecionado >{$registro['subcategoria']}</option>";
}
?>
</select>
</td>
</tr>
<td>produto</td>
<td width="157"><input name="txt_produto" type="text" id="txt_produto" size="35" value="<?php echo $produto ?>" /></td>
</tr> <tr>
<td>foto</td>
<td align="center">Enviar Foto:
<input type="file" size="30" name="foto" id="foto" /></td>
</tr>
<tr>
<td>estoque</td>
<td><label>
<input name="txt_estoque" type="text" id="txt_estoque" value="<?php echo $estoque; ?>" />
</label></td>
</tr>
<tr>
<td>preço</td>
<td><label>
<input name="txt_preco" type="text" id="txt_preco" value="<?php echo $preço; ?>" />
</label></td>
</tr>
<tr>
<td>descrição</td>
<td><label>
<textarea name="txt_descricao" id="txt_descricao" cols="45" rows="5"> <?php echo $descricao; ?> </textarea>
</label></td>
</tr>
<tr>
<td height="49" colspan="2"><label>
<div align="center">
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<input type="hidden" name="acao" value="<?php if ($acao !="") {echo $acao;}else {echo "Inserir";} ?>" />
<input type="submit" name="Submit" value="<?php if ($acao !="") {echo $acao;}else {echo "Inserir";} ?>" />
</div>
</label></td>
</tr>
</table>
</form></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</body>
</html>
op.php
<?php include "conexao.php";
$acao = $_POST["acao"];
$id = $_POST["id"];
$foto = $_POST['foto'];
$id_categoria = $_POST["id_categoria"];
$id_subcategoria = $_POST["id_subcategoria"];
$txt_produto = $_POST["txt_produto"];
$txt_foto = $_POST["txt_foto"];
$txt_estoque = $_POST["txt_estoque"];
$txt_preco = $_POST["txt_preco"];
$txt_descricao = $_POST["txt_descricao"];
$txt_lancamento = $_POST["txt_lancamento"];
if($acao=="Inserir" ){
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
$config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 106883;
// Largura Máxima, em pixels
$config["largura"] = 1350;
// Altura Máxima, em pixels
$config["altura"] = 1250;
// Diretório onde a imagem será salva
$config["diretorio"] = "fotos/";
// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva
function nome($extensao)
{
global $config;
// Gera um nome único para a imagem
$temp = substr(md5(uniqid(time())), 0, 10);
$imagem_nome = $temp . "." . $extensao;
// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
if(file_exists($config["diretorio"] . $imagem_nome))
{
$imagem_nome = nome($extensao);
}
return $imagem_nome;
}
if($arquivo)
{
$erro = array();
// Verifica o mime-type do arquivo para ver se é de imagem.
// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
//
// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
// $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
//
// Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
// para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
}
}
if(!sizeof($erro))
{
// Pega extensão do arquivo, o indice 1 do array conterá a extensão
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera nome único para a imagem
$imagem_nome = nome($ext[1]);
// Caminho de onde a imagem ficará
$imagem_dir = $config["diretorio"] . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
}
}
if($arquivo && !sizeof($erro))
{
$txt_foto = $imagem_nome;
$sql = "INSERT INTO produtos ( id_categoria, id_subcategoria, produto, estoque, foto, preço, descricao, lancamento)
VALUES
('$id_categoria', '$id_subcategoria', '$txt_produto', '$txt_foto', 'foto', '$txt_estoque', '$txt_preco', '$txt_descricao', '$txt_lancamento' )";
mysql_query($sql) or die (mysql_error());
print "<script type = 'text/javascript'> location.href = 'principal.php?link=10' </script>";
}
else{
if(sizeof($erro))
{
echo "<tr><td colspan=2 bgcolor=red><B><U>Ocorreu(am) o(s) seguinte(s) erro(s):</u><BR>";
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "</B></td></tr>";
}
}
}