JGS Postado Fevereiro 28, 2009 Denunciar Share Postado Fevereiro 28, 2009 Bom dia pessoal, sou iniciante em PHP e mais uma vez venho recorrer ao forum,bem primeiramente preciso criar uma interface que contenha um painel e nesse painel tenha dois botões (left e right),se for clicado o botão left ele por sua vez ira criar um arquivo.txt com texto escrito '37',se for clicado o botão right ele por sua vez ira criar no mesmo arquivo.txt um texto escrito '39' e assim por diante...esse texto sera tratado via servidor por uma aplicação que esta sendo desenvolvida em delphi.Logicamente essa interface sera acessada via browser local o internet numa url qualquer.Não sei se o PHP seria a liguagem mais apropiada para isto.Agradeço desde já a atenção de vocês. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 28, 2009 Denunciar Share Postado Fevereiro 28, 2009 E qual exatamente é a sua dúvida? Você não sabe criar o arquivo? Dá uma lida no fopen. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 28, 2009 Autor Denunciar Share Postado Fevereiro 28, 2009 A minha duvida seria de como criar esta interface com o painel e os botoes e a criação do .txt. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 28, 2009 Denunciar Share Postado Fevereiro 28, 2009 Para criar o painel em si, é HTML, a parte de criação do txt, basta ler o link que eu passei, como você quer que ao ser clicado em um certo botão aconteça a ação, também terá que dar uma olhada em estrutura de controleA idéia básica é:if(isset($_POST['nome_do_botao'])){ //Aqui vai o fopen }Você vai precisar de dois ifs desse dai, um pra cada botão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 28, 2009 Autor Denunciar Share Postado Fevereiro 28, 2009 Boa trade a todos, Estou precisando de um codigo em php, que faça o seguinte,nele tem que conter dois botoes,se clicar num deles ele vai criar um arquivo.txt contendo o texto 39se clicar no outro vai usar o mesmo arquivo.txt so que o texto muda no caso para 37sera que alguém pode me exmplificar isso. Agradeço desde já. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 1, 2009 Denunciar Share Postado Março 1, 2009 O ESerra já te respondeu o que você faz em PHP, mas pelo que entendi você está em dúvida de como cria a parte visual (pelo ao menos acho que isso que você quis dizer com interface). Diferentemente de outras linguagens de programação que trabalham diretamente com janelas e tem componentes gigantesco para criar meros botões, como AWT para J2SE por exemplo, em PHP para web você vai usar o simples HTML para criar os botões e tudo mais que for interface gráfica.if(isset($_POST['nome_do_botao'])){ fopen("blah.txt"); } else { echo "<input type=\"submit\" name=\"nome_do_botao\" value=\"criar arquivo\">"; } ou se achar mais fácil: <? if(isset($_POST['nome_do_botao'])){ fopen("blah.txt","w+"); // cria o arquivo blah se não existir com permissão para leitura e escrita } ?> <? else { ?> <input type="submit" name="nome_do_botao" value="criar arquivo"> <? } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Março 1, 2009 Autor Denunciar Share Postado Março 1, 2009 Boa tarde obrigado pela ajuda,mas eu usei esse código e não esta criando o arquivoif(isset($_POST['Right])){fopen("comando.txt");} else {echo "<input type=\"submit\" name=\"Right\" value=\"Right\">";}Na verdade seria mais ou menos assim,so que ainda não esta gerando o arquivo e minha duvida seria onde escreve o conteudo do arquivo<?if(isset($_POST['Right'])){fopen("comando.txt");} else{echo "<input type=\"submit\" name=\"Righ\" value=\"Right\">";}if(isset($_POST['Left'])){fopen("comando.txt");} else{echo "<input type=\"submit\" name=\"Left\" value=\"Left\">";}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 1, 2009 Denunciar Share Postado Março 1, 2009 Faltou especificar o segundo parametro da função fopen e right estava sem o t no nome do botão, tente dessa forma:<? if(isset($_POST['Right'])) { fopen("comando.txt","w+"); } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Right\" value=\"Right\"></form>"; } if(isset($_POST['Left'])) { fopen("comando.txt","w+"); } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Left\" value=\"Left\"></form>"; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Março 1, 2009 Autor Denunciar Share Postado Março 1, 2009 Ainda não deu certo, mais deixa quieto eu vou tentar dou outro modo.Muito Obrigado pelas dicas.e pelas informações. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Março 1, 2009 Autor Denunciar Share Postado Março 1, 2009 Ola sou eu de novo, consegui acescentar algumas linhas a mais, so que tambem não esta funcionando,mais nesse caso acredito que seja sintax apesar que não me retorna nehum erro o codigo seria mais ou menos istoera pra fazer assim, quando clicar em right ele cria o arquivo em tempo real no servidor com o texto "39" e se clicar em left ele criara outro com o texto escrito "37"eu tentei so uma parte do codigo e ele cira e escreve mas eu precisava que fosse tudo no mesmo frame ou seja era ir clicando no right ou left e fosse criando o texto no servidor.<?if(isset($_POST['Right'])){$arquivo = "comando.txt";$escrever = "39";$fd = fopen ($arquivo, "w");fwrite($fd, $escrever);fclose ($fd);} else{echo "<input type=\"submit\" name=\"Right\" value=\"Right\">";}if(isset($_POST['Left'])){$arquivo = "comando.txt";$escrever = "37";$fd = fopen ($arquivo, "w");fwrite($fd, $escrever);fclose ($fd);} else{echo "<input type=\"submit\" name=\"Left\" value=\"Left\">";}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 1, 2009 Denunciar Share Postado Março 1, 2009 Que mensagem de erro retorna? provavelmente deu erro porque você não tem permissão na pasta, tenta dessa forma para verificar:testa dessa forma:<? $arquivo="c.txt"; if(isset($_POST['Right'])) { try{ fopen($arquivo,"w+"); }catch (exception $e){ if(is_writable($arquivo)){ die("Erro: Você não tem permissão para escrever"); } } echo "arquivo criado"; } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Right\" value=\"Right\"></form>"; } if(isset($_POST['Left'])) { try{ fopen($arquivo,"w+"); }catch (exception $e){ if(is_writable($arquivo)){ die("Erro: Você não tem permissão para escrever"); } } echo "arquivo criado"; } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Left\" value=\"Left\"></form>"; } ?> Se aparecer a mensagem, dêe erro de CHMOD 755 na pasta chmod ("./", 755); Assim ficaria: $arquivo="c.txt"; if(isset($_POST['Right'])) { try{ fopen($arquivo,"w+"); }catch (exception $e){ if(is_writable($arquivo)){ if(chmod("./",755)){ fopen($arquivo,"w+"); }else{ echo "não possível dar permissão a pasta atual"; } } } echo "arquivo criado"; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Março 1, 2009 Autor Denunciar Share Postado Março 1, 2009 agora deu um erro :Parse error: syntax error, unexpected '{' in d:\web_server\teste.php on line 6 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 1, 2009 Denunciar Share Postado Março 1, 2009 Qual a linha 6 do código que você tentou? você deve ter inserido alguma cóndição lógica a mais no código e não fechou... posta o código que você tentou rodarO certo seria <? $arquivo="c.txt"; if(isset($_POST['Right'])) { try{ fopen($arquivo,"w+"); }catch (exception $e){ if(is_writable($arquivo)){ if(chmod("./",755)){ fopen($arquivo,"w+"); }else{ echo "não possível dar permissão a pasta atual"; } } } echo "arquivo criado"; } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Right\" value=\"Right\"></form>"; } if(isset($_POST['Left'])) { try{ fopen($arquivo,"w+"); }catch (exception $e){ if(is_writable($arquivo)){ die("Erro: Você não tem permissão para escrever"); } } echo "arquivo criado"; } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Left\" value=\"Left\"></form>"; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Março 1, 2009 Autor Denunciar Share Postado Março 1, 2009 o codigo que deu erro e esse que você postou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 1, 2009 Denunciar Share Postado Março 1, 2009 Odeio parecer arrogante, mas o código que eu postei não tem esse erro que você postou, veja você mesmo:Estou tentando lhe auxiliar mas se você não quer postar ser ajudado fica difícil. Alguma coisa você modificou, provavelmente acrescentou o retirou algum delimitador de bloco de códigos. No entanto se você não postar o código exato que você tentou rodar não tem como eu te ajudar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Março 1, 2009 Autor Denunciar Share Postado Março 1, 2009 você usa o Ubuntu e o Mozila.Aqui e Server 2003 e Ie.deve ter alguma diferença para cada um...E não se preocupe que a "Arrogância e Mal de Programador", nem esquenta a cabeça com isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 1, 2009 Denunciar Share Postado Março 1, 2009 // EDITOla sou eu de novo, consegui acrescentar algumas linhas a mais, so que também não esta funcionando,mais nesse caso acredito que seja sintaxe apesar que não me retorna nenhum erro o código seria mais ou menos istoera pra fazer assim, quando clicar em right ele cria o arquivo em tempo real no servidor com o texto "39"e se clicar em left ele criara outro com o texto escrito "37"eu tentei so uma parte do codigo e ele cira e escreve mas eu precisava que fosse tudo no mesmo frame ou seja era ir clicando no right ou left e fosse criando o texto no servidor.<?if(isset($_POST['Right'])){...Você editou o POST ou eu que estou cego e não vi que você postou o código?Seguinte você só esqueceu de uma coisa, o input tem de ficar dentro da tag <form></form> e mudar o cursor do fopen de w+ para a (assim ele vai pra o final do arquivo)|Faz isso que funciona <? if(isset($_POST['Right'])) { $arquivo = "comando.txt"; $escrever = "39"; $fd = fopen ($arquivo, "a"); fwrite($fd, $escrever); fclose ($fd); } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Right\" value=\"Right\"></form>"; } if(isset($_POST['Left'])) { $arquivo = "comando.txt"; $escrever = "37"; $fd = fopen ($arquivo, "a"); fwrite($fd, $escrever); fclose ($fd); } else { echo "<form method=\"post\"><input type=\"submit\" name=\"Left\" value=\"Left\"></form>"; } ?>;)//EDIT 2Para o usuário não ter que carregar a página inteira novamente basta você usar <iframe></iframe> ou usar Ajax Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Março 3, 2009 Autor Denunciar Share Postado Março 3, 2009 Bom dia a todos, bem pessoal valeu as dicas e códigos que foram postados, acho que estou no caminho para finalizar a minha interface, se fosse a ajuda de vocês não teria ideia de como começar, estou dando por resolvido o tópico, mais se tiver alguma duvida voltarei a postar.Muito Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
JGS
Bom dia pessoal, sou iniciante em PHP e mais uma vez venho recorrer ao forum,
bem primeiramente preciso criar uma interface que contenha um painel e nesse painel tenha dois botões (left e right),
se for clicado o botão left ele por sua vez ira criar um arquivo.txt com texto escrito '37',
se for clicado o botão right ele por sua vez ira criar no mesmo arquivo.txt um texto escrito '39'
e assim por diante...
esse texto sera tratado via servidor por uma aplicação que esta sendo desenvolvida em delphi.
Logicamente essa interface sera acessada via browser local o internet numa url qualquer.
Não sei se o PHP seria a liguagem mais apropiada para isto.
Agradeço desde já a atenção de vocês.
Link para o comentário
Compartilhar em outros sites
17 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.