Ir para conteúdo
Fórum Script Brasil
  • 0

Contador De Comentários


Felipedcb

Pergunta

Galera, tenho que fazer um script estilo "Fotolog" para um site de Fotos aew sem usar Banco de Dados, tah já fiz praticamente tudo o único problema, são os infinitos comentários, vou postar parte do código.

Teria como eu colocar tipo um FOR antes do "IF (fwrite($...." para o código registrar somente 50 comentários?

<?PHP

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

$data2 = date("d-m-Y");

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

$nick = $_POST['nick'];

$url = $_POST['url'];

$comentario = $_POST['comentario'];

$comentarios = fopen("Arquivos/".$data2.".txt","a");

IF (fwrite($comentarios,"<font face='Verdana' size='2'><a href='$url'>$nick</a> $data - $hora<br><i>$comentario</i></font><br><hr>"))

{

  fclose($comentarios);

  ?>

  <script>

    alert ("A comentário foi registrado com sucesso!");

  </SCRIPT>

  <?

  echo ("<script>location.href='Arquivos/$data2.php'</script>");

   

}

ELSE

{

  ?>

  <script>

    alert ("O comentário não pode ser registrado!");

  </SCRIPT>

  <?

  echo ("<script>location.href='Arquivos/$data2.php'</script>");

}

?>

<HTML>

Essa página não pode ser visualizada

</HTM>

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

você pode fazer algo +- assim :

o sistema conta as linhas e verifica acima de 50 ele não grava mais

no seu caso se não der pra usar linhas você pode pensar em outra coisa com base nessa ideia

<?

$arquivo = "arquivo.txt";

function conta_linhas($arq) {

  $qtdLin = 0;

  if (file_exists($arq)) {

    $fp = fopen($arq, "r");

    do {

      fgets($fp, 256);

      $qtdLin++;

    } while (!feof($fp));

  }

  return $qtdLin;

}

$conta = conta_linhas($arquivo);

$fp = fopen($arquivo, "a+"); 

if($conta <= 50){

 

fwrite($fp, "comentarios\r\n");

fclose($fp);

exit;

}

else{

echo "você não pode mais comentar";

exit;

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0
você pode fazer algo +- assim :

o sistema conta as linhas e verifica acima de 50 ele não grava mais

no seu caso se não der pra usar linhas você pode pensar em outra coisa com base nessa ideia

<?

$arquivo = "arquivo.txt";

function conta_linhas($arq) {

  $qtdLin = 0;

  if (file_exists($arq)) {

    $fp = fopen($arq, "r");

    do {

      fgets($fp, 256);

      $qtdLin++;

    } while (!feof($fp));

  }

  return $qtdLin;

}

$conta = conta_linhas($arquivo);

$fp = fopen($arquivo, "a+"); 

if($conta <= 50){

  

fwrite($fp, "comentarios\r\n");

fclose($fp);

exit;

}

else{

echo "você não pode mais comentar";

exit;

}

?>

mais fabyo, ele quer poder limitar a 50 comentarios, não a 50 linhas

um comentario deve ter mais de 1 linha =]]

o melhor jeito seria mesmo dar ids aos comentarios, não ?

falou

Link para o comentário
Compartilhar em outros sites

  • 0
Mas não teria como, antes de gravar o comentário definir uma variavel, quando o comentário fosse salvo, ele gravava o valor da variavel+1 até chegar em 50?

Mas como posso colocar IDs?

então cara essa "variavel" seria o contador que o fabyo sugerio, mais não poderia ser uma var, teria que ser um outro arquivo no caso...

colocar ids? iria ter que mudar a logica do seu script, poderia fazer tipo assim: para cada post novo criar uma pasta com o id do post, exmplo:

post 1 = 1.dir

post 2 = 2.dir

assim vai....

ae dentro da pasta voce poe os comentarios... para aproveitar o que voce fez poderia ser:

$id . "-" . $data2 . ".txt"

ae ficaria

1-data.txt

2-data.txt

assim vai...

para contar somar 1 no id, a logica seria, varre o diretorio do post e conta quantos tem e soma 1, é bem facil de fazer cara !

falou

Link para o comentário
Compartilhar em outros sites

  • 0

A idéia é ótima, mas se eu começar a separar os comentários por pasta, eu vou ter que mudar o sistema todo ihaiahiua, mas tem q ter uma forma mais simples de fazer, pelomenos eu acho. Não teria como eu usar estrutura de repetição não? tipo assim:

<?PHP

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

$data2 = date("d-m-Y");

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

$nick = $_POST['nick'];

$url = $_POST['url'];

$comentario = $_POST['comentario'];

$contador = (0);

$comentarios = fopen("Arquivos/".$data2.".txt","a");

If ($contador => 50)

{

$contador == ($contador+1);

IF (fwrite($comentarios,"<font face='Verdana' size='2'><a href='$url'>$nick</a> $data - $hora<br><i>$comentario</i></font><br><hr>"))

{

  fclose($comentarios);

  ?>

  <script>

    alert ("A comentário foi registrado com sucesso!");

  </SCRIPT>

  <?

  echo ("<script>location.href='Arquivos/$data2.php'</script>");

   

}

ELSE

{

  ?>

  <script>

    alert ("O comentário não pode ser registrado!");

  </SCRIPT>

  <?

  echo ("<script>location.href='Arquivos/$data2.php'</script>");

}

}

?>

<HTML>

Essa página não pode ser visualizada

</HTM>

Tipo eu sei que isso q eu fiz não vai funcionar, porque toda vez que o script for executado a variavel contador vai receber 0 como valor.

Mas não dá pra fazer mais menos assim não? sad.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...