Olá, amigos.
Meu painel de administração de site está quase pronto... ele já exclui os dados dos produtos direitinho... só que não consigo fazer a edição de dados...
Eu fiz assim... tem uma página que exibe os dados e ao fim de cada linha um botao editar e um excluir. Ao clicar no botão editar roda um arquivo PHP com um SWITCH. Caso o CASE seja edita, ele exibe uma página com os dados referentes ao produto selecionado e logo abaixo um formulário para enviar as alterações.
Ao clicar no botão enviar as informações são jogadas na página editaproduto.php
Lá ele deveria pegar esses novos dados e fazer o update, mas não ta funcionando. A página tá em branco e não tá alterando nada... podem ajudar?
Dificuldades Em Painel
Started By destrutorx, 15/10/2007, 12:03
5 replies to this topic
#1
Posted 15/10/2007, 12:03
#2
Posted 15/10/2007, 12:16
ql codigo vc esta usano na pagina editaproduto.php ??
#3
Posted 16/10/2007, 10:36
editaproduto.php
[codebox]?
include("conecta_mysql.php");
mysql_select_db($bd, $con)or die(mysql_error());
mysql_select_db($bd, $con)or die(mysql_error());
?>
<?
function acentos($registro){
$buscar = array ('.jpg','.gif');
$substitui = array ('','');
$semacento = str_replace($buscar, $substitui, $registro);
return $semacento;
}
?>
<?
// variáveis
$op = $_GET['op'];
$id = $_GET['id'];
$nome = $_POST["nome"];
$descricao = nl2br($_POST["descricao"]);
$categoria = $_POST["categoria"];
switch($op){
case '' :
echo "Falhou!";
break;
case 'update' :
//////////////////////////////////////////////////////////////////////////////////////
//Fazendo o UPLOAD da img
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ?
$_FILES["foto"] : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 99106883;
// Largura máxima (pixels)
$config["largura"] = 350;
// Altura máxima (pixels)
$config["altura"] = 100;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image/(pjpeg|jpeg|png|gif|bmp)$",
$arquivo["type"]))
{
$erro[] = "Arquivo inválido!
A imagem deve ser jpg, jpeg, bmp, gif ou png.<br><br>";
}
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";
}
}
// Imprime as mensagens de erro
if(sizeof($erro))
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "<link href=\"meucss.css\" rel=\"stylesheet\" type=\"text/css\" />";
echo "<span class=\"downloadmaterial\">Problemas no envio da imagem. Tente cadastrar novamente, </span><span class=\"dw\"><a href=\"produtos.php\">CLICANDO AQUI</a></span>.";
print "<script>alert('Erro durante Envio!')</script>";
}
// Verificação de dados
// Nenhum erro, executa então o upload...
else
{
// Pega extensão do arquivo
preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i",
$arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome = acentos($arquivo["name"]) . "." . $ext[1];
//$imagem_nome = md5(uniqid(time())) . "." . $ext[1];
//$imagem_nome = $arquivo["name"];
// Caminho de onde a imagem ficará
$imagem_dir = "produtos/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"] , $imagem_dir);
//inserindo no BD
$sql = mysql_query(" UPDATE produtos SET nome = '".$nome."', descricao = '".$descricao."', imagem = '".$imagem_nome."', categoria = '".$categoria."', caminho = '".$imagem_dir."' WHERE id= '".$id."' ");
if(!$sql){
echo "Erro ao tentar incluir registro: ".mysql_error();
}
else{
print "<script>alert('Produto editado com sucesso!')</script>";
print "<script>window.location.replace('produtos.php')</script>";
}
}
}
//Fim do UPLOAD
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
break;
}
?>[/codebox]
parte do formulário de edição de dados
[codebox]switch($op){
case 'exclui' :
$sql = " DELETE FROM produtos WHERE id= '".$id."' ";
mysql_query($sql);
//redireciona
print "<script>alert('Erro durante Envio!')</script>";
print "<script>window.location.replace('produtos.php')</script>";
break;
case '' :
echo "Falhou!";
break;
case 'edita' :
echo "<html><head><title>Alteração de dados</title>";
echo "<link href=\"meucss.css\" rel=\"stylesheet\" type=\"text/css\" />";
echo "<style type=\"text/css\">";
echo "<!--";
echo ".style0 {";
echo "font-size: 9px;";
echo "font-weight: bold;";
echo "font-family: Arial, Helvetica, sans-serif;";
echo "}";
echo ".style1 {";
echo "color: #FFFFFF;";
echo "font-weight: bold;";
echo "}";
echo ".style3 {";
echo "font-size: 12px;";
echo "color: #FF0000;";
echo "font-weight: bold;";
echo "}";
echo ".style4 {";
echo "color: #000000;";
echo "font-weight: bold;";
echo "}";
echo ".style5 {";
echo "font-size: 12px;";
echo "color: #b22622;";
echo "font-weight: bold;";
echo "}";
echo "-->";
echo "</style>";
echo "</head><body>";
echo "<table width=\"569\" align=\"center\">";
echo "<tr>";
echo "<td colspan=\"2\" bgcolor=\"b22622\"><div align=\"center\" class=\"style1\">Editando Produto</div></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\"> </td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Código:</span></td><td><strong>".$registro['id']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Nome:</span></td><td><strong>".$registro['nome']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Descrição:</span></td><td><strong>".$registro['descricao']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Categoria:</span></td><td><strong>".$registro['categoria']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\"> </td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\"> </td>";
echo "</tr>";
echo "</table>";
echo "<br>";
echo "<form name=\"forme\" method=\"post\" action=\"editaproduto.php\" enctype=\"multipart/form-data\">";
echo "<table align=\"center\">";
echo "<tr>";
echo "<td width=\"46\"><span class=\"style3\">Nome:</span></td><td><input name=\"nome\" type=\"text\" id=\"nome\" size=\"22\" maxlength=\"50\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Categoria:</span></td><td>";
echo "<select name=\"categoria\" id=\"select\" class=\"style5\">";
echo "<option value=\"".$registro2['categoria']."\">".$registro2['categoria']."</option>";
echo "</select></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Imagem:</span></td><td><input name=\"foto\" type=\"file\" class=\"style4\" id=\"foto\" /> <span class=\"style0\">Altura máxima de 100px.</span></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Descrição:</span></td><td><textarea name=\"descricao\" cols=\"60\" rows=\"3\" id=\"descricao\"></textarea></td>";
echo "</tr>";
echo "<tr><td colspan=\"2\"><div align=\"center\">";
echo "<a href=\"editaproduto.php?op=update&id=".$id."\">ALTERAR</a>";
echo "</div></td></tr>";
echo "</table>";
echo "</form>";
echo "</body>";
echo "</html>";
break;
}[/codebox]
Me ajudem, galera... já quebrei a cabeça o dia todo e não sei mais o que fazer!!!!
HELLLPPPP!!!!
Eu acho que ele não tá recoenhecendo ID... como se não tivesse conseguindo puxá-lo... mas por que???
[codebox]?
include("conecta_mysql.php");
mysql_select_db($bd, $con)or die(mysql_error());
mysql_select_db($bd, $con)or die(mysql_error());
?>
<?
function acentos($registro){
$buscar = array ('.jpg','.gif');
$substitui = array ('','');
$semacento = str_replace($buscar, $substitui, $registro);
return $semacento;
}
?>
<?
// variáveis
$op = $_GET['op'];
$id = $_GET['id'];
$nome = $_POST["nome"];
$descricao = nl2br($_POST["descricao"]);
$categoria = $_POST["categoria"];
switch($op){
case '' :
echo "Falhou!";
break;
case 'update' :
//////////////////////////////////////////////////////////////////////////////////////
//Fazendo o UPLOAD da img
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ?
$_FILES["foto"] : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 99106883;
// Largura máxima (pixels)
$config["largura"] = 350;
// Altura máxima (pixels)
$config["altura"] = 100;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image/(pjpeg|jpeg|png|gif|bmp)$",
$arquivo["type"]))
{
$erro[] = "Arquivo inválido!
A imagem deve ser jpg, jpeg, bmp, gif ou png.<br><br>";
}
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";
}
}
// Imprime as mensagens de erro
if(sizeof($erro))
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "<link href=\"meucss.css\" rel=\"stylesheet\" type=\"text/css\" />";
echo "<span class=\"downloadmaterial\">Problemas no envio da imagem. Tente cadastrar novamente, </span><span class=\"dw\"><a href=\"produtos.php\">CLICANDO AQUI</a></span>.";
print "<script>alert('Erro durante Envio!')</script>";
}
// Verificação de dados
// Nenhum erro, executa então o upload...
else
{
// Pega extensão do arquivo
preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i",
$arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome = acentos($arquivo["name"]) . "." . $ext[1];
//$imagem_nome = md5(uniqid(time())) . "." . $ext[1];
//$imagem_nome = $arquivo["name"];
// Caminho de onde a imagem ficará
$imagem_dir = "produtos/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"] , $imagem_dir);
//inserindo no BD
$sql = mysql_query(" UPDATE produtos SET nome = '".$nome."', descricao = '".$descricao."', imagem = '".$imagem_nome."', categoria = '".$categoria."', caminho = '".$imagem_dir."' WHERE id= '".$id."' ");
if(!$sql){
echo "Erro ao tentar incluir registro: ".mysql_error();
}
else{
print "<script>alert('Produto editado com sucesso!')</script>";
print "<script>window.location.replace('produtos.php')</script>";
}
}
}
//Fim do UPLOAD
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
break;
}
?>[/codebox]
parte do formulário de edição de dados
[codebox]switch($op){
case 'exclui' :
$sql = " DELETE FROM produtos WHERE id= '".$id."' ";
mysql_query($sql);
//redireciona
print "<script>alert('Erro durante Envio!')</script>";
print "<script>window.location.replace('produtos.php')</script>";
break;
case '' :
echo "Falhou!";
break;
case 'edita' :
echo "<html><head><title>Alteração de dados</title>";
echo "<link href=\"meucss.css\" rel=\"stylesheet\" type=\"text/css\" />";
echo "<style type=\"text/css\">";
echo "<!--";
echo ".style0 {";
echo "font-size: 9px;";
echo "font-weight: bold;";
echo "font-family: Arial, Helvetica, sans-serif;";
echo "}";
echo ".style1 {";
echo "color: #FFFFFF;";
echo "font-weight: bold;";
echo "}";
echo ".style3 {";
echo "font-size: 12px;";
echo "color: #FF0000;";
echo "font-weight: bold;";
echo "}";
echo ".style4 {";
echo "color: #000000;";
echo "font-weight: bold;";
echo "}";
echo ".style5 {";
echo "font-size: 12px;";
echo "color: #b22622;";
echo "font-weight: bold;";
echo "}";
echo "-->";
echo "</style>";
echo "</head><body>";
echo "<table width=\"569\" align=\"center\">";
echo "<tr>";
echo "<td colspan=\"2\" bgcolor=\"b22622\"><div align=\"center\" class=\"style1\">Editando Produto</div></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\"> </td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Código:</span></td><td><strong>".$registro['id']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Nome:</span></td><td><strong>".$registro['nome']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Descrição:</span></td><td><strong>".$registro['descricao']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Categoria:</span></td><td><strong>".$registro['categoria']."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\"> </td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\"> </td>";
echo "</tr>";
echo "</table>";
echo "<br>";
echo "<form name=\"forme\" method=\"post\" action=\"editaproduto.php\" enctype=\"multipart/form-data\">";
echo "<table align=\"center\">";
echo "<tr>";
echo "<td width=\"46\"><span class=\"style3\">Nome:</span></td><td><input name=\"nome\" type=\"text\" id=\"nome\" size=\"22\" maxlength=\"50\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Categoria:</span></td><td>";
echo "<select name=\"categoria\" id=\"select\" class=\"style5\">";
echo "<option value=\"".$registro2['categoria']."\">".$registro2['categoria']."</option>";
echo "</select></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Imagem:</span></td><td><input name=\"foto\" type=\"file\" class=\"style4\" id=\"foto\" /> <span class=\"style0\">Altura máxima de 100px.</span></td>";
echo "</tr>";
echo "<tr>";
echo "<td><span class=\"style3\">Descrição:</span></td><td><textarea name=\"descricao\" cols=\"60\" rows=\"3\" id=\"descricao\"></textarea></td>";
echo "</tr>";
echo "<tr><td colspan=\"2\"><div align=\"center\">";
echo "<a href=\"editaproduto.php?op=update&id=".$id."\">ALTERAR</a>";
echo "</div></td></tr>";
echo "</table>";
echo "</form>";
echo "</body>";
echo "</html>";
break;
}[/codebox]
Me ajudem, galera... já quebrei a cabeça o dia todo e não sei mais o que fazer!!!!
HELLLPPPP!!!!
Eu acho que ele não tá recoenhecendo ID... como se não tivesse conseguindo puxá-lo... mas por que???
Edição feita por: destrutorx, 16/10/2007, 10:17.
[CODEBOX] adicionada. Mais uma vez. =]
#4
Posted 16/10/2007, 10:58
cara no lugar disso aqui "<a href=\"editaproduto.php?op=update&id=".$id."\">ALTERAR</a>" coloca um botao html para assim enviar o formulario atraved do post para vc pegar as variaveis na outra pagina
ai vc pode criar um campo hidden para o id e o op
ai vc pode criar um campo hidden para o id e o op
Edição feita por: diego.rodriguez, 16/10/2007, 11:05.
#5
Posted 16/10/2007, 11:29
Campo Hidden???
#6
Posted 16/10/2007, 15:18
Campo Hidden???
isso abaixo é campos hidden
<input name="id" type="hidden" id="id" value="<?= $id ?>" />
<input name="op" type="hidden" id="op" value="<?= $op ?>" />
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)