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

Enviar código de uma página para outra


Alvaro_php

Pergunta

Pessoal estou começando no PHP e hj apanhei um pouco para conseguir fazer algo que é simples

Tenho um arquivo captcha e preciso passar uma confirmação(verificacao.php) para uma segunda página (emitir_titulo1.php) e não pode ser por url, como apanhei bastante achei interessante criar um arquivo e nele colocar um texto, e abrir esse arquivo na segunda página e comparar e ai continuar ou não com o carregamento dela.

A parte de criar o arquivo , consegui e a parte de abrir ele na segunda página e comparar também consegui

Porém ele não esta fazendo o que preciso, pois quando se joga o caminho inteiro da página até o emitir_titulo1php, o arquivo seguranca.txt não esta criado pois pulou a parte do captcha, e ai o que tinha em mente era ele tentar abrir o arquivo( QUE NÂO EXISTE ) e com isso a variável $conteudo estar em branco e isso é diferente do confirmado, ele teria que apagar o arquivo e abrir no lugar a página verificao.php automaticamente, só que ele esta carregando a página emitir_titulo1.php normalmente

 

Esse é o comando que esta no topo da emitir_titulo1.php

<?php  
    $arquivo = "seguranca.txt";
    $fp=fopen($arquivo,"r");
    $conteudo=fread($fp,filesize($arquivo));
    fclose($fp);
    
    if ($conteudo == "confirmado")
    {
        unlink($arquivo);
    }else{
        unlink($arquivo);
        header("location: verificacao.php");
    }
?>

 

Desde já agradeço a todos

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Alguém poderia me dar uma força, eu coloquei o endereço completo da minha página e pulando o meu captcha, e ai o que era para fazer, a página reconhecer que não tinha o arquivo de comparação e carregar a página de verificação

Só que apareceram as mensagens de erro abaixo e a página do emitir_titulo1.php carregou normalmente, ele ignorou o que esta no header

Na tentativa de carregar a página, eu coloquei toda a verificação no topo da página e ai apareceram essas mensagens

 

Warning: fopen(seguranca.txt) [function.fopen]: failed to open stream: No such file or directory in caminhodaminhapaginanoservidor\emitir_titulo1.php on line 3

Warning: filesize() [function.filesize]: stat failed for seguranca.txt in caminhodaminhapaginanoservidor\emitir_titulo1.php on line 4

Warning: fread(): supplied argument is not a valid stream resource in caminhodaminhapaginanoservidor\emitir_titulo1.php on line 4

Warning: fclose(): supplied argument is not a valid stream resource in caminhodaminhapaginanoservidor\emitir_titulo1.php on line 5
não confirmado      <- essa é uma verificação que coloquei, para saber se ele estava identificando que não existia nada, e identificou normalmente
Warning: unlink(seguranca.txt) [function.unlink]: No such file or directory in caminhodaminhapaginanoservidor\emitir_titulo1.php on line 13

Warning: Cannot modify header information - headers already sent by (output started at caminhodaminhapaginanoservidor\emitir_titulo1.php:3) in caminhodaminhapaginanoservidor\emitir_titulo1.php on line 14

Link para o comentário
Compartilhar em outros sites

  • 0

Leonardo obrigado pelo retorno, vi agora a sua resposta, hj pela manhã consegui corrigir o problema que estava dando, buscando algumas coisas achei uma função que verifica se um arquivo existe, e ai caso o arquivo não exista, exibe uma mensagem na tela e finalizo com um exit();

    $arquivo = "seguranca.txt";
    if (file_exists($arquivo)){
        unlink($arquivo);
    }else{
        $texto = "ATENÇÃO - PÁGINA FOI ACESSADA DE FORMA INVÁLIDA \n\n";
        //comando nl2br, faz o navegador enteder do comando para pular linha do php \n
        echo nl2br($texto);
        
        echo "Favor acessar clicando no <a href = 'verificacao.php'> link </a>";
        exit();
    }

 

Agora estou tentando impedir que o botão voltar do browser , volte a página e com isso permitindo que o usuário ou robo, consiga várias entradas no site com a mensagem senha do captcha.

Más já tentei diversos comandos e nada, seguem os comandos que já tentei

 

<body onLoad=”javascript:window.clear.history(0)”>


<script language=”JavaScript”>

javascript:window.history.forward(1);

</script>

 

<script type=”text/javascript”>

function noBack(){window.history.forward()}

noBack();

window.onload=noBack;

window.onpageshow=function(evt){if(evt.persisted)noBack()}

window.onunload=function(){void(0)}

</script>


<script>

window.history.forward(1);

</script>


<script language="JavaScript">
<!--
  javascript:window.history.forward(1);
//-->
</script>

 

 

(function(window) {
  'use strict';
 
var noback = {
    
    //globals
    version: '0.0.1',
    history_api : typeof history.pushState !== 'undefined',
    
    init:function(){
        window.location.hash = '#no-back';
        noback.configure();
    },
    
    hasChanged:function(){
        if (window.location.hash == '#no-back' ){
            window.location.hash = '#BLOQUEIO';
            //mostra mensagem que não pode usar o btn volta do browser
            if($( "#msgAviso" ).css('display') =='none'){
                $( "#msgAviso" ).slideToggle("slow");
            }
        }
    },
    
    checkCompat: function(){
        if(window.addEventListener) {
            window.addEventListener("hashchange", noback.hasChanged, false);
        }else if (window.attachEvent) {
            window.attachEvent("onhashchange", noback.hasChanged);
        }else{
            window.onhashchange = noback.hasChanged;
        }
    },
    
    configure: function(){
        if ( window.location.hash == '#no-back' ) {
            if ( this.history_api ){
                history.pushState(null, '', '#BLOQUEIO');
            }else{  
                window.location.hash = '#BLOQUEIO';
                //mostra mensagem que não pode usar o btn volta do browser
                if($( "#msgAviso" ).css('display') =='none'){
                    $( "#msgAviso" ).slideToggle("slow");
                }
            }
        }
        noback.checkCompat();
        noback.hasChanged();
    }
    
    };
    
    // AMD support
    if (typeof define === 'function' && define.amd) {
        define( function() { return noback; } );
    }  
    // For CommonJS and CommonJS-like
    else if (typeof module === 'object' && module.exports) {
        module.exports = noback;
    }  
    else {
        window.noback = noback;
    }
    noback.init();
}(window));

 

<script type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</script>

<body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">

 

 

Más isso simplesmente é ignorado, quando aperto o botão de voltar, a página já vem carregada e consigo acessar normalmente, e o voltar nem atualiza a tela, porque se atualizar a segurança já iria funcionar, então eu precisava fazer o botão voltar não voltar para  a página anterior, ou , mesmo que ele volte, atualizar a página e também não consegui, mesmo colocando o refresh no topo dás páginas

Teriam como me ajudar nesse problema?

Link para o comentário
Compartilhar em outros sites

  • 0

Marcelo obrigado pelo retorno

Agora estou tentando carregar uma página asp dentro da minha página php de verificação, só que não estou conseguindo, ele simplesmente não inicia a página asp, independente da forma que mando

 

minha pagina php - verificacao.php

<?php session_start();

    if( $_SESSION['captcha'] == $_POST['captcha']){
        $arquivo="seguranca.txt";
        $fp = fopen($arquivo,"a+");
        $codselecionado = $_POST['codselecionado'];
        fwrite($fp,"confirmado");
        fclose($fp);
        echo '<frame name="atualizaguia1.asp" DefaultInfinite" src="http://rwww.meuservidor.com.br/atualizaguia1.asp?codtitulo=" & $codselecionado" target="_self" scrolling="auto"></frame> ';

//        header ("location: http://www.meuservidor.com.br/atualizaguia1.asp?codtitulo=" & $codselecionado);
    }else{
        echo "<h1>Erro - Código digitado errado</h1>";
    }
?>

Aqui estou verificando se o código digitado no captcha esta correto, e se estiver, vai chamar a página atualizaguia1.asp e passando o código do título já selecionado

Talvez mais tarde irei tirar a criação do arquivo.txt, como comentei estou começando agora com o PHP, sou programador desktop (vb6) e estou apanhando um pouco rsrsrs

Link para o comentário
Compartilhar em outros sites

  • 0

Uma coisa que não vão ver eu fazendo é ficar parado esperando a resposta rsrsrs

 

Pesquisando hj, vi que tem um primo do frame, o iframe, o comando ficou assim na minha página valida.php:

echo '<iframe name="atualizaguia1.asp" DefaultInfinite" src="atualizaguia1.asp?codtitulo=" & $codselecionado" target="_self" scrolling="auto">'; 

 

já fiz uns testes e a variável $codselecionado, contém realmente o número do boleto que selecionei

 

Coloquei ele no meu form php e deu certo, abriu um frame pequeno e com a página que eu chamei, más por enquanto estou com 2 problemas.

Problema 1 - não muito importante

O frame esta pequeno como comentei, apenas um quadrado, caso alguém

image.png.82b6ae13a6eebe1010a67cae2c2a703e.png

Queria saber como abrir ele do tamanho da página

 

Problema 2 - muito importante, e pensando agora, talvez resolvendo esse, possa carregar o frame completo e abrir ele automático, ou ter um autosize igual tem no vb

O problema é que na página atualizaguia1.asp, não esta pegando o código que estou enviando pela url

    CodigoGuia = request.QueryString("codtitulo")

esta vindo em branco

 

Fiz um teste colocando o valor na mão e deu certinho, a minha página asp pegou o valor correto

echo '<iframe name="atualizaguia1.asp" DefaultInfinite" src="atualizaguia1.asp?codtitulo=52022" target="_self" scrolling="auto">'; 

Como que posso passar essa variável pela url da iframe?

 

Com certeza é erro de principiante, más será que alguém pode me dar uma força, faltam só essas 2 coisas para poder liberar o site

 

Editado por Alvaro_php
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...