Ir para conteúdo

POWERED BY:

Arquivado

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

Tempter

TextBox ou Iframe ?

Recommended Posts

Como a dúvida de fazer login já foi resolvida, decidi agora avançar com o meu script,

Pessoal é o seguinte, eis o que estou tentando fazer:

 

 

INDEX.PHP: Aonde será mostrado o conteúdo do MENU1.PHP e do MENU2.PHP

PHP

[*]

[*]<html>

[*]<body>

[*]

[*]<?php

[*] $menu1 = implode ('', file ('menu1.php'));

[*] echo $menu1

[*]?>

[*]

[*]<br>

[*]<br>

[*]

[*]<?php

[*] $menu2 = implode ('', file ('menu2.php'));

[*] echo $menu2

[*]?>

[*]

[*]</body>

[*]</html>

[*]

 

 

MENU1.PHP: Um conteúdo qualquer (não necessáriamente um menú)

PHP

[*]

[*]<table>

[*] <td>

[*] <A href="http://site.com.br/primeiro.php">Primeiro</A><br>

[*] <A href="http://site.com.br/segundo.php">Segundo</A><br>

[*] <A href="http://site.com.br/terceiro.php">Terceiro</A><br>

[*] <A href="http://site.com.br/quarto.php">Quarto</A><br>

[*] </td>

[*]</table>

[*]

 

 

 

MENU2.PHP: Um conteúdo qualquer (não necessáriamente um menú)

PHP

[*]

[*]<table>

[*] <td>

[*] <A href="http://site.com.br/quinto.php">Quinto</A><br>

[*] <A href="http://site.com.br/sexto.php">Sexto</A><br>

[*] <A href="http://site.com.br/setimo.php">Sétimo</A><br>

[*] <A href="http://site.com.br/oitavo.php">Oitavo</A><br>

[*] </td>

[*]</table>

[*]

 

 

 

SISTEMA.PHP: Aonde eu vou poder alterar o conteúdo do MENU1.PHP e do MENU2.PHP

PHP

[*]

[*]<html>

[*]<body>

[*]

[*]<?php

[*]$username = "usuario";

[*]$password = "senha";

[*]

[*]if ($_SERVER["PHP_AUTH_USER"] != $username || $_SERVER["PHP_AUTH_PW"] != $password) {

[*]header("WWW-Authenticate: basic realm='Área Protegida'");

[*]header("HTTP/1.0 401 Unauthorized");

[*]echo "Está é uma área restrita!";

[*]exit;

[*]}else{

[*]echo "PARABÉNS";

[*]}

[*]?>

[*]

[*]<br>

[*]<br>

[*]

[*]CONTEÚDO

[*]

[*]</body>

[*]</html>

[*]

 

 

Agora o que eu preciso é o seguinte, como fazer para que no SISTEMA.PHP, no local marcado como CONTEÚDO me apareça 2 campos, um abrindo o contedo do MENU1.PHP e o outro do MENU2.PHP, tipo IFRAMES, TEXTBOX sei lá, o que eu não sei como fazer é isso, como eu posso ter algo que me abra estes dois arquivos e me deixe alterá-los ?

 

Quem puder ajudar com meus estudos eu agradeço muito.

Obrigado

 

Obs: se alguem tiver conhecimento de como afzer o que eu pretendo, de uma forma melhor, eu agradeço :)

 

Cleber

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei abrir com IFRAME mas só abre em vizualização, não deixa eu editar e ou salvar as alterações :/Alguma idéia ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu consigo abrir o arquivo agora... mas eu altero ele, fecho, e as alterações não ficam salvas...que função eu deveria usar pra conseguuir abrir, alterar e manter salvo no srvidor ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, abri com permissão de escrita, mas não estou conseguindo fazer o que pretendia... que é abrir os dois arquivos lá, MENU1 e MENU2 em duas telas tipo TEXTBOX ou IFRAMES para poder editar e ali memso salvar... fazendo edição remota sabe ?O que devo fazer para funcionar assim ?Obs: valeu pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui eu abro um campo de texto pra escrever o que eu quero...

 

// INSERIR

PHP

[*]

[*] <FORM ACTION="atualizar.php" METHOD="POST" NAME="atualizar">

[*] <TEXTAREA NAME="txt_atualizar" COLS="40" ROWS="5"></TEXTAREA><BR><BR>

[*] <INPUT TYPE="submit" NAME="submit" VALUE="Gravar no TXT"><BR>

[*] </FORM>

[*]

 

 

Ao clicar no botão o conteúdo é incluido no arquivo TXT

 

// ATUALIZAR

PHP

[*]

[*] <?

[*] //PEGA OS DADOS ENVIADOS PELO FORMULÁRIO

[*] $conteudo = $_POST["txt_atualizar"];

[*]

[*] //ARQUIVO TXT

[*] $arquivo = "arquivo.txt";

[*]

[*] //TENTA ABRIR O ARQUIVO TXT

[*] if (!$abrir = fopen($arquivo, "a")) {

[*]  echo "Erro abrindo arquivo ($arquivo)";

[*]  exit;

[*] }

[*]

[*] //ESCREVE NO ARQUIVO TXT

[*] if (!fwrite($abrir, $conteudo)) {

[*] print "Erro escrevendo no arquivo ($arquivo)";

[*] exit;

[*] }

[*]

[*] echo "Arquivo gravado com Sucesso !!";

[*]

[*] //FECHA O ARQUIVO

[*] fclose($abrir);

[*] ?>

[*]

 

 

Eu não sei esta parte...

 

// ALTERAR

PHP

[*]

[*]?????

[*]

 

 

Como eu abro meu arquivo de texto no campo de TEXTO que eu criei no form ? e com isso poder atualizar seu conteúdo ? sei que tenho que dar permissão pra gravação no arquivo e etc, mas como eu chamo ele pra ser vizualizado dentro do FORM ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abra o arquivo e leia o conteudo dele pra uma variavel, vamos supor $teste.Ai na hora que tu vai escrever o textarea em html tu faz o seguinte:<textarea name='blablabla' value='$teste'>Pelo que entendi é isso que você quer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah ta é isso ?

mas então eu tenho que tirar as linhas:

 

PHP

[*]

[*] //TENTA ABRIR O ARQUIVO TXT

[*] if (!$abrir = fopen($arquivo, "a")) {

[*]  echo "Erro abrindo arquivo ($arquivo)";

[*]  exit;

[*]

 

da minha ATUALIZAR.PHP e colocar na INSERIR.PHP ... certo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que esta linha de abrir o arquivo e ler vai ter que ter em ambos... No atualizar para ler o arquivo e gravar os dados atualizados no arquivo, e no inserir para ler e colocar os dados do arquivo no textarea...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz, mas deu erro :/

 

veja só:

 

form.php

PHP

[*]

[*]<html>

[*]<body>

[*]

[*] <?

[*] //ARQUIVO TXT

[*] $arquivo = "arquivo.txt";

[*]

[*] //TENTA ABRIR O ARQUIVO TXT

[*] if (!$abrir = fopen($arquivo, "w")) {

[*]  echo "Erro abrindo arquivo ($arquivo)";

[*]  exit;

[*] }

[*]

[*] ?>

[*]

[*] <FORM ACTION="atualizar.php" METHOD="POST" NAME="atualizar">

[*] <TEXTAREA NAME="txt_atualizar" COLS="40" ROWS="5" value="$abrir"></TEXTAREA><BR><BR>

[*] <INPUT TYPE="submit" NAME="submit" VALUE="Gravar no TXT"><BR>

[*] </FORM>

[*]

[*]</body>

[*]</html>

[*]

 

 

 

atualizar.php

PHP

[*]

[*]<html>

[*]<body>

[*]

[*] <?

[*] //PEGA OS DADOS ENVIADOS PELO FORMULÁRIO

[*] $conteudo = $_POST["txt_atualizar"];

[*]

[*] //ARQUIVO TXT

[*] $arquivo = "arquivo.txt";

[*]

[*] //TENTA ABRIR O ARQUIVO TXT

[*] if (!$abrir = fopen($arquivo, "w")) {

[*]  echo "Erro abrindo arquivo ($arquivo)";

[*]  exit;

[*] }

[*]

[*] //ESCREVE NO ARQUIVO TXT

[*] if (!fwrite($abrir, $conteudo)) {

[*] print "Erro escrevendo no arquivo ($arquivo)";

[*] exit;

[*] }

[*]

[*] echo "Arquivo gravado com Sucesso !!";

[*]

[*] //FECHA O ARQUIVO

[*] fclose($abrir);

[*] ?>

[*]

[*]</body>

[*]</html>

[*]

 

 

Sempre que eu abro o form.php, ELE APAGA TUDO QUE TINHA no arquivo.txt

 

pq será ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perceba que você está abrindo o arquivo somente para escrita:

 

w -> Abre para escrita somente; coloca o ponteiro do arquivo no começo do arquivo e diminui (trunca) o tamanho do arquivo para zero. Se o arquivo não existe, tenta criá-lo.

 

o certo é abrir para leitura e escrita, no caso:

 

'w+' Abre o arquivo para leitura e escrita; coloca o ponteiro do arquivo no começo e diminui (trunca) o tamanho do arquivo para zero. Se o arquivo não existe, tenta criá-lo.

 

 

 

Além disso, a parte:

 

<FORM ACTION="atualizar.php" METHOD="POST" NAME="atualizar">         <TEXTAREA NAME="txt_atualizar" COLS="40" ROWS="5" value="$abrir"></TEXTAREA><BR><BR>         <INPUT TYPE="submit" NAME="submit" VALUE="Gravar no TXT"><BR>         </FORM>

Esta parte tem que estar dentro das tags do php, caso contrário a váriavel $abrir não teré efeito algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora está assim:

 

FORM.PHP

PHP

[*]

[*]<html>

[*]<body>

[*]

[*] <?

[*] $arquivo = "arquivo.txt";

[*]

[*] if (!$abrir = fopen($arquivo, "w+"))

[*] { echo "Erro abrindo arquivo ($arquivo)";

[*] exit;

[*] }

[*]

[*] echo "<FORM ACTION='atualizar.php' METHOD='POST' NAME='atualizar'>";

[*] echo "<TEXTAREA NAME='txt_atualizar' COLS='40' ROWS='5' value='$abrir'></TEXTAREA><BR><BR>";

[*] echo "<INPUT TYPE='submit' NAME='submit' VALUE='Gravar no TXT'><BR>";

[*] echo "</FORM>";

[*]

[*] ?>

[*]

[*]</body>

[*]</html>

[*]

 

 

ATUALIZA.PHP

PHP

[*]

[*]<html>

[*]<body>

[*]

[*] <?

[*] $conteudo = $_POST["txt_atualizar"];

[*]

[*] $arquivo = "arquivo.txt";

[*]

[*] if (!$abrir = fopen($arquivo, "w+"))

[*] {

[*]  echo "Erro abrindo arquivo ($arquivo)";

[*]  exit;

[*] }

[*]

[*] if (!fwrite($abrir, $conteudo))

[*] {

[*] print "Erro escrevendo no arquivo ($arquivo)";

[*] exit;

[*] }

[*]

[*] echo "Arquivo gravado com Sucesso !!";

[*]

[*] fclose($abrir);

[*] ?>

[*]

[*]</body>

[*]</html>

[*]

 

 

Na hora que eu abro, o txt tá fazio... eu escrevo no FORM e envio, dou uma olhada no diretorio e vjo mque o txt mudou de tamanho, abro ele e está lá o texto. Quando entro no FORM.PHP de novo ao tentar trazer o conteúdo do TXT vejo que meu script apaga o conteúdo :/

 

tai algo que não estou entendendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Form.php você tem que incluir um fread para ler o conteudo do arquivo... Você está apenas abrindo...coloque um $teste=fread($abrir,filesize($arquivo));e atribue o value=$teste;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei a linha, atribui a variável no form, mas mesmo asism não me deixa ver o conteudo do txt no campo. mas agora ele não apaga o arquivo e sim, sobrepõe...

 

 

PHP

[*]

[*]<html>

[*]<body>

[*]

[*] <?

[*] $arquivo = "arquivo.txt";

[*]

[*] if (!$abrir = fopen($arquivo, "w+"))

[*] { echo "Erro abrindo arquivo ($arquivo)";

[*] exit;

[*] }

[*]

[*] $teste=fread($abrir,filesize($arquivo));

[*]

[*] echo "<FORM ACTION='atualizar.php' METHOD='POST' NAME='atualizar'>";

[*] echo "<TEXTAREA NAME='txt_atualizar' COLS='40' ROWS='5' value='$teste'></TEXTAREA><BR><BR>";

[*] echo "<INPUT TYPE='submit' NAME='submit' VALUE='Gravar no TXT'><BR>";

[*] echo "</FORM>";

[*]

[*] ?>

[*]

[*]</body>

[*]</html>

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera,A tag TEXTAREA não tem o atributo VALUE e por isso ela deve ser usada assim:<textarea name="conteudo"><?= $teste ?></textarea>Abraço,Alexandre

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo, sei tb que num teria esta atributo pra tal, mas tentei fazer assim tb da forma que você faleu...se eu colocar echo "<TEXTAREA NAME='txt_atualizar' COLS='40' ROWS='5'><? =$teste ?></TEXTAREA><BR><BR>";me aparece: <? = ?> no TEXTBOX pois ele não entende como variável.Já colocando como: $teste , dentro do PHP, não aparece nada, como antes :/Realmente, está sendo um problemão pr amim issovaleu pela ajuda cara

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Form.php você tem que incluir um fread para ler o conteudo do arquivo... Você está apenas abrindo...

 

coloque um $teste=fread($abrir,filesize($arquivo));

 

 

e atribue o value=$teste;

<{POST_SNAPBACK}>

O problema é que el chama agora, mas memso assim não abre o conteudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora está assim:FORM.PHP

<html><body>        <?            $arquivo    =    "arquivo.txt";            if (!$abrir = fopen($arquivo, "w+"))                { echo  "Erro abrindo arquivo ($arquivo)";                  exit;                };            $teste=fread($abrir,filesize($arquivo));        echo "<FORM ACTION='atualizar.php' METHOD='POST' NAME='atualizar'>";        echo "<TEXTAREA NAME='txt_atualizar' COLS='40' ROWS='5'><? =$teste ?></TEXTAREA><BR><BR>";        echo "<INPUT TYPE='submit' NAME='submit' VALUE='Gravar no TXT'><BR>";        echo "</FORM>";        ?></body></html>

ATUALIZA.PHP

<html><body>        <?            $conteudo    =    $_POST["txt_atualizar"];            $arquivo    =    "arquivo.txt";            if (!$abrir = fopen($arquivo, "w+"))                {                    echo  "Erro abrindo arquivo ($arquivo)";                    exit;                }            if (!fwrite($abrir, $conteudo))                {                    print "Erro escrevendo no arquivo ($arquivo)";                    exit;                }            echo "Arquivo gravado com Sucesso !!";            fclose($abrir);        ?></body></html>

Na hora que eu abro, o txt tá fazio... eu escrevo no FORM e envio, dou uma olhada no diretorio e vjo mque o txt mudou de tamanho, abro ele e está lá o texto. Quando entro no FORM.PHP de novo ao tentar trazer o conteúdo do TXT vejo que meu script apaga o conteúdo :/

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.