Ir para conteúdo

POWERED BY:

Arquivado

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

celinho_macaense

Upload de foto junto a notícia

Recommended Posts

Salve, salve! Boa tarde, então amigos estou precisando de um grande favor, seguinte, tenho um sisteminha de notícias sem foto, daí preciso saber como faço para inserir um formulário para enviar junto a notícia uma foto, alguem poderia me ajudar? Desde já agradeço bom feriado a todos!!!

 

Abaixo segue o código:

 

Arquivo nova.php

<?php

session_start();

include("../conexao.php");

if($_SESSION["admin"]=="on"){

?>

<html>

<head>

<title>Nova</title>

</head>

<script>

function format(valor){

document.nova.noticia.value += ' '+valor+' '

}

</script>

<form method="POST" action="nova2.php" name="nova">

<table border="0" cellpadding="0" cellspacing="0">

<tr>

<td><font face="Arial">Título:</font></td>

<td><font face="Arial"> <input type="text" name="titulo" size="45"></font></td>

</tr>

<tr>

<td colspan="2">

<p align="center"><font face="Arial">Notícia:</font></td>

</tr>

<tr>

<td colspan="2">

<p align="center"><font face="Arial" size="2"><b><a href="java script:format("Texto em negrito")" style="text-decoration:none"><font color="#000000">N</font></a><font color="#000000"><a style="text-decoration: none"> 

</a></font></b><a style="text-decoration: none" href="java script:format("Texto em itálico")"><i><font color="#000000">I</font></i></a><font color="#000000"><i><a style="text-decoration: none"> 

</a></i></font><a style="text-decoration: none" href="java script:format("Texto sublinhado")"><u><font color="#000000">S</font></u></a><font color="#000000">

</font><u><a style="text-decoration: none" href="java script:format("[br]")"><font color="#000000"><BR></font></a><a style="text-decoration: none"></a></u><font color="#000000">

</font><font color="#0000FF"><a style="text-decoration:none" href="java script:format("")">IMG</a></font></font></p>

</td>

</tr>

<tr>

<td colspan="2">

<p align="center"><font face="Arial"><textarea rows="15" name="noticia" cols="48"></textarea></font></td>

</tr>

<tr>

<td colspan="2">

<p align="center"><input type="submit" value="Inserir"></td>

</tr>

</table>

</form>

<?php

}

else

{

echo "<script>location.href='login.htm'</script>";

}

?>

 

 

Arquivo inserir.php

<?php

session_start();

include("../conexao.php");

if($_SESSION["admin"]=="on"){

$titulo = $_POST["titulo"];

$noticia= $_POST["noticia"];

$data = date("d/m/y");

$hora = date("H:i:s");

$sql = "INSERT INTO news_ind (id, titulo, noticia, data, hora) VALUES

('','$titulo','$noticia','$data','$hora')

";

mysql_query($sql);

echo "<script>alert(\"Notícia inserida com sucesso!\"); window.close()</script>";

}

else

{

echo "<script>location.href='../'</script>";

}

?>

O Nome deste sistema é SNews, falow...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adicione um campo ao formulário, do tipo file.

<input type="file" name="imagem" />

Agora no PHP tu precisa processar essa imagem, ou seja, salvar ela numa pasta de sua escolha. Para fazer isso, basta pegar alguma classe de upload de imagens que podem ser encontradas na área de scripts PHP do iMasters.

 

Com a imagem salva no servidor, você pega o nome dela e salva no banco de dados, junto com alguma identificação para saber a qual noticia aquela imagem se refere.

Para isso, use a função mysql_insert_id(), que pega o ID gerado na ultima inserção de algum dado no MySQL (quando se tem alguma coluna auto_increment).

 

Agora na pagina de noticias, basta chamar a noticia, pega o ID da noticia e chamar a imagem.

 

Parece ser complicado, mas nada que umas horas quebrando a cabeça resolva.

Qualquer duvida durante o processo, só postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pesquisando achei este codgo. Será que funciona?

 

<?php

} elseif (isset($escolher) and ($opcao != "")){

if(isset($opcao) and ($opcao == "1")){

 

if(isset($envia)){

print("<font face=\"Verdana,Arial,Helvetica,sans-serif\" size=\"1\" color=\"#000000\">");

 

conexao_mysql($host,$user,$pass,$db_news_adm);//funcao para conexao com o MYSQL

 

//Se a notícia for submetida

//Adicina ao banco de dados supernews

if(isset($envia)){

if(isset($titulo) and ($titulo != "") and isset($conteudo) and ($conteudo != "") and isset($arquivo) and ($arquivo != "") and isset($largura) and ($largura != "") and isset($altura) and ($altura != "")){

$uploaddir = 'imagens/';

if($_FILES['arquivo']['type'] == "image/gif" || $_FILES['arquivo']['type'] == "image/pjpeg"){

if($_FILES['arquivo']['size'] > "1000000"){

print("<script> alert('Seu arquivo não poderá ser maior que 1mb'); window.history.go(-1); </SCRIPT>\n");

} else {

if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploaddir . $_FILES['arquivo']['name'])) {

$diretorio = $uploaddir . $_FILES['arquivo']['name'];

} else {

print("Houve um erro na transferencia do arquivo:\n");

if($_FILES['arquivo']['error'] == 1){

print("O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini");

}

elseif($_FILES['arquivo']['error'] == 2){

print("O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário html.");

}

elseif($_FILES['arquivo']['error'] == 3){

print("o upload do arquivo foi feito parcialmente.");

}

elseif($_FILES['arquivo']['error'] == 4){

print("Não foi feito o upload do arquivo.");

}

}

}

} else {

print("<center><font color=\"#FF0000\" size=\"1\"><b>Somente arquivos com extensão .gif e .jpeg são suportados</b></font></center>");

die();

}

 

$largura = $largura;

$altura = $altura;

$titulo = $titulo;

$conteudo = $conteudo;

$data = date("Ymd H:i:s");

$sql = "INSERT INTO news_adm

diretorio='$diretorio',

largura='$largura',

altura='$altura',

titulo='$titulo',

conteudo='$conteudo',

data='$data'";

if(@mysql_query($sql)){

print("<p align=\"center\"><font color=\"#000000\" size=\"1\"><b>A notícia foi adicionada com sucesso!

<br>Você está sendo redirecionado para o

Painel de Administração</b></font></p>");

} else {

print("<p align=\"center\"><font color=\"#FF0000\" size=\"1\"><b>Erro ao adicionar a notícia " . mysql_error() . '</b></font></p><br>');

}

} else {

print("<center><b>Todos os campos são obrigatórios <br> <a href='java script:history.go(-1)'>Voltar</a></b></center>");

}

}

 

} else { //Se a variavel envia não for setada

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar uma ilustrada para ti entender a logica.

 

1º - Adicionar um campo do tipo "file" no formulário.

 

<input type="file" name="imagem" />

Basta adicionar este campo no teu formulário, onde desejar.

Ahh, tem outra coisa importante tambem. Você deve definir no teu form, este enctype.

 

enctype="multipart/form-data"
No form ficaria assim:

<form method="POST" action="nova2.php" name="nova" enctype="multipart/form-data">
Sem isto, a imagem não é recebida pelo PHP.

 

2º - Fazendo o "upload" da imagem.

 

Para fazer o upload da imagem no servidor, vou usar como exemplo, este script de envio de arquivos feito pelo TiuTalk.

http://thiagobelem.net/blog/php/2009/03/13...os-com-php-339/

 

<?php

// Pasta onde o arquivo vai ser salvo
$_UP['pasta'] = 'uploads/';

// Tamanho máximo do arquivo (em Kb)
$_UP['tamanho'] = 2048; // 2Mb

// Array com as extensões permitidas
$_UP['extensoes'] = array('jpg', 'png', 'gif');

......................................
......................................
......................................

// Depois verifica se é possível mover o arquivo para a pasta escolhida
if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) {

// Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo
$dirImagem = $_UP['pasta'] . $nome_final;

} else {

// Não foi possível fazer o upload, provavelmente a pasta está incorreta
echo "Não foi possível enviar o arquivo, tente novamente";

}

}

?>

O que vamos precisar para fazer isso, é basicamente do ultimo bloco do script.

Se o upload ocorrer sem erros, você terá uma variavel contendo o endereço relativo da imagem ($dirImagem).

 

3º - Salvando o nome da imagem no banco de dados.

 

Agora é facil. Tendo esta variavel, basta criar um campo na tabela de noticias.

Por exemplo, vou criar uma coluna chamada 'imgNoticia'.

Nesta coluna, voce insere o valor de $dirImagem sempre quando postar uma nova noticia.

 

$sql = "INSERT INTO news_ind (id, titulo, noticia, data, hora, imgNoticia) VALUES ('','$titulo','$noticia','$data','$hora','$dirImagem')";

4º - Exibindo a noticia com imagem.

 

A unica diferença é que você terá, no loop, isso aqui:

 

while ( $row = .... ) {

$titulo = $row['titulo'];
..
..
$imgNoticia = $row['imgNoticia'];


echo '<table>';
echo '<tr>';
echo '<td>Titulo: '.$titulo.'</td>';
echo '<td>...</td>';
echo '<td>...</td>';
echo '<td>Imagem: <img src="'.$imgNoticia.'" alt="" /></td>';
echo '</tr>';
echo '</table>';

}

 

Acho que agora fica facil né?

Só botar a mão na massa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, basta você pesquisar algum script de upload de imagem para salvar em seu servidor.

 

Depois do envio, faça com que o php pegue o diretório da imagem e salve no banco de dados.

 

Quando você for exibir a notícia, você só precisará acrescentar uma tag <img src="$img">, onde $img é o caminho da imagem.

 

Agora só basta pesquisar direitinho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ichi hehe, tu colocou exatamente o que eu postei.

Como eu disse na mensagem acima, eu te dei a LÓGICA da coisa. Eu não fiz para você.

 

Eu escrevi aquilo tudo para voce ler, e ter como base para modificar seu sistema de news.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

celinho_macaense,

 

você pegou um sistema pronto do Clenisson, você deveria procurar dar uma estudada um pouco em PHP pra começar a entender como se trabalha com registro de dados em um BD MySQL.

 

Quando você aprender a fazer inserção, atualização, remoção e listagem de dados de um BD, você estará apto a fazer um sistema de notícias, mural de recados, comentários, etc..

 

Procure estudar PHP+MySQL com esses assuntos, pois são simples e fáceis de entender. Nada que umas horinhas de leitura resolvam.

 

Fica complicado ficar dando um sistema pronto de outra pessoa pra gente adaptar ao que você quer. O fórum não é pro outros fazerem o serviço pra você e sim pra te auxiliar a você fazer as mudanças!

 

Abraços! ;)

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.