Jump to content
Fórum Script Brasil
  • 0

Enviar código de uma página para outra


Question

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 to post
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other 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

 

Edited by Alvaro_php
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148692
    • Total Posts
      644524
×
×
  • Create New...