Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, meu script não tá funcionando e NÃO CONSIGO DESCOBRIR o motivo...
A foto é upada na boa, renomeada, etc... Mas os dados não são escritos no BD... Já desmanchei a tabela por achar que pudesse ser alguma coisa lá, mas não adiantou. O pior é que o código está idêntico a outro que funciona bem, só com menos campos...
Segue o script:
if(!isset($_SESSION)){header('location: index.php');}
include('conexao.php');
$tabela= "SELECT * FROM produtos";
$min = time('hh-mm');
$dia = date('dd-mm-Y');
$conc = $min."$dia";
$foto = $_FILES['foto']['name'];
$type = $_FILES['foto']['type'];
$ref = $_POST['ref'];
$resumo = $_POST['resumo'];
$desc = $_POST['desc'];
$preco = $_POST['preco'];
$tipo = $_POST['tipo'];
$id = $_GET['id'];
$foto = strtolower(ereg_replace("[^a-zA-Z0-9_.]",
"", strtr($foto, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ",
"aaaaeeiooouucAAAAEEIOOOUUC_")));
// Aqui incluimos a classe upload
include('class.upload_0.24/class.upload.php');
// Instanciamos o objeto Upload
$handle = new Upload($_FILES['foto']);
if($_GET['funcao'] == "Enviar"){
if(!preg_match('/^image\/(gif|jpeg|jpg|png|bmp)$/', $type)){// Então verificamos se o arquivo foi carregado corretamente
if ($handle->uploaded)
{
// Definimos as configurações desejadas da imagem maior
$handle->image_resize = true;
$handle->image_ratio_y = false;
$handle->image_x = 512;
$handle->image_y = 384;
$handle->image_watermark = 'class.upload_0.24/watermark.gif';
$handle->image_watermark_x = -10;
$handle->image_watermark_y = -10;
$handle->mime_check = true;
// Definimos a pasta para onde a imagem maior será armazenada
$handle->Process('../fotos/');
// Em caso de sucesso no upload podemos fazer outras ações como insert em um banco de cados
if ($handle->processed) $foto = $handle->file_dst_name;
$sql = mysql_query("INSERT INTO produtos (tipo, ref, resumo, desc, preco, foto) VALUES ('$tipo', '$ref', '$resumo', '$desc', '$preco', '$foto');");
$handle-> Clean();
header('location: index.php?pagina=cadastrar_produtos&mensagem=OK');
}}}Qual erro apresenta?
Aparentemente, o seu problema está aqui:
$sql = mysql_query("INSERT INTO produtos (tipo, ref, resumo, desc, preco, foto) VALUES ('$tipo', '$ref', '$resumo', '$desc', '$preco', '$foto');");
>
Qual erro apresenta?
Aparentemente, o seu problema está aqui:
$sql = mysql_query("INSERT INTO produtos (tipo, ref, resumo, desc, preco, foto) VALUES ('$tipo', '$ref', '$resumo', '$desc', '$preco', '$foto');");
Na verdade não apresenta nenhum erro. Ele executa o script até o fim, como se tivesse funcionado, só não salva no banco... :ermm:
Usa o OR DIE(mysql_error()) para ver qual o problema que esta query tem.
>
Usa o OR DIE(mysql_error()) para ver qual o problema que esta query tem.
Fiz isso, mas agora ele está escapando no primeiro IF, como se não tivesse sessão aberta... Não entendo, pois tenho o MESMO script em outra página e FUNCIONA CERTINHO...
EDIT: Coloquei um session_start() dai deu a seguinte mensagem:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,preco,foto) VALUES ('Janelas','Ref 004','Janela Comum', '
NBN
','300',' at line 1
Corrigi o problema...
Corrigi fazendo assim:
$sql = mysql_query("INSERT INTO produtos VALUES ('', '$tipo', '$ref', '$resumo', '$desc', '$preco', '$foto');");
Mas agora estou com problema pra fazer UPDATE... a mensagem de erro é a mesma que deu antes... problema de sintaxe por causa da versão do MySQL... VOu ver se consigo corrigir, mas se alguém tiver uma dica, beleza!
EDIT:
Resolvi da seguinte forma:
$sql = mysql_query("UPDATE produtos SET tipo = '".$tipo."', ref = '".$ref."', resumo = '".$resumo."', desc = '".$desc."', preco = '".$preco."', foto = '".$foto."' WHERE (id = '".$id."') ");
Isso é por causa da versão do meu MySQL?
Qual erro apresenta?
Aparentemente, o seu problema está aqui:
$sql = mysql_query("INSERT INTO produtos (tipo, ref, resumo, desc, preco, foto) VALUES ('$tipo', '$ref', '$resumo', '$desc', '$preco', '$foto');");