Ir para conteúdo

POWERED BY:

Arquivado

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

TiagoMaker

De formulário para XML

Recommended Posts

Dae galera, minha dúvida é a seguinte:

 

Estou fazendo um sistema de narração em tempo real sem banco de dados, apenas usando variáveis e formulários para editá-las, mas agora chegou a hora de fazer a parte para inserir e editar as narrações, o que eu preciso fazer é um formulário que voce digita as frases, ele envia para um txt ou xml para que eu exiba na página principal...

 

o projeto está em: http://www.solucaors.com.br/paixaotricolor/aovivo/

 

espero q possam me ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
$filename = 'teste.txt';
$conteudo = "Acrescentar isso ao arquivo\n";

// Primeiro vamos ter certeza de que o arquivo existe e pode ser alterado
if (is_writable($filename)) {

	// Em nosso exemplo, nós vamos abrir o arquivo $filename
	// em modo de adição. O ponteiro do arquivo estará no final
	// do arquivo, e é pra lá que $conteudo irá quando o 
	// escrevermos com fwrite().
	if (!$handle = fopen($filename, 'a')) {
		 echo "Não foi possível abrir o arquivo ($filename)";
		 exit;
	}

	// Escreve $conteudo no nosso arquivo aberto.
	if (fwrite($handle, $conteudo) === FALSE) {
		echo "Não foi possível escrever no arquivo ($filename)";
		exit;
	}

	echo "Sucesso: Escrito ($conteudo) no arquivo ($filename)";

	fclose($handle);

} else {
	echo "O arquivo $filename não pode ser alterado";
}
?>

Como eu coloco isso em um formulário, para mim escolher o que digitar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variavel $conteudo poderia vir de um formulario...

No caso.. algo como:

<?php
$filename = 'teste.txt';
$conteudo = $_POST['conteudo']; // aqui você puxa do formulário, do campo conteúdo...
// restante...
?>

A ação do formulario apontaria para esse script de edição etc, você poderia dar um include na textarea do formulário, caso quisesse sempre manter o conteúdo anterior entende? Você da um include no arquivo TXT e vai sempre editar partindo dele...

 

É uma ideia apenas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como disse você pode tentar trabalhar com TAGs HTML, um sisteminha próprio, onde, quando tratados os dados em um script, seja trocado pelo valor HTML correto e aplicado no conteudo da página de forma funcional.

 

Geralmente as pessoas utilizam scripts anti_injection que irão, sem dúvidas, bloquear caracteres HTML ou comandos SQL, etc...

Ou seja, o melhor é criar um sistema próprio de conversão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eheheeh eu esqueci de dize que sou iniciante, e estou fazendo todo sistema só com variáveis, sem mysql

 

eheheeh eu esqueci de dize que sou iniciante, e estou fazendo todo sistema só com variáveis, sem mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele me retorna esse erro quando executo o código...

 

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/solucao/public_html/paixaotricolor/aovivo/admin/narracoes.php on line 9

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?php
$filename = 'teste.txt';
$conteudo = "$_POST['conteudo']";

// Primeiro vamos ter certeza de que o arquivo existe e pode ser alterado
if (is_writable($filename)) {

	// Em nosso exemplo, nós vamos abrir o arquivo $filename
	// em modo de adição. O ponteiro do arquivo estará no final
	// do arquivo, e é pra lá que $conteudo irá quando o 
	// escrevermos com fwrite().
	if (!$handle = fopen($filename, 'a')) {
		 echo "Não foi possível abrir o arquivo ($filename)";
		 exit;
	}

	// Escreve $conteudo no nosso arquivo aberto.
	if (fwrite($handle, $conteudo) === FALSE) {
		echo "Não foi possível escrever no arquivo ($filename)";
		exit;
	}

	echo "Sucesso: Escrito ($conteudo) no arquivo ($filename)";

	fclose($handle);

} else {
	echo "O arquivo $filename não pode ser alterado";
}
?> 
<body>
</body>
</html>

ele me retorna esse erro quando executo o código...

 

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/solucao/public_html/paixaotricolor/aovivo/admin/narracoes.php on line 9

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?php
$filename = 'teste.txt';
$conteudo = "$_POST['conteudo']";

// Primeiro vamos ter certeza de que o arquivo existe e pode ser alterado
if (is_writable($filename)) {

	// Em nosso exemplo, nós vamos abrir o arquivo $filename
	// em modo de adição. O ponteiro do arquivo estará no final
	// do arquivo, e é pra lá que $conteudo irá quando o 
	// escrevermos com fwrite().
	if (!$handle = fopen($filename, 'a')) {
		 echo "Não foi possível abrir o arquivo ($filename)";
		 exit;
	}

	// Escreve $conteudo no nosso arquivo aberto.
	if (fwrite($handle, $conteudo) === FALSE) {
		echo "Não foi possível escrever no arquivo ($filename)";
		exit;
	}

	echo "Sucesso: Escrito ($conteudo) no arquivo ($filename)";

	fclose($handle);

} else {
	echo "O arquivo $filename não pode ser alterado";
}
?> 
<body>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa linha:

$conteudo = "$_POST['conteudo']";
Não coloque as " " entre o $_POST, senão não retornará o valor do formulário.

 

Você deve usar como coloquei na demonstração:

$conteudo = $_POST['conteudo'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tinha feito assim: $conteudo = "$_POST[conteudo]"; e deu certo oO

 

bom, consegui inserir os dados no txt... mas a cada dado q insiro ele vai colocando tudo na mesma linha... como posso faze uma quebra de linha pra cada inserção e tem como formata fonte?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tinha feito assim: $conteudo = "$_POST[conteudo]"; e deu certo oO

Sim, da certo mas ai o valor de $conteudo seria "$_POST[conteudo]" e não o que vem do formulário entende?

Você tem que criar um formulario, com textarea tendo id denominado conteudo, esse script puxa....

 

Para quebra de linha use nl2br:

http://www.php.net/nl2br

 

Sobre a fonte... você edita no proprio HTML, não é essa a ideia? Adicionar num TXT para usar no site posteriormente, lá você faz um PHP assim dentro do corpo:

<?php
include("teste.txt");
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ta complicado eheheheh, sou muito iniciante mesmo...

 

http://solucaors.com.br/paixaotricolor/aovivo/

 

como da pra ver, eu não sei onde colocar esse comando pra dar a quebra de linha...

 

eu estou com 3 arquivos:

 

narracao.php - insere as narrações

narracoes.php - exibe as narracoes

grava.php - onde ficam armazenadas (achei ser melhor que o txt)

 

alguem me ajuda, ja to ficando tonto aqui... ahuahua

Compartilhar este post


Link para o post
Compartilhar em outros sites

No arquivo narracao.php já tens o formulario e tudo já né? Já está adicionando? Seu problema está sendo, basicamente, na quebra de linha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso, como pode ver no link... na parte de narração... ja estao aparecendo os comentario que eu adicionei, mas não sei onde colocar o <br /> para que cada informação vá em outra linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, fiz o seguinte para você:

<html><body>
<?php
$arquivo = "base_dados.php";
$conteudo = $_POST['conteudo'];
if(!empty($conteudo))
{
 if (is_writable($arquivo)) 
 {
	if (!$handle = fopen($arquivo, 'a')) 
	{
		 echo("Não foi possível acessar a base de dados!");
		 exit;
	}
	if (fwrite($handle, "</br>$conteudo") === FALSE) 
	{
		echo("Não foi possível adicionar à base de dados!");
		exit;
	}
	echo("Novo conteúdo adicionado com sucesso!");
	fclose($handle);
	} 
	else{echo("Não foi possível adicionar à base de dados!");}
}
?>
<br>------------------<br>
<?php include("$arquivo"); ?>
<form name="gravar" method="post" action=""><p><textarea name="conteudo" cols="30" rows="4" id="conteudo"></textarea> <input type="submit" name="Submit" value="Gravar"></form></body></html>

Obs: crie um arquivo vazio chamado base_dados.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Disponha, espero que tenha entendido =), não passei o código antes que era para você quebrar a cuca hehehe..

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.