0

Ajuda com operações

criado por Altemar Dias em 31/01/2010 10:32am
Olá pessoal!
Poderiam me ajudar com esse código de operações?
A função de retornar ao link indicado não funciona e a página fica em branco.




Lista de Respostas:

0
31/01/2010 3:09pm
(~14 anos atrás)
Matheus Ricelly respondeu:
Você poderia passar o link ou mostrar o código que está apresentando o erro ?? Seria mais fácil ajuda-lo.

Valeu!

0
02/02/2010 8:59am
(~14 anos atrás)
Altemar Dias respondeu:

<?php include "conexao.php";


$acao = $_POST["acao"];
$id = $_POST["id"];


$txt_subcategoria = $_POST["txt_subcategoria"];
$txt_id_categoria = $_POST["txt_id_categoria"];
$txt_id_subcategoria = $_POST["txt_id_subcategoria"];
$txt_categoria = $_POST["txt_categoria"];
$txt_subcategoria = $_POST["txt_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" )
{

//verifica a foto
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

$config = array();
$config["tamanho"] = 106883;
$config["largura"] = 400;
$config["altura"] = 250;
$config["diretorio"] = "fotos/";

function nome($extensao)
{
global $config;

$temp = substr(md5(uniqid(time())), 0, 10);
$imagem_nome = $temp . "." . $extensao;

if(file_exists($config["diretorio"] . $imagem_nome))
{
$imagem_nome = nome($extensao);
}

return $imagem_nome;
}

if($arquivo)
{
$erro = array();

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
{
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";
}

$tamanhos = getimagesize($arquivo["tmp_name"]);

if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
}

if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
}
}

if(!sizeof($erro))
{
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

$imagem_nome = nome($ext[1]);
$imagem_dir = $config["diretorio"] . $imagem_nome;

// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
}

elseif(sizeof($erro))
{
echo "<tr><td colspan=2 bgcolor=red><U>Ocorreu(am) o(s) seguinte(s) erro(s):</u><BR>";
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "
</td></tr>";
}
}


//se der tudo certo
if($arquivo && !sizeof($erro))
{
$txt_foto = $imagem_nome;

$sql = "INSERT INTO produtos (

id_categoria, id_subcategoria, produto, foto, descricao, estoque, preco, lancamento)

VALUES

('$txt_id_categoria', '$txt_id_subcategoria', '$txt_produto', '$txt_foto', '$txt_descricao', '$txt_estoque', '$txt_preco', '$txt_lancamento')";

print $sql;
mysql_query($sql) or die ("não foi possível inserir dados");

print "<script type = 'text/javascript'> location.href = 'principal.php?link=10'</script>";

}

}

if ($acao==Alterar )
{
$sql = "UPDATE produtos SET
id_categoria = '$txt_id_categoria',
id_subcategoria = '$txt_id_subcategoria',
produto = '$txt_produto',
descricao = '$txt_descricao',
estoque = '$txt_estoque',
foto = '$txt_foto',
preco = '$txt_preco',
lancamento = '$txt_lancamento'
WHERE id_produto = '$id' ";
print($sql);
mysql_query ($sql) or die ("não foi possível alterar os dados");;
print "<script type = 'text/javascript'> location.href = 'principal.php?link=10'</script>";
}

if ($acao==Excluir)

{
$sql = "DELETE FROM produtos WHERE id_produto = $id";

mysql_query($sql);
print "<script type = 'text/javascript'> location.href = 'principal.php?link=10'</script>";

}

?>

0
02/02/2010 9:00am
(~14 anos atrás)
Altemar Dias respondeu:
Tô apanhando do fórum aqui...rsss.
Jurava que tinha postado o código.
Obrigado!

0
06/02/2010 12:28am
(~14 anos atrás)
Altemar, experimente colocar o caminho absoluto do link de destino. Ao invés de usar JavaScript, você pode usar a função header:

header('Location: http://.../principal.php?link=10&#039;);

0
06/02/2010 12:35am
(~14 anos atrás)
Observações úteis sobre o código:
* usar a função tmpnam para gerar um nome de arquivo único para determinado diretório (http://br2.php.net/manual/pt_BR/function.tempnam.php)
* substituir a utilização de ereg por preg_match com as devidas adaptações
* substituir sizeof por count
* escapar as stings que são utilizadas nas SQL usando a função mysql_escape_string
* utilizar a tag
    para gerar a lista de erros
    * trocar as tags < u > e < b > e o atributo "bgcolor" por CSS

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)