fsphp Postado Dezembro 28, 2004 Denunciar Share Postado Dezembro 28, 2004 Como é que eu trabalho com uma variável dentro do campo "textarea"?Por exemplo, eu tenho um formulário e um dos campos é um textarea, que eu quero que já contenha uma informação dentro.$conteudo = Primeira linha.\r\nSegunda linha.\r\nTerceira linha.\r\nQuarta linha.\r\n;form_conteudo.html<form method=post action=muda_conteudo.php><textarea cols="20" rows="20">$conteudo</textarea></form>Quando eu entrar nessa página, o conteúdo já vai aparecer dentro da textarea. Aí eu excluo a "Terceira linha." e coloco no lugar uma "Nova linha."Daí eu vou na pagina visualiza_conteudo.htm e vejo o seguinte:Primeira linha.Segunda linha.Nova linha.Quarta linha.Como eu devo coordenar a variável $conteudo para que isso seja possível? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Dezembro 28, 2004 Denunciar Share Postado Dezembro 28, 2004 tenta assim:$conteudo="Primeira linha<br>Segunda linha<br>Terceira linha<br>Quarta Linha"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 28, 2004 Autor Denunciar Share Postado Dezembro 28, 2004 Não é isso. Eu quero visualizar esse conteúdo dentro do campo textarea na página que tem esse formulário e fazer a auteração nele para visualizar em "visualiza_conteudo.htm", com a "Nova linha" inserida lá dentro, no lugar da que eu apaguei. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Dezembro 28, 2004 Denunciar Share Postado Dezembro 28, 2004 Certo... e a sua dificuldade está em que parte específica do sistema? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 29, 2004 Autor Denunciar Share Postado Dezembro 29, 2004 Vamos por partes. Nesse caso teremos três páginas (para não complicar fazendo o form junto com a página que processará suas informações).Na página do form_conteudo.php, teremos um campo com a variável conteúdo assim:<textarea rows=20 cols=20>$conteudo</textarea>Depois teremos a página visualiza_conteudo.php que vai mostrar o que eu escrevi no form. Digamos que vai aparecer:Dia 29 (quarta) - Filé de abadejo com fritasDia 30 (quinta) - Frango à passarinho com pure de batataDia 31 (sexta) - Camarão na moranga com arroz a gregaQuando eu voltar para a página form_conteudo.php, dentro da textarea, vou encontrar esse mesmo cardápio. Se eu quiser fazer uma alteração nele, é só "substitutir" o novo texto em cima, por exemplo:Dia 29 (quarta) - Filé de abadejo com fritasDia 30 (quinta) - Frango xadrez com polentaDia 31 (sexta) - Camarão na moranga com arroz a gregaCom isso, quando eu for para a página visualiza_conteúdo.php, eu verei o novo cardapio. Se tiver algo de errado, não preciso redigir tudo novamente e pedir para o php substituir o conteúdo antigo pelo novo. Basta alterar apenas o que for necessário.1- Essa de formulário ela tem que ter extensão .php pois está trabalhando com variáveis. Agora, eu devo fazer a declaração da super global $_POST['conteudo'] nessa página?2- Vou declarar globalmente a $conteúdo, dentro da função que fará a atualização no banco de dados, certo? É mais ou menos aqui que está um 'enrosco". Eu não consegui atribuir um valor à essa variável. Fiz assim:$todo_conteudo = mysql_query("SELECT * FROM cardapio");while($dados= mysql_fetch_array($todo_conteudo){$conteudo = $dados[0];echo "$conteudo<br>";global $conteudoEstá certo isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 29, 2004 Autor Denunciar Share Postado Dezembro 29, 2004 Aí pessoal, agora corrigi meu post acima. Eu tinha colocado errado pois estou tentando fazer com o while (acima) e tentei também utilizando "for" com mysql_fetch_rows.Alguém entendeu minha dúvida? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Dezembro 29, 2004 Denunciar Share Postado Dezembro 29, 2004 Cara... ainda não entendi a dificuldade...1º. Da onde vem essa informação que aparece na textarea? De um banco de dados? Todo o conteúdo é um campo do banco de dados? Cada linha é um campo do banco de dados?Porque você, simplesmente, quando for atualizar o conteúdo pega todo o conteúdo da textarea e passa por cima do que estava gravado antes? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 29, 2004 Autor Denunciar Share Postado Dezembro 29, 2004 1º. Da onde vem essa informação que aparece na textarea? De um banco de dados? Todo o conteúdo é um campo do banco de dados? Cada linha é um campo do banco de dados?Essa informação pode vir de um bnco de dados, sendo de um campo só.Pode ser uma ou várias linhas dentro desse campo.Também pode ser utilizado arquivos .txt.Só que não sei o que é melhor.Porque você, simplesmente, quando for atualizar o conteúdo pega todo o conteúdo da textarea e passa por cima do que estava gravado antes? Se for um cardápio de restaurante, com pratos diários, pode ser que eu queira alterar o prato de um dia ou outro.Se tiver 30 dias, são trinta pratos, certo?Para mudar um ou dois pratos, o ideal seria ir nesse formulário e já encontrar o texto todo lá dentro ($conteudo), daí que eu mudo só a linha que desejar.Fui mais claro agora? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Dezembro 29, 2004 Denunciar Share Postado Dezembro 29, 2004 Foi... mas a minha pergunta continua.Pensa na situação... vocêm um registro contendo o seguinte:Dia 29 (quarta) - Filé de abadejo com fritasDia 30 (quinta) - Frango à passarinho com pure de batataDia 31 (sexta) - Camarão na moranga com arroz a gregaCerto? então você joga isso dentro de uma textarea...A textarea fica com o conteúdo:Dia 29 (quarta) - Filé de abadejo com fritasDia 30 (quinta) - Frango à passarinho com pure de batataDia 31 (sexta) - Camarão na moranga com arroz a gregaMas aí você altera o conteúdo da textarea pra:Dia 29 (quarta) - Filé de abadejo com fritasDia 30 (quinta) - Frango xadrez com polentaDia 31 (sexta) - Camarão na moranga com arroz a gregaO que você tem a fazer é pegar todo esse conteúdo e gravar por cima do registro antigo. Não? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 29, 2004 Autor Denunciar Share Postado Dezembro 29, 2004 É isso mesmo. Mas também quero que o novo conteúdo apareça na textarea da próxima vez que eu for lá. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Dezembro 29, 2004 Denunciar Share Postado Dezembro 29, 2004 Mas o novo conteúdo sobrescreveria o velho, ué. Então ficaria como da 1ª vez que você abriu a página.estou achando que você tá com alguma dificuldade pra entender como funciona a interação do PHP com banco de dados... O que você não entendeu ainda como fazer? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 29, 2004 Autor Denunciar Share Postado Dezembro 29, 2004 Acho que a pedra no meu sapato é a variável $conteudo dentro da textarea. nunca usei assim e estou achando meio confuso.<textarea rows=20 cols=20>$conteudo</textarea>Como é que eu vou declarar ela como $_POST['conteudo'] e ao mesmo tempo ela será atualizada na página do form... essas coisas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Dezembro 29, 2004 Denunciar Share Postado Dezembro 29, 2004 Como é que eu vou declarar ela como $_POST['conteudo'] e ao mesmo tempo ela será atualizada na página do form... essas coisas.Como assim? Ela funciona exatamente como um <input type='text'>, se você coloca alguma coisa escrita entre as tags que abrem e fecham ela, é como se você tivesse colocado alguma coisa no value='' de um campo normal.Não entendi esse "ao mesmo tempo ser atualizada"... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 30, 2004 Autor Denunciar Share Postado Dezembro 30, 2004 Eu não tenho que declarar as super-globais para trabalhar com variãveis enviadas por um formulário?$conteudo = $_POST[´conteudo'];No caso dessa outra página que envia o formulário, e que tem a variável dentro do input, no campo value, não preciso fazer a declaração da super-global? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Dezembro 30, 2004 Denunciar Share Postado Dezembro 30, 2004 Eu não tenho que declarar as super-globais para trabalhar com variãveis enviadas por um formulário?Sim, tem...No caso dessa outra página que envia o formulário, e que tem a variável dentro do input, no campo value, não preciso fazer a declaração da super-global? Precisa fazer na página que recebe o formulário. Essa página que recebe o formulário vai gravar no banco.A página que cria a textarea vai puxar os valores do banco...Veja esse esquema:A: página que exibe o formulárioB: página que recebe o formulárioC: banco de dados1- C manda informação para A2- A manda informação para B3- B manda informação para C1- C manda informação para A...E o clico se repeteEntendeu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 30, 2004 Autor Denunciar Share Postado Dezembro 30, 2004 Acho que entendi sim. No caso da página do formulário, claro, não precisa declarar a super-global, pois não está recebendo o dado do form, está apenas recebendo do banco.Então nessa página do form eu tenho que fazer a conexão com o banco de dados, certo? Antes ou depois do form? Ou tanto faz? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Dezembro 30, 2004 Denunciar Share Postado Dezembro 30, 2004 Isso... tem que fazer a conexão...Tem que fazer antes, né... senão como você vai saber como preencher o form? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 30, 2004 Autor Denunciar Share Postado Dezembro 30, 2004 Acho que é isso. Quando eu voltar de viagem vou alterar os scripts no meu pc e ver no que dá. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Janeiro 14, 2005 Autor Denunciar Share Postado Janeiro 14, 2005 Agora está funcionando o programinha, mas de forma deficiente. Dentro do "textarea" do formulário já está aparecendo o conteúdo que foi enviado ao banco de dados e é feito o UPDATE desse conteúdo toda vez que o formulário é reenviado com as auterações.O que está deficiente é o seguinte:1) Quando consulto a página que vai mostrar os "AVISOS", o programa está repetindo o conteúdo em duplicidade.2) O conteúdo mostrado está sendo colocado todo ele numa mesma linha, e não da forma espaçada como foi digitada no textarea.3) Toda vez que eu vou no formulário, a primeira linha é delocada para a esquerda, como se digitasse TAB.Segue abaixo os scripts:=================form_mural_avisos.php================<?phpinclude "include.php";$seleciona_recados = mysql_query("SELECT mural_recados FROM recados");$recados = mysql_result($seleciona_recados, 0, "mural_recados");?><table width="750" border="0" cellspacing="1" cellpadding="1"> <tr> <td><table width="750" border="0" cellspacing="1" cellpadding="1"> <tr> <td> </td> </tr> <tr> <td class="verdanavermelho18bold"><div align="center">MURAL DE AVISOS</div></td> </tr> <tr> <td><P align="center"><a href="mural_de_avisos.php">VOLTAR</a></P></td> </tr> <tr> <td><form name="form1" method="post" action="insere_aviso.php"> <textarea name="mural_recados" cols="50" rows="10"> <?php echo "$recados"; ?> </textarea> <br> <input type="submit" name="Submit" value="ENVIAR"> <input type="submit" name="Submit2" value="APAGAR"> </form>=============insere_avisos.php=============<?phpinclude "include.php";$mural_recados = $_POST['mural_recados'];mysql_query("UPDATE recados SET mural_recados = '$mural_recados'")or die("Não foi possível anotar o recado!");?><html><head><title>Documento sem título</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><p align="center"><a href="form_mural_avisos.php">VOLTAR</a></p></body></html>===============mural_de_avisos.php===============<html><head><title>MURAL DE AVISOS</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link href="muralcultural_teste_ycom.css" rel="stylesheet" type="text/css"></head><body bgcolor="#FFCC66" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"><table width="750" border="0" cellspacing="1" cellpadding="1"> <tr> <td><table width="750" border="0" cellspacing="1" cellpadding="1"> <tr> <td> </td> </tr> <tr> <td class="verdanavermelho24bold"><div>MURAL DE AVISOS</div></td> </tr> <tr> <td><p><a href="administra_avisos.htm">VOLTAR</a></p></td> </tr> <tr> <td><?phpinclude "include.php";$seleciona_recados = mysql_query("SELECT mural_recados FROM recados");$resultado = mysql_fetch_array($seleciona_recados);//$linhas = mysql_num_rows($seleciona_recados);foreach($resultado as $elemento) { echo "<p><font face=\"verdana\" color=\"0000ff\" size=\"2\"><b>$elemento</b></font><br>"; }//echo "$resultado<br>";?> </td> </tr> <tr> <td> </td> </tr> </table></td> </tr></table></body></html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 danielpc Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 Quanto aos seus problemas:1) Quando consulto a página que vai mostrar os "AVISOS", o programa está repetindo o conteúdo em duplicidade.No arquivo mural_de_avisos.php deixe assim: <?phpinclude "include.php";$seleciona_recados = mysql_query("SELECT mural_recados FROM recados");$resultado = mysql_fetch_array($seleciona_recados);//$linhas = mysql_num_rows($seleciona_recados);while($aviso = $resultado) { echo "<p><font face='verdana' color='0000ff' size='2'><b>".$aviso["mural_recados"]."</b></font><br>";}?> 2) O conteúdo mostrado está sendo colocado todo ele numa mesma linha, e não da forma espaçada como foi digitada no textarea.Em um textarea toda vez que se tecla enter, esse "enter" é enviado como "\n", mas como na exibição o código é html esses "\n" devem ser convertidos para "<br>". Assim:No arquivo insere_avisos.php conserte a seguinte linha:$mural_recados = $_POST['mural_recados];para deixá-la assim:$mural_recados = nl2br($_POST['mural_recados']);Essa função nl2br() converte os "\n" para "<br>"-----------------------------------------------------------Quanto a sua terceira dúvida não sei o que possa ser. Espero ter ajudado. Um abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Janeiro 16, 2005 Autor Denunciar Share Postado Janeiro 16, 2005 Valeu a força Daniel, mas não funcionou.A função nl2br() fez com que fossem inseridos "<br>" na textarea do formulário, toda vez que eu acessava essa página. Cada vez que eu enviava um novo recado, esses <br> passavam para o Mural de Recados ....Quanto ao while(), ele gerou um loop ininterrupto. O que eu não estou conseguindo fazer é o seguinte: inserir um texto formatado no banco de dados e depois exibí-lo no navegador, também formatado. O pior é que sei que é fácil, só não sei fazer como e acho que não estou conseguindo ser claro na minha explicação. Não sei se deu para entender? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Janeiro 19, 2005 Autor Denunciar Share Postado Janeiro 19, 2005 Aí pessoal,Com banco de dados não acertei fazer. Mas consegui usando arquivos .txt. Foi a melhor saída que encontrei e funcionou direitinho.Valeu a força galera. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fsphp
Como é que eu trabalho com uma variável dentro do campo "textarea"?
Por exemplo, eu tenho um formulário e um dos campos é um textarea, que eu quero que já contenha uma informação dentro.
$conteudo = Primeira linha.\r\nSegunda linha.\r\nTerceira linha.\r\nQuarta linha.\r\n;
form_conteudo.html
<form method=post action=muda_conteudo.php>
<textarea cols="20" rows="20">$conteudo</textarea></form>
Quando eu entrar nessa página, o conteúdo já vai aparecer dentro da textarea. Aí eu excluo a "Terceira linha." e coloco no lugar uma "Nova linha."
Daí eu vou na pagina visualiza_conteudo.htm e vejo o seguinte:
Primeira linha.
Segunda linha.
Nova linha.
Quarta linha.
Como eu devo coordenar a variável $conteudo para que isso seja possível?
Link para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados
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.