Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, boa tarde.. Eu vim pedir ajuda a vocês sobre um problema bem chato que estou tendo. Eu vou a print do projeto para que fique mais fácil deu explicar:
Para inicio de conversa, eu estou tentando usar o sistema DREAM GALLERY, para que se alguém se interessar em me ajudar, possa baixar e entender melhor.
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/hIUWbMA.png&key=286541d5c6484d91a3068d0542dea275225acd279d1286ebe6dfecbc48a3e236" alt="hIUWbMA.png" />
Eu tenho diversas categorias la em cima: Making off, Bebês, Empresas.. etc. Para tentar separar as fotos por categoria, eu criei uma tabela "categoria" com os campos: id_categoria e nome_categoria. Por padrão, a dream gallery veio com uma tabela albuns.. e nela eu adicionei o campo nome_categoria.
Ai no painel onde faço o upload das fotos fiz um select:
>
<section id="publicar-nota-informacoes">
<table>
<tbody>
<tr>
<td>Categoria das fotos</td>
</tr>
<tr>
<td>
<select name="**nome_categoria**">
<option selected="selected" value="">Selecione uma Categoria</option>
<?php
$SQL_C = mysql_query("SELECT * FROM categoria");
while($ct = mysql_fetch_array($SQL_C)){
?>
<option value="<?php echo $ct['id_categoria']; ?>"><?php echo $ct['nome_categoria'];?></option>
<?php
}?>
</select>
</td>
</tr>
</tbody>
</table>
</section>
Ai apareceu normalmente:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/Pc5YhwA.png&key=370aa825a65390e3bc2c29c661bea2c51c3fe335164f838395a49b19e6a920ea" alt="Pc5YhwA.png" />
No PHP onde está o código para inserir está assim:
>
if ( !$sid->check() )
{
@header( 'Location: login.php' );
}
if ( isset( $_GET['create'] ) && !empty( $_POST['new'] ) )
{ ** $nome_categoria = $_POST["nome_categoria"];**
$album_name = trim( preg_replace( '/\s+/', ' ', $_POST['new'] ) ) ;
if ( $album_name != "" )
{
$db->query( "insert into albuns (album_name, **nome_categoria**) values ('$album_name', '**$nome_categoria**');" );
$album_id = mysql_insert_id();
@header( "Location: album.php?edit=$album_id" );
}
}
Os campos em negrito eu adicionei, mas vamos seguir para que eu chegue ao meu problema.
O sistema não tem o botão postar e sim atualizar direto, que é definido por uma função.
Botão:
>
<button class="grey updateAlbumName">Atualizar</button>
Código da função:
>
26. function updateAlbumName()
27. { 28.$album_name = fulltrim( $_POST['album_name'] );
** 29. $nome_categoria= fulltrim( $_POST['nome_categoria'] );**
30. $album_name = utf8_decode($album_name);
31. $album_id = $_POST['album_id'];
32. $db = new Mysql;
33. $db->query( "update albuns set album_name = '$album_name', **nome_categoria = '$nome_categoria'** where album_id = $album_id" );
34. echo '�lbum Atualizado: <Br/>' . $album_name;
35. }
Ai chega o meu erro, quando eu clico em atualizar: aparece esse erro:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/W3MbgBz.png&key=83463497d4694d19fee1a671579c5ad0a1f546dadaf44489e6c2411265de477f" alt="W3MbgBz.png" />
Ele acusa um erro no local onde está a função do update que coloquei negrito..
o que estou errando? porque ele não está cadastrando na categoria que eu quero?
Podem me ajudar? Obrigado
mas que erro aparece?
Está na print, eu mostrei com a seta ali
Eu achei um negócio na internet do proprio autor desse sistema tentando ajudar um cara e no que ele disse, ele meio que me ajudou mas continuo com problema. Ele disse isso:
>
crie as tabelas (com os campos que aparecem ao lado):
– categorias (IdCategoria, nomeCategoria)
– fotos (idFoto, idCategoria, urlFoto)
Popule a tabela categoria (se quiser faça uma tela para add categorias)
Na tela de upload das fotos o usuário deverá selecionar uma categoria e enviar a imagem
No arquivo upload.php, modifique-o para assim que fizer o “upload com sucesso” em seguida gravar no banco ex.
insert into fotos (idcategoria,urlfoto) values ($idCategoriaVindaDoPost, $nomeDoArquivoFoto)
Para não dar problema com nomes repetidos user o método md5() para criar nomes unicos, ex:
$nomeDoArquivoFoto = md5(uniqid(time())); // isso antes do insert (claro)
Na página principal você coloca no inicio do programa uma query pegando as fotos por categoria, ex:
Suponha que na página principal sejam exibidas primeiramente as categorias e só depois do usuário escolher a categoria a página é direcionada à uma url que carrega por GET o id da categoria, assim temos uma segunda página que espera:
$idCategoria = $_GET[‘idcategoria’] ; // esse valor vem do form/select da página anterior
em seguida monte a query com o id recebido
$sql = “select * from fotos where idcategoria = $idCategoria”
Conforme eu disse, criei a tabela categorias, e na tabela fotos tem os campos:
foto_id
foto_url
foto_data
foto_album
foto_pos
ai inseri o campo id_categoria (int 11) ficando:
foto_id
id_categoria
foto_url
foto_data
foto_album
foto_pos
ai no arquivo upload.php eu chamei:
$categoria = $_POST["categoria-fotos"]; (categoria-fotos é o name do meu select no arquivo album.php que é onde seleciono as fotos e faço upload)
ai na query ficou assim:
$db->query( "insert into fotos (foto_album,foto_url,id_categoria,foto_data,foto_pos) values ($album_id,'$file_dst_name',$categoria,'$foto_data','999');" );
só que com esse código, quando eu clico em fazer upload e as fotos carregam, ao inves delas aparecerem, a página da meio que um refresh e meio segundo e as fotos não aparecem e a categoria que selecionei desseleciona, como se eu estivesse iniciando o processo.
Podem ajudar?
Ninguem pra me ajudar?
cara, o erro tá falando que o índice não foi definido
agora você tem que ver onde você definiu o nome_categoria e ver o que está errado
mas que erro aparece?