Ir para conteúdo

POWERED BY:

Arquivado

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

Tatiane.Design

sistema de cadastrar editar e excluir imagem painel adm

Recommended Posts

Boa tardeee... vou explicar minha duvida abaixo, se alguem pode me orientar

 

Meu sistema ta da seguinte forma:

 

diretorio: www/studio3d/adm/produtos_taiff

dentro da pasta produtos_taiff estão os arquivos

 

taiff.php

funcao.php

editar.php

config.php

pasta fotos

 

quando vou tentar cadastrar uma imagem na pagina taiff.php eu seleciono a imagem mas na hora de enviar ele da pagina não encontrada eu deva não esta especificando o caminho direito

eu acho. eu entendo pouco de php mas to tentando desenvolver um projeto para me familiarizar com php e aprender. alguem pode me orientar.

 

esse é codigo do formulario da pagina taiff.php

 

<form id="form1" name="form1" method="post" action="funcao.php?funcao=gravar" enctype="multipart/form-data">
 <h1>Cadastrar Foto</h1>
 <p>
 <label>
   <input type="radio" name="enviar_arquivo" onclick="document.form1.foto.disabled=false" id="enviar_arquivo" value="sim" />
   </label>
   <strong>SIM</strong>      
   <label>
   <input type="radio" name="enviar_arquivo" onclick="document.form1.foto.disabled=true" id="enviar_arquivo" value="nao" checked="checked" />
 </label>
 <strong>NÃO</strong></p>
 <label>
<input name="foto" type="file" id="foto" size="50" disabled="disabled" />
   </label>
   <p>
   <input type="submit" name="button" id="button" value="Enviar" />
 </p>
</form>
<hr />
<?php
include "config.php";
$sql = mysql_query("SELECT * FROM  upload");
while($linha = mysql_fetch_array ($sql)){
$id = $linha ['id'];
$foto = $linha['fotos'];

?>

   <div style="width:80px; float:left; margin:20px;">
   <img src="fotos/<?php echo $foto ?>" width="80" height="80"/>
   <a href="editar.php?id=<?php echo $id ?>">Alterar</a><br/>
   <a href="funcao.php?funcao=excluir&id=<?php echo $id ?>">Excluir</a>
   </div>

   <?php
}
?>

 

na pagina pagina.php os arquivos estão assim:

 

case 'taiff':
include "produtos_taiff/taiff.php";
break;

   case 'funcao':
include "produtos_taiff/funcao.php";
break;

case 'editar':
include "produtos_taiff/editar.php";
break;

 

:) Tatiane :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode postar as linhas do arquivo funcao.php responsáveis pelo upload?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta vou postar

 

Pagina funcao.php

 

<?php
include "config.php";

?>

<?php



$db = mysql_connect("localhost","root","");
$dado = mysql_select_db("studio3d",$db);




$dir = "produtos_taiff/fotos/"; 
$enviar_arquivo = $_POST['enviar_arquivo'];
if ($_GET['funcao'] == "gravar" && $enviar_arquivo == "sim"){

$fotos = isset($_FILES["foto"]) ? $_FILES["foto"] : false;	

      if( !empty($fotos['name']) )
		{
	$foto = strtolower( $fotos['name'] );
	$foto = str_replace(
array(" ", "'",";","\"","-","#","*","=","ã","á","à","é","ê","è","í","ì","ó","õ",'ô',"ç"), 
array("_", "_","_","_","_","_","_","_","a","a","a","e","e","e","i","i","o","o",'o',"c"), 
	$foto);

	if( !preg_match( '/^image\/(jpeg|gif|pjpeg|jpg|png)$/', $fotos['type']) )
{
		echo "<script type='text/javascript'>
				alert('Formato invalido.');
				</script>";
}else{
	if( file_exists( $dir.$foto) )
{
		$a = 1;
	while(file_exists( $dir."[{$a}]{$foto}") )
		$a++;
		$foto = "[{$a}]{$foto}";
}
	if( !@move_uploaded_file($fotos['tmp_name'], $dir.$foto) )
{
		$erros[] = $fotos['name'];
	echo " <script type='text/javascript'>
			alert('Erro ao enviar foto.');
			</script>";
}else {                                                                                                                    $sql = "INSERT INTO upload (fotos) value ('$foto')";                            
   $exec = mysql_query($sql) or die( mysql_error() );
      header("Location: index.php?pg=taiff.php");
   }                                 
   }                       

   }
   }

//*********************************************************************************************
//Esta parte e para alterar e excluir

$db = mysql_connect("localhost","root","");
$dado = mysql_select_db("studio3d",$db);




$dir = "produtos_taiff/fotos/"; 

if ($_GET['funcao'] == "editar" && $enviar_arquivo == "sim"){
	$id = $_GET['id'];
	$sql_alt = mysql_query("SELECT * FROM upload WHERE id = '$id'");
	while($linha = mysql_fetch_array($sql_alt)){
		$foto_db = $linha['foto'];
	}
	unlink("fotos/$foto_db");

 $fotos = isset($_FILES["foto"]) ? $_FILES["foto"] : false;	

    if( !empty($fotos['name']) )
		{
		$foto = strtolower( $fotos['name'] );
		$foto = str_replace(

array(" ", "'",";","\"","-","#","*","=","ã","á","à","é","ê","è","í","ì","ó","õ",'ô',"ç"), 
array("_", "_","_","_","_","_","_","_","a","a","a","e","e","e","i","i","o","o",'o',"c"), $foto);

if( !preg_match( '/^image\/(jpeg|gif|pjpeg|jpg|png)$/', $fotos['type']) )
{
 echo "<script type='text/javascript'>
		alert('Formato invalido.');
		</script>";
}
else
{
if( file_exists( $dir.$foto) )
{
		$a = 1;
while(file_exists( $dir."[{$a}]{$foto}") )
				$a++;
		$foto = "[{$a}]{$foto}";
}
if( !@move_uploaded_file($fotos['tmp_name'], $dir.$foto) )
{
		$erros[] = $fotos['name'];
		 echo " <script type='text/javascript'>
		alert('Erro ao enviar foto.');
	    </script>";
}
    else {                                                                                                        $id = $_GET['id'];                                          
  $sql = ("UPDATE  upload SET fotos='$foto' where id = '$id'");                            
  $exec = mysql_query($sql) or die( mysql_error() );
   header("Location: index.php?pg=taiff.php");
          }                                 
       }                       

   }
 }

 if ($_GET['funcao'] == "excluir");{
 $id = $_GET['id'];
	$sql_del = mysql_query("DELETE * FROM upload WHERE id = '$id'");

 }

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele dá o erro 404, mas chega a enviar a imagem?

Notei que você faz isso:

 header("Location: index.php?pg=taiff.php");

Mas, segundo sua lista de arquivos, o index.php não existe:

taiff.php

funcao.php

editar.php

config.php

/fotos

Você não estaria tentando redirecionar para pagina.php?

E, pelo que entendi, pagina.php está a um diretório antes. Então, você teria que voltar o diretório.

Outra coisa que vi foi que você fazia:

case 'taiff':

E requisitava com "?pg=taiff.php". Já que o case não verifica o ".php", ele sempre vai retornar negativo.

 header("Location: ../pagina.php?pg=taiff");

 

Uma dica: procure não fazer consultas contendo dados de formulários sem antes passar por uma proteção, como mysql_real_escape_string() e procure um pouco sobre SQL Injection.

  $id = $_GET['id']; // se ID for "' or 1='1", todas as fotos vao embora...
               $sql_del = mysql_query("DELETE * FROM upload WHERE id = '$id'");

 }

 

Outra: o arquivo "taiff.php" é acessado diretamente ou é por include/require através de outro arquivo? Pois o CWD muda com os includes.

Por exemplo, se você tem o diretório /test com os arquivos deleteme.jpg e funcao.php (com unlink("deleteme.jpg"); ), mas vai fazer um include para funcao.php antes do diretório /test, mesmo que funcao.php continue em /test, você terá que fazer unlink("test/deleteme.jpg");, pois com include/require, o código do arquivo é apenas assumido por outro e executado ali, e não executado remotamente (como fazemos com AJAX).

 

Se não for isso, pelo jeito, ainda não consegui entender o problema. É erro 404 do servidor HTTP ou mensagem de erro do PHP falando que o arquivo não existe? :huh:

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele está usando QueryString para gerenciar as paginas dentro de um layout.

Amigo sua case não está totalmente definida para funcao.php?funcao=gravar.

o $_GET['funcao'] == "gravar" não ta atribuindo valor.

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.