bLTR Posted May 4, 2012 at 11:07 AM Report #453037 Posted May 4, 2012 at 11:07 AM 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!
HappyHippyHippo Posted May 4, 2012 at 11:17 AM Report #453038 Posted May 4, 2012 at 11:17 AM ... 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 Portugol Plus
bLTR Posted May 4, 2012 at 11:24 AM Author Report #453041 Posted May 4, 2012 at 11:24 AM 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
HappyHippyHippo Posted May 4, 2012 at 02:15 PM Report #453087 Posted May 4, 2012 at 02:15 PM mas supostamente tem de estar assim, eu quero é que ele grave a imagem nesse directorio com um nome aleatório... no comment ... olha bem para o comentário e código IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bLTR Posted May 4, 2012 at 02:18 PM Author Report #453089 Posted May 4, 2012 at 02:18 PM entao diz-me la o que tenho eu de mal.... e corrige-me ...
HappyHippyHippo Posted May 4, 2012 at 02:21 PM Report #453091 Posted May 4, 2012 at 02:21 PM comenta a linha inteira que coloquei o comentário .... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bLTR Posted May 4, 2012 at 02:28 PM Author Report #453097 Posted May 4, 2012 at 02:28 PM 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
HappyHippyHippo Posted May 4, 2012 at 02:31 PM Report #453100 Posted May 4, 2012 at 02:31 PM 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 Portugol Plus
bLTR Posted May 4, 2012 at 02:36 PM Author Report #453102 Posted May 4, 2012 at 02:36 PM 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); ?>
HappyHippyHippo Posted May 4, 2012 at 02:41 PM Report #453105 Posted May 4, 2012 at 02:41 PM 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 Portugol Plus
bLTR Posted May 4, 2012 at 02:44 PM Author Report #453107 Posted May 4, 2012 at 02:44 PM 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>
HappyHippyHippo Posted May 4, 2012 at 03:12 PM Report #453116 Posted May 4, 2012 at 03:12 PM 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 Portugol Plus
bLTR Posted May 4, 2012 at 03:14 PM Author Report #453118 Posted May 4, 2012 at 03:14 PM podes-me corrigir isso se faz favor?
HappyHippyHippo Posted May 4, 2012 at 03:15 PM Report #453120 Posted May 4, 2012 at 03:15 PM infelizmente não tenho tempo para ver todo o código e corrigir ... nisso terás de ser tu IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bLTR Posted May 4, 2012 at 03:17 PM Author Report #453122 Posted May 4, 2012 at 03:17 PM é que estou em estagio e este site e para a minha pap, e estou mais preocupado com o que tenho de fazer no estagio que e paginação :/
alexmestre Posted May 4, 2012 at 03:21 PM Report #453125 Posted May 4, 2012 at 03:21 PM oi tens que ter isso $ficheiro = $pasta.$nome; em que a variavel $ficheiro vai ter o caminho da pasta mais o nome do arquivo ou seja $ficheiro="pasta/12345.jpg" e na query metes $ficheiro
bLTR Posted May 4, 2012 at 03:22 PM Author Report #453127 Posted May 4, 2012 at 03:22 PM mete-me isso no codigo sff :$
bLTR Posted May 4, 2012 at 03:34 PM Author Report #453130 Posted May 4, 2012 at 03:34 PM 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
alexmestre Posted May 4, 2012 at 03:39 PM Report #453134 Posted May 4, 2012 at 03:39 PM 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>
bLTR Posted May 11, 2012 at 09:04 AM Author Report #454527 Posted May 11, 2012 at 09:04 AM 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,
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now