Ir para conteúdo

POWERED BY:

Arquivado

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

GiancarloPY

[PHP + MySQL]Sistema de noticia com DB

Recommended Posts

Boa noite, eu tava procurando um sistema de noticia e achei um simples aqui.. configurei a db tudo certinho com o servidor e etc.. porém, quando eu digito a noticia, ela não salva na db, oque fazer?

 

DB.sql

CREATE TABLE fofoca (
  codigo tinyint(3) NOT NULL auto_increment,
  nick char(20) default '0',
  email char(40) default '0',
  titulo char(200) default '0',
  imagem int(3) unsigned default '0',
  fofoca char(250) default '0',
  PRIMARY KEY  (codigo)
) TYPE=MyISAM;

enviar.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="99%" border="0" cellpadding="1" height="28">
  <tr> 
    <td height="35"> 
      <table width="99%" border="0" cellpadding="1" height="28">
        <tr> 
          <td height="35"> 
            <form action="recebe.php" method="POST">
              <p align="center"><br>
                <b><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nick:<br>
                <input type="text" name="nick" size="10" maxlength="10">
                <br>
                E-Mail:<br>
                <input type="text" name="email" size="30" maxlength="30">
                <br>
                Titulo da fofoca<br>
                <input type="text" name="titulo" size="30" maxlength="30">
                </font></b></p>
              <p align="center"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Digite 
                aqui sua fofoca!<br>
                <textarea name="fofoca"  rows="8" cols="50"></textarea>
                ;<br>
                <input type="submit" value="Enviar" name="submit">
                <input type="reset" value="Limpar" name="reset">
                <br>
                </font></b></p>
            </form>
            <b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> </font></b> 
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table width="99%" border="0" cellpadding="1" height="28">
  <tr> 
    <td height="35"> </td>
  </tr>
</table>
</body>
</html>

index.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a href="enviar.php"><img src="../imagem/enviar.gif" width="71" height="18" border="0"></a><a href="javascript:self.print()"><img src="../imagem/imprimir.gif" width="71" height="18" border="0"></a> 
  </b></font> 
  <table width="75%" border="0" cellpadding="1">
    <tr> 
      <td height="11"> 
        <p align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="imagem/fofocas2.gif" width="32" height="32"> 
          No momento existem</font><font size="2"> </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
          <?   $conexao = mysql_connect("localhost","login","senha");

   $base=mysql_select_db("dbname",$conexao);

   $comando="select * from fofoca order by codigo desc";   

   $consulta=mysql_query($comando);

   $campo=mysql_fetch_array($consulta);



echo mysql_num_rows($consulta);?>
          fofocas cadastradas <img src="imagem/fofocas.gif" width="32" height="32"></font></p>
      </td>
    </tr>
  </table>
  <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b> </b></font></div>
<table width="99%" border="0" cellpadding="1" height="28">
  <tr> 
    <td height="35">  
      <table width="92%" border="1" cellpadding="1" height="58" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
        <?php 

$conn = mysql_connect("localhost","login","senha");
$banco = mysql_select_db("dbname"); 

?>
        <?php 

 $busca="select * from fofoca order by codigo desc";   

?>
        <?php 

$total_reg = "10"; // número de registros por página 

?>
        <?php 



if (!isset($pagina) || (!$pagina)) { 

    $pc = "1"; 

} else { 

    $pc = $pagina; 

} 

?>
        <?php 

$inicio = $pc - 1; 

$inicio = $inicio * $total_reg; 

?>
        <?php 

$limite = mysql_query("$busca LIMIT $inicio,$total_reg"); 

$todos = mysql_query("$busca"); 



$tr = mysql_num_rows($todos); // verifica o número total de registros 

$tp = $tr / $total_reg; // verifica o número total de páginas 



// vamos criar a visualização 

while ($dados = mysql_fetch_array($limite)) {   

	 echo " <tr> 

    <td bordercolor='#E1F8FF' bgcolor='#ECF5FF' height='18' valign='top' align='right' width='11%'><font size='2' color='#003399' face='Verdana, Arial, Helvetica, sans-serif'><b><img src='../imagem/$dados[imagem].gif' width='32' height='32'> 

      </b></font> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'></font></td>

    <td bordercolor='#E1F8FF' bgcolor='#ECF5FF' height='18' valign='top' align='right' width='25%'> 

      <div align='center'><font size='2' color='#003399' face='Verdana, Arial, Helvetica, sans-serif'><font color='#000000'>$dados[nick]</font></font> 

      </div>

    </td>

    <td bordercolor='#E1F8FF' bgcolor='#ECF5FF' height='18' valign='top' align='left' width='64%'> 

      <div align='center'><font size='2' color='#990000' face='Verdana, Arial, Helvetica, sans-serif'>$dados[titulo]</font> 

      </div>

    </td>

  </tr>

  <tr>

    <td bordercolor='#FFFFFF' bgcolor='#FFFFFF' height='6' valign='top' align='center' colspan='3'><font size='2' color='#003399' face='Verdana, Arial, Helvetica, sans-serif'><font color='#000000'>$dados[fofoca]</font></font></td>

  </tr>

  <tr> 

    <td bordercolor='#FFFFFF' bgcolor='#FFFFFF' height='11' valign='top' align='center' colspan='3'> 

      <p><font size='2' color='#003399' face='Verdana, Arial, Helvetica, sans-serif'><a href='mailto:$dados[email]'><font color='#000099' size='1'><b>$dados[email]</b></font></a></font></p>

      </td>

  </tr> 

	   ";

	

	 

} 



?>
      </table>
      <?

// agora vamos criar os botões "Anterior e próximo" 

$anterior = $pc -1; 

$proximo = $pc +1; 

if ($pc>1) { 

    echo " <a href='?pagina=$anterior'><- Anterior</a> "; 

} 

echo "|"; 

if ($pc<$tp) { 

    echo "<a href='?pagina=$proximo'>Próxima -></a>"; 

} 

?>
    </td>
  </tr>
</table>
</body>
</html>

recebe.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?  $conexao = mysql_connect ("localhost","login","senha"); 

   $base=mysql_select_db("dbname",$conexao);

   $comando="insert into fofoca(nick,email,titulo,imagem,fofoca) values('$nick','$email','$titulo','$imagem','$fofoca')";

   $consulta=mysql_query($comando);

   ?>
<table width="99%" border="0" cellpadding="1" height="45">
  <tr> 
    <td height="19" bgcolor="#FFFFFF" bordercolor="#FFFFFF"> 
      <div align="center"> 
        <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#000000">Sua 
          fofoca foi incluida no sistema!</font></p>
        <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"><a href="index.php"><< 
          Voltar</a></font></p>
      </div>
    </td>
  </tr>
</table>
</body>
</html>

tem algo errado no codigo de salvar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

$imagem é int.

Retire aspas.

Coloque um or die ("erro ao inserir";)

 

 

 $comando="insert into fofoca(nick,email,titulo,imagem,fofoca) 
     values('$nick','$email','$titulo',$imagem,'$fofoca')" or die ("erro ao inserir"); 

 

Use o charset UTF-8

 


<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a2953972/public_html/noticia/index.php on line 25

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a2953972/public_html/noticia/index.php on line 27

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a2953972/public_html/noticia/index.php on line 91

 

deu esses erros.. oq fazer?

 

@edit: e se eu quiser colocar as noticias dentro de uma pagina (div) como ficaria o codigo para colocar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você nem parou pra ver esse trecho do arquivo index.php

 

...
 $conexao = mysql_connect("localhost","login","senha");
...

 

localhost está ok.

login : seu nome de usuário(normalmente o user é root)

senha : a senha para conectar ao banco

 

 

Recomendo criar um script(.php) de conexão e inserir os dados a seguir:

 

$conexao = mysql_connect ("localhost","login","senha"); //altere login e senha
$base=mysql_select_db("dbname",$conexao); //dbname é o nome do seu banco de dados
mysql_query("SET NAMES 'utf8'");//para evitar erros de acentuação(leia OBS1 no fim deste post)

Criado esse arquivo(de o nome que quiser) e em cada pagina que conter o trecho acima, substitua

nos arquivos index.php e recebe.php o trecho:

 

$conexao = mysql_connect ("localhost","login","senha"); 
$base=mysql_select_db("dbname",$conexao); 

 

Por

 

include("seuarquivo.php");//seuarquivo.php trata-se do code acima

 

 

 

Em seguida leia:

www.php.net/manual/pt_BR/function.mysql-fetch-array.php

 

Veja os exemplos 2 e 3. Repare que faz-se um looping para exibir os resultados(looping).

 

 

 

OBS1

 

Para evitar erros de acentuação, ler:

 

http://ramonrdm.wordpress.com/2011/02/24/php-mysql-e-utf-8-o-guia/

 

http://sistemas.fernandopetry.com.br/category/sql/mysql/

 

E também repito

 

Use o charset UTF-8

 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

 

Não tenha preguiça leia cada item com calma .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu coloquei os arquivos originais aqui.. localhost, login e senha está configurado corretamente, criei outro arquivo porém permanece o mesmo erro, e sim estou usando o charset UTF-8 .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o admin você usa(phpmyadmin,sqlbuddy webgrind)?

 

 

www.php.net/manual/pt_BR/function.mysql-fetch-array.php

 

Veja os exemplos 2 e 3. Repare que faz-se um looping para exibir os resultados(looping).

Compartilhar este post


Link para o post
Compartilhar em outros sites

em recebe.php está faltando declarar as variaveis, assim:

$nick=$_POST['nick'];
$email=$_POST['email'];
$titulo=$_POST['titulo'];
$fofoca=$_POST['fofoca'];

note q vc está usando uma variavel ($imagem) que eu n sei d onde vem.

 

a query sugiro que escreva assim:

$comando=mysql_query("insert into fofoca(nick,email,titulo,fofoca) values('$nick','$email','$titulo','$fofoca')");

 

e nas linhas de conexão verifique se há algum problema c/ o comando or die(mysql_error())

Compartilhar este post


Link para o post
Compartilhar em outros sites

em recebe.php está faltando declarar as variaveis, assim:

$nick=$_POST['nick'];
$email=$_POST['email'];
$titulo=$_POST['titulo'];
$fofoca=$_POST['fofoca'];

note q vc está usando uma variavel ($imagem) que eu n sei d onde vem.

 

a query sugiro que escreva assim:

$comando=mysql_query("insert into fofoca(nick,email,titulo,fofoca) values('$nick','$email','$titulo','$fofoca')");

 

e nas linhas de conexão verifique se há algum problema c/ o comando or die(mysql_error())

Declarei as variaveis, reescrevi a query, e as linhas de comando está tudo certo, mas ainda continua com o mesmo erro :(

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.