Malan Dev 1 Denunciar post Postado Fevereiro 25, 2011 Olá pessoal criei um sistema de portfolio online tudo funciona perfeitamente a imagem sobe para o serve porem na hora de cadastrar no db não é cadastrado nada a pagina e recaregada porem a imagem sobe para o serve, o pessoal do servidor pediu para debugar o codigo. mas como faz isso ? Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Fevereiro 25, 2011 Coloca o codigo que nos te ajudamos a debugar Compartilhar este post Link para o post Compartilhar em outros sites
criatividade zero 17 Denunciar post Postado Fevereiro 25, 2011 pelo que entendi, o upload é feito o problema deve ser no insert Compartilhar este post Link para o post Compartilhar em outros sites
Malan Dev 1 Denunciar post Postado Fevereiro 26, 2011 Esse é o Codigo: <?php require_once('conecta_db.php'); ?> <?php // Se o usuário clicou no botão cadastrar efetua as ações if ($_POST['enviar']) { // Recupera os dados dos campos $categoria_pt = $_POST['categoria_pt']; $titulo = $_POST['titulo_pt']; $cliente = $_POST['cliente_pt']; $foto = $_FILES["foto_pt"]; // Se a foto estiver sido selecionada if (!empty($foto["name"])) { // Largura máxima em pixels $largura = 990; // Altura máxima em pixels $altura = 990; // Tamanho máximo do arquivo em bytes $tamanho = 2000; // Verifica se o arquivo é uma imagem if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"])){ $error[1] = "Isso não é uma imagem."; } // Pega as dimensões da imagem $dimensoes = getimagesize($foto["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido if($arquivo["size"] > $tamanho) { $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes"; } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext); // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde ficará a imagem $caminho_imagem = "../images/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($foto["tmp_name"], $caminho_imagem); // Insere os dados no banco $sql = mysql_query("INSERT INTO portifolio VALUES ('','".$categoria_pt."','".$titulo."','".$cliente."','".$nome_imagem."')"); //Se os dados forem inseridos com sucesso if ($sql){ echo "<script>location = 'portifolio_web.php'; alert('Portifolio Cadastrado')</script>"; } } // Se houver mensagens de erro, exibe-as if (count($error) != 0) { foreach ($error as $erro) { echo "<script> alert('$erro')</script>"; } } } } ?> <!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=utf-8" /> <link rel="stylesheet" type="text/css" href="style.css" media="all" /> <title>Painel de Controle</title> </head> <body> <div id="box"> <div id="conteudo"> <div id="portfolio_formulario"> <h2> Portifolio </h2> <ul> <li> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" id="cadastra_cliente"> <label>Cliente</label><br /> <input name="cliente_pt" type="text" id="cliente_pt" value="" /><br /> <label>Titulo do Trabalho</label><br /> <input name="titulo_pt" type="text" id="cliente_pt" value="" /><br /> <label>Categorias</label><br /> <select name="categoria_pt" id="categoria_pt" > <option value="web" selected="selected">web</option> <option value="grafico">gráfico</option> <option value="duplicacao">duplicação</option> </select><br /> <label>Foto </label><br /> <input name="foto_pt" type="file" id="foto_pt" /><br /> <input name="enviar" type="submit" class="btn" value="Cadastrar" /> </form> </li> </ul> </div> </div> </div> </body> </html> se eu der um echo na variaveis $categoria_pt ,$titulo, $cliente, $nome_imagem ele mostra todos os dados e a imagem tambem e enviada para o servidor nao sei mais o que fazer to a 2 dias mexendo nesse codigo e nao descobri o erro =/ perdoem minha ignorancia, é que eu nao sei mesmo mais o que fazer. grato desde de ja pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Fevereiro 26, 2011 Nas 2 primeira linhas já tem um 'erro' <?php require_once('conecta_db.php'); ?> <?php // SEU CÓDIGO ?> // Não precisa abrir e fechar a shourtag 2 vezes // faça assim: <?php require_once 'conecta_db.php'; // SEU CÓDIGO ?> O arquivo de conexão bom o banco de dados está correto? Usuário/Senha/Nome_do_banco e Servidor ? Faça essas alterações por enquanto: - Adicione o comando as suas query(no código para inserir a imagem e no mysql_select_db e mysql_connect) 'or die ("Erro: ".mysql_error()); $sql = mysql_query("INSERT INTO portifolio VALUES ('','".$categoria_pt."','".$titulo."','".$cliente."','".$nome_imagem."')") or die ("Erro: ".mysql_error()); - No começo do código antes de 'conecta_db.php' ini_set('display_errors', true); ini_set('error_reporting', true); Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Fevereiro 26, 2011 - No começo do código antes de 'conecta_db.php' ini_set('error_reporting', true); error_reporting não espera um boolean, ele espera um inteiro que define o nível de erro. Utilize error_reporting da seguinte forma no ambiente de desenvolvimento: <?php error_reporting( E_ALL | E_STRICT ); Quanto ao debug de código, utilize Xdebug Compartilhar este post Link para o post Compartilhar em outros sites
Malan Dev 1 Denunciar post Postado Fevereiro 26, 2011 aeEEEEEEEEEEEEEEEEEEEEEEEEEEEE consegui cara era justamente no mysql_select_db eu tinha esquecido de colocar o nome do banco me descupem pela minha burrice mais valeu voces me ajudarao muito muito mesmo brigadão !! depois quizer dar uma olhada o site ta no meu dominio de teste http://www.henriquelopes.net ae muito thanksss!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Fevereiro 26, 2011 - No começo do código antes de 'conecta_db.php' ini_set('error_reporting', true); error_reporting não espera um boolean, ele espera um inteiro que define o nível de erro. Utilize error_reporting da seguinte forma no ambiente de desenvolvimento: <?php error_reporting( E_ALL | E_STRICT ); Quanto ao debug de código, utilize Xdebug Potz verdade João, acabei boiando acho que era o sono :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites