Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Malan Dev

[Resolvido] Debug para PHP

Recommended Posts

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

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

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

- 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

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

- 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.