Jump to content

Recommended Posts

Posted

Bom dia!

Estou com o seguinte problema:

Na minha página ele faz o upload tudo direitinho e vai para a pasta indicada criando um nome aleatório para a imagem, para ja tudo bem, mas quando vou a ver no PhpMyAdmin ele apenas aparece o nome da pasta para onde vai, e eu queria que aparecesse o directorio e nome criado aleatório.

O meu código é este:

<?php
$tipo_produto=$_POST['tipo_produto'];
$nome_produto=$_POST['nome_produto'];
$descricao_produto=$_POST['descricao_produto'];
$tamanho_produto=$_POST['tamanho_produto'];
$preco_produto=$_POST['preco_produto'];
$img_produto=$_POST['img_produto'];

if($_POST['tipo_produto'])
{



	/**
	* Upload de Imagens com Seguran�a
	*
	* @author Alfred Reinold Baudisch
	* @email alfred_baudisch@hotmail.com
	* @date Jan 09, 2004
	* @changes Jan 14, 2004 - v2.0
	*/
	// Prepara a vari�vel caso o formul�rio tenha sido postado
	$arquivo_imagem_produto = isset($_FILES["img_produto"]) ? $_FILES["img_produto"] : FALSE;
	$config_imagem_produto = array();
	// Tamano m�ximo da imagem, em bytes
	$config_imagem_produto["tamanho"] = 906883;
	// Largura M�xima, em pixels
	$config_imagem_produto["largura"] = 640;
	// Altura M�xima, em pixels
	$config_imagem_produto["altura"] = 480;
	// Diret�rio onde a imagem ser� salva
	$config_imagem_produto["diretorio"] = "imagens_produtos/";

// Gera um nome para a imagem e verifica se j� n�o existe, caso exista, gera outro nome e assim sucessivamente..
// Fun��o Recursiva
	function titulo($extensao)
	{
		global $config_imagem_produto;
		// Gera um nome �nico para a imagem
		$temp = substr(md5(uniqid(time())), 0, 10);
		$imagem_nome = $temp . "." . $extensao;
    
	// Verifica se o arquivo j� existe, caso positivo, chama essa fun��o novamente
		if(file_exists($config_imagem_produto["diretorio"] . $imagem_nome))
		{
			$imagem_nome = titulo($extensao);
		}

		return $imagem_nome;
	}
}

if($arquivo_imagem_produto)
{
    	$erro = array();
    
	// Verifica o mime-type do arquivo para ver se � de imagem.
	// Caso fosse verificar a extens�o do nome de arquivo, o c�digo deveria ser:
	//
	// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo_imagem_noticia["name"])) {
	//      $erro[] = "Arquivo em formato inv�lido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
	//
	// Mas, o que ocorre � que alguns usu�rios mal-intencionados, podem pegar um v�rus .exe e simplesmente mudar a extens�o
	// para alguma das imagens e enviar. Ent�o, n�o adiantaria em nada verificar a extens�o do nome do arquivo.
   		$current_image=$_FILES['img_produto']['name'];
	$extension = substr(strrchr($current_image, '.'), 1);
	if($extension == ""){
		$extension="png";
	}
	if (($extension!= "jpg") 
		&& ($extension != "gif")
		&& ($extension != "bmp")
		&& ($extension != "png")
		&& ($extension != "JPG"))  
	{
		?><script>alert("Formato inválido!"); window.location = "add_produtos.php";</script><?php
	}else
	{

		// Verifica tamanho do arquivo
       		if($arquivo_imagem_noticia["size"] > $config_imagem_produto["tamanho"])
        	{
            	$erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config_imagem_produto["tamanho"] . " bytes. Envie outro arquivo";
			?><script>alert("Imagem grande, deve ter no máximo: <?php echo ($config_imagem_produto["tamanho"]); ?>"); window.location = "add_produtos.php";</script><?php
        	}
        
        // Para verificar as dimens�es da imagem
        	$tamanhos = getimagesize($arquivo_imagem_produto["tmp_name"]);
        
        // Verifica largura
        	if($tamanhos[0] > $config_imagem_produto["largura"])
        	{
            	$erro[] = "Largura da imagem não deve ultrapassar " . $config_imagem_produto["largura"] . " pixels";
			?><script>alert("Largura da imagem não deve ultrapassa: <?php echo($config_imagem_produto["largura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
        	}

        // Verifica altura
        	if($tamanhos[1] > $config_imagem_produto["altura"])
        	{
            	$erro[] = "Altura da imagem não deve ultrapassar " . $config_imagem_produto["altura"] . " pixels";
			?><script>alert("Altura da imagem não deve ultrapassa: <?php echo ($config_imagem_produto["altura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
        	}

	}
    	if(!sizeof($erro))
    	{

        // Pega extens�o do arquivo, o indice 1 do array conter� a extens�o
        	preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo_imagem_produto["name"], $ext);
        
        // Gera nome �nico para a imagem
        	$imagem_nome = titulo($ext[1]);

        // Caminho de onde a imagem ficar�
        	$imagem_dir = $config_imagem_produto["diretorio"] . $imagem_nome;

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

		$img_produto=$imagem_dir;	
		$img_produto = "imagens_produtos/";			
	}
}

$liga_bd=mysql_connect('localhost','root',"");
if(!$liga_bd){
echo 'Falha na ligação do mySQL'; exit;}
$select=mysql_select_db("reverseshop",$liga_bd);
if(!$select){
echo "A abertura da BD Falhou";exit;
}
$pesquisa= "SELECT num_tipo FROM tipo_produto WHERE nome='$tipo_produto'"; 
$num_tipo=mysql_query($pesquisa,$liga_bd);

while($produto=mysql_fetch_array($num_tipo))
{
	$numero_tipo = $produto['num_tipo'];
}	

$query= "INSERT into produtos values('$tipo_produto','$nome_produto','$descricao_produto','$tamanho_produto','$preco_produto','$img_produto','$numero_tipo')";
$res=mysql_query($query,$liga_bd);


?>

Aqui fica uma imagem de como está a aparecer no PhpMyAdmin:

http://www.imagebanana.com/view/0yubs173/imagem.JPG

Aproveito para dizer que sou novo aqui no forum!

Aguardo Respostas!

Cumprimentos!

Posted
...
move_uploaded_file($arquivo_imagem_produto["tmp_name"], $imagem_dir);
    $img_produto=$imagem_dir;        
    $img_produto = "imagens_produtos/";  /* só estás a gravar o directório !!!!!! */ 
}
...
$query= "INSERT into produtos values('$tipo_produto','$nome_produto','$descricao_produto','$tamanho_produto','$preco_produto','$img_produto','$numero_tipo')";
IRC : sim, é algo que ainda existe >> #p@p
Posted

mas supostamente tem de estar assim, eu quero é que ele grave a imagem nesse directorio com um nome aleatório...

alias enganei-me... ele cria a iamgem nesse directorio com o nome aleatorio, so que eu quero que ele no phpmyadmin fique la:

Exemplo:

imagens_produtos/16231712.jpg

imagens_produtos/24332422.jpg

imagens_produtos/12385261.jpg

Posted

dá-me estes erros....

Notice: Undefined index: descricao_produto in C:\xampp\htdocs\adicionar_produto.php on line 12

Notice: Undefined index: img_produto in C:\xampp\htdocs\adicionar_produto.php on line 15

Notice: Undefined variable: arquivo_imagem_noticia in C:\xampp\htdocs\adicionar_produto.php on line 89

Posted

isso não tem nada haver com a linha comentada !!!!!!!

ou metes o código da página que dá os notices ou  vai ser muito difícil ....

como sei que não é na página apresentada no primeiro post :

<?php
$tipo_produto=$_POST['tipo_produto'];
$nome_produto=$_POST['nome_produto'];
$descricao_produto=$_POST['descricao_produto']; // <---------------
$tamanho_produto=$_POST['tamanho_produto'];
$preco_produto=$_POST['preco_produto'];
$img_produto=$_POST['img_produto']; // <---------------
IRC : sim, é algo que ainda existe >> #p@p
Posted

Pagina add_produtos.php

!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" />
<title>Untitled Document</title>
<style media="all" type="text/css">@import "/menu/menu_style.css";</style>
<style>
body {background-color:000000; background-image:url(background.png);background-repeat:repeat;background-position:bottom left;background-attachment:scroll;}
h1{font-family:Cursive;color:000000;}
p {font-family:Cursive;font-size:14px;font-style:normal;font-weight:normal;color:000000;}
div {background-color:#FFF; background-position:center; height:1000px; width:1000px; margin: 0 auto ;}
#LINHA_TABELA { border-left:solid #000 2px;}
#button {
   border-top: 1px solid #807d80;
   background: #3d4042;
   background: -webkit-gradient(linear, left top, left bottom, from(#121314), to(#3d4042));
   background: -webkit-linear-gradient(top, #121314, #3d4042);
   background: -moz-linear-gradient(top, #121314, #3d4042);
   background: -ms-linear-gradient(top, #121314, #3d4042);
   background: -o-linear-gradient(top, #121314, #3d4042);
   padding: 4.5px 9px;
   -webkit-border-radius: 24px;
   -moz-border-radius: 24px;
   border-radius: 24px;
   -webkit-box-shadow: rgba(0,0,0,1) 0 1px 0;
   -moz-box-shadow: rgba(0,0,0,1) 0 1px 0;
   box-shadow: rgba(0,0,0,1) 0 1px 0;
   text-shadow: rgba(0,0,0,.4) 0 1px 0;
   color: #54734a;
   font-size: 15px;
   font-family: 'Lucida Grande', Helvetica, Arial, Sans-Serif;
   text-decoration: none;
   vertical-align: middle;
   }
#button:hover {
   border-top-color: #3b3a3b;
   background: #3b3a3b;
   color: #ffffff;
   }
#button:active {
   border-top-color: #333638;
   background: #333638;
   }
</style>
</head>

<body>
<div>
<p align="center"><img src="banner.png" height="200px" width="1000px" /></P>
<div id="global">
<div id="topo">
    <ul class="menu">
<li class="top"><a href="admin.php" target="_self" class="top_link"><span>Inicio</span></a>
</li>
<li class="top"><a href="" target="_self" class="top_link"><span> Produtos</span></a>
<ul class="sub">
<li><a href="add_produtos.php" target="_self">Adicionar Produtos</a></li>
<li><a href="search_produtos.php" target="_self">Pesquisar Produtos</a></li>
<li><a href="delete_produtos.php" target="_self">Apagar Produtos</a></li>
<li><a href="change_produtos.php" target="_self">Alterar Produtos</a></li>
</ul>
</li>

</ul>

<div id="conteudo">
<form name="add_produto" action="adicionar_produto.php"  method="post" enctype="multipart/form-data">
<table>
<tr>
    	<td>
        <h3>Tipo de Produto : </h3>
        </td>
        <td>
        <select name="tipo_produto" id="tipo_produto">
        	<option>Escolha aqui o Produto a Adicionar</option>
            <option>Pranchas</option>
            <option>Fatos</option>
            <option>Pes de Pato</option>
            <option>Leashs</option>
            <option>Capas para Pranchas</option>
            <option>Acessórios</option>
            <option>Mochilas</option>
            <option>DVDs</option>
            <option>Revistas</option>
       </select>
       </td> 
    </tr>
    <tr>
    	<td>
        <h3>Nome do Produto : </h3>
        </td>
        <td>
        <input type="text" id="nome_produto" name="nome_produto" />
        </td>
</tr>
    <tr>
    	<td>
        <h3>Descrição do Produto : </h3>
        </td>
        <td>
        <textarea rows="7" cols="35" id="desc_produto" name="desc_produto"  onfocus="if (this.value=='Digite aqui a descrição do seu Produto') this.value = ''" type="text" >Digite aqui a descrição do seu Produto</textarea>
        </td>
</tr>
    <tr>
    	<td>
        <h3>Tammanho do Produto : </h3>
        </td>
        <td>
        <input type="text" id="tamanho_produto" name="tamanho_produto" size="2" />
        </td>
</tr>
    <tr>
    	<td>
        <h3>Preço do Produto : </h3>
        </td>
        <td>
        <input type="text" id="preco_produto" name="preco_produto" size="2" />€
        </td>
</tr>

    <tr>
    	<td>
        <h3>Imagem do Produto : </h3>
        </td>
        <td>
        <input type="file" id="img_produto" name="img_produto" />
        </td>
</tr>
    <tr>
    	<td align="center">
        
        <input type="submit" name="add_prod" id="button"  value="Adicionar Produto"  />
        </td>
        <td align="center">
        <input type="reset" name="reset_prod" id="button" value="Limpar todos os Campos"  />
        </td>
</tr>   
</table>
</form>
</div>

</div>
</div>
</div>
</body>
</html>

</body>
</html>

Pagina adicionar_produto.php

<?php
$tipo_produto=$_POST['tipo_produto'];
$nome_produto=$_POST['nome_produto'];
$descricao_produto=$_POST['descricao_produto'];
$tamanho_produto=$_POST['tamanho_produto'];
$preco_produto=$_POST['preco_produto'];
$img_produto=$_POST['img_produto'];

if($_POST['tipo_produto'])
        {

                

                /**
                * Upload de Imagens com Seguran�a
                *
                * @author Alfred Reinold Baudisch
                * @email alfred_baudisch@hotmail.com
                * @date Jan 09, 2004
                * @changes Jan 14, 2004 - v2.0
                */
                // Prepara a vari�vel caso o formul�rio tenha sido postado
                $arquivo_imagem_produto = isset($_FILES["img_produto"]) ? $_FILES["img_produto"] : FALSE;
                $config_imagem_produto = array();
                // Tamano m�ximo da imagem, em bytes
                $config_imagem_produto["tamanho"] = 906883;
                // Largura M�xima, em pixels
                $config_imagem_produto["largura"] = 640;
                // Altura M�xima, em pixels
                $config_imagem_produto["altura"] = 480;
                // Diret�rio onde a imagem ser� salva
                $config_imagem_produto["diretorio"] = "imagens_produtos/";

        // Gera um nome para a imagem e verifica se j� n�o existe, caso exista, gera outro nome e assim sucessivamente..
        // Fun��o Recursiva
                function titulo($extensao)
                {
                        global $config_imagem_produto;
                        // Gera um nome �nico para a imagem
                        $temp = substr(md5(uniqid(time())), 0, 10);
                        $imagem_nome = $temp . "." . $extensao;
    
                // Verifica se o arquivo j� existe, caso positivo, chama essa fun��o novamente
                        if(file_exists($config_imagem_produto["diretorio"] . $imagem_nome))
                        {
                                $imagem_nome = titulo($extensao);
                        }

                        return $imagem_nome;
                }
        }

        if($arquivo_imagem_produto)
        {
        $erro = array();
    
                // Verifica o mime-type do arquivo para ver se � de imagem.
                // Caso fosse verificar a extens�o do nome de arquivo, o c�digo deveria ser:
                //
                // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo_imagem_noticia["name"])) {
                //      $erro[] = "Arquivo em formato inv�lido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
                //
                // Mas, o que ocorre � que alguns usu�rios mal-intencionados, podem pegar um v�rus .exe e simplesmente mudar a extens�o
                // para alguma das imagens e enviar. Ent�o, n�o adiantaria em nada verificar a extens�o do nome do arquivo.
                $current_image=$_FILES['img_produto']['name'];
                $extension = substr(strrchr($current_image, '.'), 1);
                if($extension == ""){
                        $extension="png";
                }
                if (($extension!= "jpg") 
                        && ($extension != "gif")
                        && ($extension != "bmp")
                        && ($extension != "png")
                        && ($extension != "JPG"))  
                {
                        ?><script>alert("Formato inválido!"); window.location = "add_produtos.php";</script><?php
                }else
                {
        
                        // Verifica tamanho do arquivo
                if($arquivo_imagem_noticia["size"] > $config_imagem_produto["tamanho"])
                {
                $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config_imagem_produto["tamanho"] . " bytes. Envie outro arquivo";
                                ?><script>alert("Imagem grande, deve ter no máximo: <?php echo ($config_imagem_produto["tamanho"]); ?>"); window.location = "add_produtos.php";</script><?php
                }
        
        // Para verificar as dimens�es da imagem
                $tamanhos = getimagesize($arquivo_imagem_produto["tmp_name"]);
        
        // Verifica largura
                if($tamanhos[0] > $config_imagem_produto["largura"])
                {
                $erro[] = "Largura da imagem não deve ultrapassar " . $config_imagem_produto["largura"] . " pixels";
                                ?><script>alert("Largura da imagem não deve ultrapassa: <?php echo($config_imagem_produto["largura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
                }

        // Verifica altura
                if($tamanhos[1] > $config_imagem_produto["altura"])
                {
                $erro[] = "Altura da imagem não deve ultrapassar " . $config_imagem_produto["altura"] . " pixels";
                                ?><script>alert("Altura da imagem não deve ultrapassa: <?php echo ($config_imagem_produto["altura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
                }

                }
        if(!sizeof($erro))
        {
                
        // Pega extens�o do arquivo, o indice 1 do array conter� a extens�o
                preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo_imagem_produto["name"], $ext);
        
        // Gera nome �nico para a imagem
                $imagem_nome = titulo($ext[1]);

        // Caminho de onde a imagem ficar�
                $imagem_dir = $config_imagem_produto["diretorio"] . $imagem_nome;

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

                        $img_produto=$imagem_dir;       
                        $img_produto = "imagens_produtos/";                     
                }
        }

$liga_bd=mysql_connect('localhost','root',"");
if(!$liga_bd){
        echo 'Falha na ligação do mySQL'; exit;}
$select=mysql_select_db("reverseshop",$liga_bd);
if(!$select){
        echo "A abertura da BD Falhou";exit;
}
$pesquisa= "SELECT num_tipo FROM tipo_produto WHERE nome='$tipo_produto'"; 
$num_tipo=mysql_query($pesquisa,$liga_bd);

while($produto=mysql_fetch_array($num_tipo))
        {
                $numero_tipo = $produto['num_tipo'];
        }       

$query= "INSERT into produtos values('$tipo_produto','$nome_produto','$descricao_produto','$tamanho_produto','$preco_produto','$img_produto','$numero_tipo')";
$res=mysql_query($query,$liga_bd);


?>
Posted

Notice: Undefined index: descricao_produto in C:\xampp\htdocs\adicionar_produto.php on line 12

Notice: Undefined index: img_produto in C:\xampp\htdocs\adicionar_produto.php on line 15

<?php
$tipo_produto=$_POST['tipo_produto'];
$nome_produto=$_POST['nome_produto'];
$descricao_produto=$_POST['descricao_produto'];
$tamanho_produto=$_POST['tamanho_produto'];
$preco_produto=$_POST['preco_produto'];
$img_produto=$_POST['img_produto'];

if($_POST['tipo_produto'])
        {

// ------------------- linha 12 --------                

                /**
                * Upload de Imagens com Seguran�a       // ------------------- linha 15 --------                
                *
                */

podes me explicar como isto é possível ???? tens andado a actualizar/gravar os ficheiros correctos/no local correcto ????

IRC : sim, é algo que ainda existe >> #p@p
Posted

nao tinha copiado a parte do html e isso tudo....

esta aqui xDD

<!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" />
<title>Untitled Document</title>
</head>

<body>
<?php
$tipo_produto=$_POST['tipo_produto'];
$nome_produto=$_POST['nome_produto'];
$descricao_produto=$_POST['descricao_produto'];
$tamanho_produto=$_POST['tamanho_produto'];
$preco_produto=$_POST['preco_produto'];
$img_produto=$_POST['img_produto'];

if($_POST['tipo_produto'])
{



	/**
	* Upload de Imagens com Seguran�a
	*
	* @author Alfred Reinold Baudisch
	* @email alfred_baudisch@hotmail.com
	* @date Jan 09, 2004
	* @changes Jan 14, 2004 - v2.0
	*/
	// Prepara a vari�vel caso o formul�rio tenha sido postado
	$arquivo_imagem_produto = isset($_FILES["img_produto"]) ? $_FILES["img_produto"] : FALSE;
	$config_imagem_produto = array();
	// Tamano m�ximo da imagem, em bytes
	$config_imagem_produto["tamanho"] = 906883;
	// Largura M�xima, em pixels
	$config_imagem_produto["largura"] = 640;
	// Altura M�xima, em pixels
	$config_imagem_produto["altura"] = 480;
	// Diret�rio onde a imagem ser� salva
	$config_imagem_produto["diretorio"] = "imagens_produtos/";

// Gera um nome para a imagem e verifica se j� n�o existe, caso exista, gera outro nome e assim sucessivamente..
// Fun��o Recursiva
	function titulo($extensao)
	{
		global $config_imagem_produto;
		// Gera um nome �nico para a imagem
		$temp = substr(md5(uniqid(time())), 0, 10);
		$imagem_nome = $temp . "." . $extensao;
    
	// Verifica se o arquivo j� existe, caso positivo, chama essa fun��o novamente
		if(file_exists($config_imagem_produto["diretorio"] . $imagem_nome))
		{
			$imagem_nome = titulo($extensao);
		}

		return $imagem_nome;
	}
}

if($arquivo_imagem_produto)
{
    	$erro = array();
    
	// Verifica o mime-type do arquivo para ver se � de imagem.
	// Caso fosse verificar a extens�o do nome de arquivo, o c�digo deveria ser:
	//
	// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo_imagem_noticia["name"])) {
	//      $erro[] = "Arquivo em formato inv�lido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
	//
	// Mas, o que ocorre � que alguns usu�rios mal-intencionados, podem pegar um v�rus .exe e simplesmente mudar a extens�o
	// para alguma das imagens e enviar. Ent�o, n�o adiantaria em nada verificar a extens�o do nome do arquivo.
   		$current_image=$_FILES['img_produto']['name'];
	$extension = substr(strrchr($current_image, '.'), 1);
	if($extension == ""){
		$extension="png";
	}
	if (($extension!= "jpg") 
		&& ($extension != "gif")
		&& ($extension != "bmp")
		&& ($extension != "png")
		&& ($extension != "JPG"))  
	{
		?><script>alert("Formato inválido!"); window.location = "add_produtos.php";</script><?php
	}else
	{

		// Verifica tamanho do arquivo
       		if($arquivo_imagem_noticia["size"] > $config_imagem_produto["tamanho"])
        	{
            	$erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config_imagem_produto["tamanho"] . " bytes. Envie outro arquivo";
			?><script>alert("Imagem grande, deve ter no máximo: <?php echo ($config_imagem_produto["tamanho"]); ?>"); window.location = "add_produtos.php";</script><?php
        	}
        
        // Para verificar as dimens�es da imagem
        	$tamanhos = getimagesize($arquivo_imagem_produto["tmp_name"]);
        
        // Verifica largura
        	if($tamanhos[0] > $config_imagem_produto["largura"])
        	{
            	$erro[] = "Largura da imagem não deve ultrapassar " . $config_imagem_produto["largura"] . " pixels";
			?><script>alert("Largura da imagem não deve ultrapassa: <?php echo($config_imagem_produto["largura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
        	}

        // Verifica altura
        	if($tamanhos[1] > $config_imagem_produto["altura"])
        	{
            	$erro[] = "Altura da imagem não deve ultrapassar " . $config_imagem_produto["altura"] . " pixels";
			?><script>alert("Altura da imagem não deve ultrapassa: <?php echo ($config_imagem_produto["altura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
        	}

	}
    	if(!sizeof($erro))
    	{

        // Pega extens�o do arquivo, o indice 1 do array conter� a extens�o
        	preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo_imagem_produto["name"], $ext);
        
        // Gera nome �nico para a imagem
        	$imagem_nome = titulo($ext[1]);

        // Caminho de onde a imagem ficar�
        	$imagem_dir = $config_imagem_produto["diretorio"] . $imagem_nome;

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

		$img_produto=$imagem_dir;	
		//$img_produto = "imagens_produtos/";			
	}
}

$liga_bd=mysql_connect('localhost','root',"");
if(!$liga_bd){
echo 'Falha na ligação do mySQL'; exit;}
$select=mysql_select_db("reverseshop",$liga_bd);
if(!$select){
echo "A abertura da BD Falhou";exit;
}
$pesquisa= "SELECT num_tipo FROM tipo_produto WHERE nome='$tipo_produto'"; 
$num_tipo=mysql_query($pesquisa,$liga_bd);

while($produto=mysql_fetch_array($num_tipo))
{
	$numero_tipo = $produto['num_tipo'];
}	

$query= "INSERT into produtos values('$tipo_produto','$nome_produto','$descricao_produto','$tamanho_produto','$preco_produto','$img_produto','$numero_tipo')";
$res=mysql_query($query,$liga_bd);


?>
</body>
</html>
Posted

Notice: Undefined index: descricao_produto in C:\xampp\htdocs\adicionar_produto.php on line 12

Notice: Undefined index: img_produto in C:\xampp\htdocs\adicionar_produto.php on line 15

não estás a enviar estes campos no html

Notice: Undefined variable: arquivo_imagem_noticia in C:\xampp\htdocs\adicionar_produto.php on line 89

o if : "if($_POST['tipo_produto'])" está a falhar, não declarando a variável $arquivo_imagem_produto

IRC : sim, é algo que ainda existe >> #p@p
Posted

acabou de me dar estes erros:

Notice: Undefined index: descricao_produto in C:\xampp\htdocs\adicionar_produto.php on line 12

Notice: Undefined index: img_produto in C:\xampp\htdocs\adicionar_produto.php on line 15

Notice: Undefined variable: arquivo_imagem_noticia in C:\xampp\htdocs\adicionar_produto.php on line 88

Notice: Undefined index: diretorio in C:\xampp\htdocs\adicionar_produto.php on line 51

Notice: Undefined index: diretorio in C:\xampp\htdocs\adicionar_produto.php on line 122

Posted

tens que ver onde aquilo se encaixa

para que insira na base de dados

olha este que eu fiz (ja está alterado porque estou a adaptar para multiupload

no entanto ajuda-te

<?php
include ("../../config.php"); 
?>
<!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" />
<title>Adicionar Imagens</title>
<link href="estilo_edita_laranja.css" rel="stylesheet" type="text/css" />
</head>
<body alink="#0033CC" vlink="#0033CC" link="#0066CC">
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Descrição da casa</legend>
<textarea name="area" cols="" rows=""></textarea>
</fieldset>
</form>

  <!--Cria o formulario para a inserçao de imagens-->
  <div id="formulario_cadastro">
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    <fieldset>
      <legend>Upload de Imagens</legend>
      <?php 


//ira verificar se clicou no botao enviar
if(isset($_POST['enviar'])){
	//vai passar o nr de ficheiro no array
        $nrFicheiros = count($_FILES['arquivo']['name']);
        //condiçao para parar quando o $i for maior que o nrFicheiros
        for($i = 0; $i < $nrFicheiros; $i++){
        	//o nome original do arquivo no computador do utilizador
            $arqName = $_FILES['arquivo']['name'][$i];
                	//o tipo mime do arquivo 
                	$arqType = $_FILES['arquivo']['type'][$i];
                	//o tamanho do arquivo
                	$arqSize = getimagesize($_FILES['arquivo']['size'][$i]);
                	//o nome temporario do arquivo com que foi guardado no servidor 
                	$arqTemp = $_FILES['arquivo']['tmp_name'][$i];
                	//o codigo de erro associado a este upload de arquivo
                	$arqError = $_FILES['arquivo']['error'][$i];
                	//lista de tipos de arquivos permidos
                	$tiposPermitidos = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');
                	//tamanho maximo
                	$tamanhoPermitido = 52428800; 
				//verifica se o array tem algum erro
                	if ($arqError == 0){
                    	//verifica o tipo de arquivo enviado
                    	if(array_search($arqType, $tiposPermitidos) === false){
                        	$retorno = '<span class="no">O tipo de arquivo enviado é invalido!</span>' ;
                    		//verifica o tamanho do arquivo enviado
                    	}elseif (array_search($arqSize, $tamanhoPermitido) === false){
                        	$retorno = '<span class="no">O tamanho do arquivo enviado e maior que o limite!</span>';
                    		// Se for verdadeiro passa
                    	}else{
                        	$pasta = 'images/';
                        	$percent = 0.10;
                        	//pegando as dimensoes reais da imagem, largura e altura
                        	list($width, $height) = getimagesize($arqTemp);
                        	//setando a largura da miniatura
                        	$new_width = 600;
                        	//setando a altura da miniatura
                        	$new_height = 399;
                        	//gerando a a miniatura da imagem
                        	$image_p = imagecreatetruecolor($new_width, $new_height);
                        	$image = imagecreatefromjpeg($arqTemp);
                        	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                        	//o 3º argumento é a qualidade da imagem de 0 a 100
                        	imagejpeg($image_p, $arqTemp, 75);
                        	imagedestroy($image_p);
                            //pega a extensao do arquivo enviado
                        	$extensaoTemp = explode('.',$arqName);
                        	$extensao = strtolower(end($extensaoTemp));
                        	//define o nome do arquivo usando um Unix TimesTamp
                        	$nome = $i.time(). '.' . $extensao;
					}//Fim do else
				}//Fim da verificaçAO ao array
                    //verifica se a variavel retorno estiver vazia (nao conter erro)        
                	if(empty($retorno)){
                    	$upload = move_uploaded_file($arqTemp, $pasta . $nome);
	                //verifica se fez a query
        		        if($upload === true){
						$ficheiro = $pasta.$nome;
                            $query = mysql_query("INSERT INTO laranja_imagens (imagem) VALUES ('$ficheiro')") or die (mysql_error());

                        }else{
                          	echo '<span class="no"> Não fez o upload da imagem';
                        }
                        //verifica se a variavel ficheiro esta vazia 
                        if(empty($ficheiro)){
                           	echo '<span class="quase">Insira a imagem!</span>';
					}
                        //fim da verificaçao
				}else{
                        echo $retorno;
                    }
            		if ($inseriu = true){
            		$sucesso = '<span  class="yes">A pagina ira ser redirecionada em poucos segundos, Obrigado!</span>';
                	echo $sucesso;
               		//echo"<META HTTP-EQUIV=REFRESH CONTENT='2; URL=#'>";      
				}
		}//fim do For
}
        ?>
      <label> <span>Imagem</span>
        <input name="arquivo[]"  type="file" multiple="multiple" />
      </label>
      <input type="hidden" name="enviar" value="enviar" />
      <input type="submit" name="enviar" class="send" />
    </fieldset>
  </form>
</div>
</body>
</html>

Posted

boas pessoal, estive a rever o codigo todo e mudar algumas coisas....

Codigo:

<!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" />
<title>Untitled Document</title>
</head>

<body>
<?php

$tipo_produto=$_POST['tipo_produto'];
$nome_produto=$_POST['nome_produto'];
$desc_produto=$_POST['desc_produto'];
$tamanho_produto=$_POST['tamanho_produto'];
$preco_produto=$_POST['preco_produto'];
$imagem_produto=$_POST['imagem_produto'];

if($_POST['tipo_produto'])
{


/**
* Upload de Imagens com Segurança
*
* @author Alfred Reinold Baudisch
* @email alfred_baudisch@hotmail.com
* @date Jan 09, 2004
* @changes Jan 14, 2004 - v2.0
*/
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["imagem_produto"]) ? $_FILES["imagem_produto"] : FALSE;

$config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 906883;
// Largura Máxima, em pixels
$config["largura"] = 480;
// Altura Máxima, em pixels
$config["altura"] = 360;
// Diretório onde a imagem será salva
$config["diretorio"] = "";

// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva
function tipo_produto($extensao)
{
	global $config;

	// Gera um nome único para a imagem
	$temp = substr(md5(uniqid(time())), 0, 10);
	$imagem_nome = $temp . "." . $extensao;

	// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
	if(file_exists($config["diretorio"] . $imagem_nome))
	{
		$imagem_nome = tipo_produto($extensao);
	}

	return $imagem_nome;
}

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

	// Verifica o mime-type do arquivo para ver se é de imagem.
	// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
	//
	// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
	//      $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
	//
	// Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
	// para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
	$current_image=$_FILES['imagem_produto']['name'];
	$extension = substr(strrchr($current_image, '.'), 1);
	if($extension == "")
	{
		$extension="png";
	}
	if (($extension!= "jpg") && ($extension != "jpeg") 
		&& ($extension != "gif")
		&& ($extension != "bmp")
		&& ($extension != "png")
		&& ($extension != "JPG"))  
	{
		?><script>alert("Formato inválido!"); window.location = "add_produtos.php";</script><?php
	}
	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";
			?><script>alert("Imagem grande, deve ter no máximo: <?php echo ($config["tamanho"]); ?>"); window.location = "add_produtos.php";</script><?php
		}

		// 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";
			?><script>alert("Largura da imagem não deve ultrapassa: <?php echo($config["largura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
		}

		// Verifica altura
		if($tamanhos[1] > $config["altura"])
		{
			$erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
			?><script>alert("Altura da imagem não deve ultrapassa: <?php echo ($config["altura"]); ?> pixels."); window.location = "add_produtos.php";</script><?php
		}

	}
	if(!sizeof($erro))
	{
		// Pega extensão do arquivo, o indice 1 do array conterá a extensão
		preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

		// Gera nome único para a imagem
		$imagem_nome = tipo_produto($ext[1]);

		// Caminho de onde a imagem ficará
		$imagem_dir = $config["diretorio"] . $imagem_nome;

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

$liga_bd=mysql_connect('localhost','root',"");
if(!$liga_bd){
		echo 'Falha na ligação do mySQL'; exit;}
$select=mysql_select_db("reverseshop",$liga_bd);
if(!$select)
{
		echo "A abertura da BD Falhou";exit;
}
$pesquisa= "SELECT num_tipo FROM tipo_produto WHERE nome='$tipo_produto'"; 
$num_tipo=mysql_query($pesquisa,$liga_bd);

while($produto=mysql_fetch_array($num_tipo))
		{
				$numero_tipo = $produto['num_tipo'];
		}       

$query= "INSERT into produtos values('$tipo_produto','$nome_produto','$desc_produto','$tamanho_produto','$preco_produto','$imagem_produto','$numero_tipo')";
$res=mysql_query($query,$liga_bd);
while($add_prod=mysql_fetch_array($res))
	{
		$tipo_produto = $add_prod["tipo_produto"];
		$nome_produto = $add_prod["nome_produto"];
		$desc_produto = $add_prod["desc_produto"];
		$tamanho_produto = $add_prod["tamanho_produto"];
		$preco_produto = $add_prod["preco_produto"];
		$imagem_produto = $add_prod["imagem_produto"];	
	}
	mysql_close($liga_bd);
}
else
{
echo "<script> alert(\"Deverá de preencher todos os campos!\");  window.location = \"add_produtos.php\";</script>";

}
?>
</body>
</html>


está a dar-me o seguinte erro:

Notice: Undefined index: imagem_produto in C:\xampp\htdocs\adicionar_produto.php on line 16

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\adicionar_produto.php on line 152

Alguem me consegue ajudar?

Cumprimentos,

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.