Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde!, pessoal to com um problema no meu codigo, ele nunca envia a imagem pra db, sempre vai direto para a pasta! o arquivo php do upload fica dentro de um painel administrativo, não sei se isso pode ser o erro. mais aqui vai o código! obs: n manjo muito de php! upgaleria.php
<?php
if ($_POST['cadastrar']) { // Recupera os dados dos campos $nome = $_POST['nome']. $email = $_POST['email']. $foto = $_FILES["foto"]. // Se a foto estiver sido selecionada if (!empty($foto["name"])) { // Largura máxima em pixels $largura = "9999999999". // Altura máxima em pixels $altura = "9999999999". // Tamanho máximo do arquivo em bytes $tamanho = "9999999999". // 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 = "modulos/fotos/". $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 usuarios VALUES ('', '".$nome."', '".$email."', '".$nome_imagem."')"). // Se os dados forem inseridos com sucesso if ($sql){ echo "Você foi cadastrado com sucesso.". } } // Se houver mensagens de erro, exibe-as if (count($error)!= 0) { foreach ($error as $erro) { echo $erro. "<br />". } } }
}?>
<form action="" method="post" enctype="multipart/form-data" name="cadastro" onSubmit="return validaAddArt(this)" >
<input type="hidden" name="action" value="Cadastrar">
<table style="border: 0px. ">
<input type="file" name="foto" /><br /><br />
<input type="submit" name="cadastrar" value="Cadastrar" />
</table> </form> esse de baixo é o php que fica no painel e puxa o php acima com um include "<?php include("upgaleria.php").?>", no caso do php acima eu só estou usando $foto. upload.php (php que puxa o upgaleria.php por include) <script> function muda_ordem(direcao, ordem, controle) { this.location = '?cp=<?=$cp?>&c=<?=$c?>&action=muda_ordem&direcao='+direcao+'&ordem='+ordem+'&controle='+controle. } function troca_flag(flag, id_reg, campo_flag) { this.location = '?cp=<?=$cp?>&c=<?=$c?>&action=muda_status&flag='+flag+'&id_reg='+id_reg+'&campo='+campo_flag. } function troca_todos(tf) { if(tf.checked) ToggleAll(lista, true). else ToggleAll(lista, false). } function ToggleAll(formname, checked_flag) { len = formname.elements.length. var i = 0. for(i = 0. i < len. i++) { formname.elements[i].checked = checked_flag. } } function confirma_delete() { if(confirm('Tem certeza que você deseja apagar este(s) registro(s)?')) return true. else return false. } </script> <? $action=$_GET["action"]. if($action == ""){ $action=$_POST["action"]. }?>
<a href="?cp=<?=$cp?>&c=<?=$c?>&action=inserir">Inserir Registro</a> | <a href="?cp=<?=$cp?>&c=<?=$c?>">Listar Registros</a><br/>if($action=="muda_status"){ $flag=$_GET["flag"]. $id_reg = $_GET["id_reg"]. $campo = $_GET["campo"]. $sql = "UPDATE usuarios SET $campo='".$flag."' WHERE id='".$id_reg."'". $res = mysql_query($sql) or die(mysql_error()). $action = "". }elseif($action == 'deleta') { // ------->> loop nos registros selecionados na lista <<-------| $del_item = $_POST["del_item"]. $i=0. while($cada_um = each($del_item)) { $sql = "DELETE FROM usuarios WHERE id = '".$cada_um[1]."'". $res = mysql_query($sql) or die(mysql_error()). if($res){ $i++. } } if($i>0){ echo "<script>alert('Registro(s) excluido(s) com sucesso!')</script>". }else{ echo "<script>alert('Um ou mais registros não puderam ser excluidos!')</script>". } $action = "". }elseif($action == "editar" || $action == "inserir"){ $id = $_GET["id"]. if($id){ $sql_f = "SELECT * FROM usuarios WHERE id='".$id."' LIMIT 1". $res_f = mysql_query($sql_f) or die(mysql_error()). $row_f = mysql_fetch_array($res_f). $action = "F_editar". }else{ $action = "F_inserir". }?> <?php include("upgaleria.php").?> <? }elseif($action == "F_editar"){ $id = $_POST["id"]. if($id){ $codigo = $_POST["nome"]. $foto = $_POST["foto"]. $desc = $_POST["desc"]. $autor = $_SESSION["admin_nome"]. $sql = "UPDATE usuarios SET nome='$codigo', foto='$foto' WHERE id='$id'". $res = mysql_query($sql) or die(mysql_error()). if($res){ echo "<script>alert('Registro Editado com sucesso')</script>". }else{ echo "<script>alert('Um erro inesperado aconteceu')</script>". } } $action = "". }elseif($action == "F_inserir"){ $codigo = $_POST["nome"]. $foto = $_POST["foto"]. $desc = $_POST["desc"]. $autor = $_SESSION["admin_nome"]. $sql = "INSERT INTO usuarios (nome, foto) VALUES('$codigo', '$foto')". $res = mysql_query($sql) or die(mysql_error()). if($res){ echo "<script>alert('Registro Inserido com sucesso')</script>". }else{ echo "<script>alert('Um erro inesperado aconteceu')</script>". } $action = "". } if($action == ""){ $num_por_pagina = 30. $pagina = $_GET["pagina"]. if (!$pagina) { $pagina = 1. } $primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina.?> <style> a:hover{ text-decoration:underline. } </style> <div id="paginacao_topo"></div> <div class="table"> <img src="img/bg-th-left.gif" width="8" height="7" alt="" class="left" /> <img src="img/bg-th-right.gif" width="7" height="7" alt="" class="right" /> <form name="lista" method="post" action="?cp=<?=$cp?>&c=<?=$c?>" onSubmit="return confirma_delete()"> <input type="Hidden" value="deleta" name="action"> <input type="hidden" value="<?=$c?>" name="c" /> <input type="hidden" value="<?=$cp?>" name="cp" /> <table width="100%" cellpadding="0" cellspacing="0" class="listing"> <tr> <th class="first" style="padding:3px. background:#eeeeee. border:2px solid #fff. -webkit-border-radius:3px. -moz-border-radius:3px. border-radius:3px. "><center><input style="width:16px. " type="Checkbox" onClick="troca_todos(this). " alt="Marca ou desmarca todos da lista"></center></th> <th align="center" style="padding:3px. background:#eeeeee. border:2px solid #fff. -webkit-border-radius:3px. -moz-border-radius:3px. border-radius:3px. "><input style="width:16px. " type="Image" src="images/deletar.gif" alt="Apagar registros selecionados" align="absmiddle"></th> <th align="center" style="padding:3px. background:#eeeeee. border:2px solid #fff. -webkit-border-radius:3px. -moz-border-radius:3px. border-radius:3px. "><b>Imagem</b></th> <th align="center" style="padding:3px. background:#eeeeee. border:2px solid #fff. -webkit-border-radius:3px. -moz-border-radius:3px. border-radius:3px. "><b>Codigo</b></th> <th align="center" style="padding:3px. background:#eeeeee. border:2px solid #fff. -webkit-border-radius:3px. -moz-border-radius:3px. border-radius:3px. "><b>Adicionado por:</b></th> <th align="center" style="padding:3px. background:#eeeeee. border:2px solid #fff. -webkit-border-radius:3px. -moz-border-radius:3px. border-radius:3px. "><b>Descrição</b></th> </tr> <? $sql ="SELECT * FROM usuarios ORDER BY id DESC LIMIT $primeiro_registro, $num_por_pagina". $res = mysql_query($sql) or die(mysql_error()). $i=1. $total = mysql_num_rows($res). while($row=mysql_fetch_array($res)){ $bg = (($i+1)%2==0)?"bg":"".?> <tr class="<?=$bg?>"> <td align="center" style="border-left:2px dashed #fff. border-bottom:1px dashed #fff. padding:2px. "><input style="width:16px. " type="Checkbox" name="del_item[]" value="<?=$row[id]?>"></td> <td align="center" style="border-left:2px dashed #fff. border-bottom:1px dashed #fff. padding:2px. "><a href="?cp=<?=$cp?>&c=<?=$c?>&action=editar&id=<?=$row[id]?>"><img src="images/editar.gif" alt="Clique para editar este registro" align="absmiddle" /></a></td> <td align="center" style="border-left:2px dashed #fff. border-bottom:1px dashed #fff. padding:2px. "><img width="30%" src="modulos/fotos/<?=$row[foto]?>" /></td> <td align="center" style="border-left:2px dashed #fff. border-bottom:1px dashed #fff. padding:2px. "><?=$row[nome]?></td> <td align="center" style="border-left:2px dashed #fff. border-bottom:1px dashed #fff. padding:2px. "><?=$row[emb_by]?></td> <td align="center" style="border-left:2px dashed #fff. border-bottom:1px dashed #fff. padding:2px. "><?=$row[emb_desc]?> </td> </tr> <? $i++. }?> </table> </form> </div> <? $sql1 ="SELECT * FROM usuarios ORDER BY id DESC". $res1= mysql_query($sql1) or die(mysql_error()). $total = mysql_num_rows($res1). $total_paginas = $total/$num_por_pagina. $prev = $pagina - 1. $next = $pagina + 1. if ($pagina > 1) { $prev_link = "<a href=\"".$PHP_SELF."?cp=$cp&c=$c&pagina=$prev\">Anterior</a>". } else { $prev_link = "Anterior". } // se número total de páginas for maior que a página corrente, então temos link para a próxssima página if ($total_paginas > $pagina) { $next_link = "<a href=\"".$PHP_SELF."?cp=$cp&c=$c&pagina=$next\">Próxima". } else { // senão não há link para a próxima página $next_link = "Próxima". } // vamos arredondar para o alto o número de páginas que serão necessárias para exibir todos os registros. Por exemplo, se temos 20 registros e mostramos 6 por página, nossa variável $total_paginas será igual a 20/6, que resultará em 3.33. Para exibir os 2 registros restantes dos 18 mostrados nas primeiras 3 páginas (0.33), será necessária a quarta página. Logo, sempre devemos arredondar uma fração de número real para um inteiro de cima e isto é feito com a função ceil(). $total_paginas = ceil($total_paginas). $painel = "". $f = $pagina + 2. $f = ($f > $total_paginas)?$total_paginas:$f. $n = $pagina - 2. $n = ($n<1)?1:$n. if($n == 1 && $total_paginas >5){ $f=5. }else{ $f=$pagina+2. $f=($f<=$total_paginas)?$f:$total_paginas. } for ($x=$n. $x<=$f. $x++) { if ($x==$pagina) { // se estivermos na página corrente, não exibir o link para visualização desta página $painel.= " <b>[$x]</b> ". } else { $painel.= " <a href=\"".$PHP_SELF."?cp=$cp&c=$c&pagina=$x\">[$x]</a>". } } $paginacao = "<center class='menu2'>$prev_link | $painel | $next_link </center>". echo "<BR>".$paginacao. }?> <script> $("#paginacao_topo").append("<?=addslashes($paginacao)?>"). </script> o código esta meio que bagunçado pois ainda estou editando. se puderem me ajudar irei agradecer muitao hehe obrigado!Carregando comentários...