Ir para conteúdo
ricardo oliveira de jesus

Chamar e exibir PDF no BROWSER

Recommended Posts

Boa noite. Sou novo por aqui e preciso de uma ajuda. Tenho uma página de login e senha onde gostaria de que o usuário, ao digitar o username e a senha automaticamente o browser abrisse um PDF que estaria em uma pasta. Este PDF tem seu nome composto por usuário + senha, ou seja, se o usuário for "1234" e a senha "5678" ela terá que buscar na pasta o arquivo "12346578.pdf". Não sei se tem a necessidade, mas postarei abaixo o html da página em que preciso fazer isso. Obs.: Não entendo de PHP. Obrigado:

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Login V8</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
<!--===============================================================================================-->    
    <link rel="icon" type="image/png" href="images/icons/favicon.ico"/>
<!--===============================================================================================-->
    <link rel="stylesheet" type="text/css" href="vendor/bootstrap/css/bootstrap.min.css">
<!--===============================================================================================-->
    <link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.7.0/css/font-awesome.min.css">
<!--===============================================================================================-->
    <link rel="stylesheet" type="text/css" href="vendor/animate/animate.css">
<!--===============================================================================================-->    
    <link rel="stylesheet" type="text/css" href="vendor/css-hamburgers/hamburgers.min.css">
<!--===============================================================================================-->
    <link rel="stylesheet" type="text/css" href="vendor/animsition/css/animsition.min.css">
<!--===============================================================================================-->
    <link rel="stylesheet" type="text/css" href="vendor/select2/select2.min.css">
<!--===============================================================================================-->    
    <link rel="stylesheet" type="text/css" href="vendor/daterangepicker/daterangepicker.css">
<!--===============================================================================================-->
    <link rel="stylesheet" type="text/css" href="css/util.css">
    <link rel="stylesheet" type="text/css" href="css/main.css">
<!--===============================================================================================-->
</head>
<body>
    
    <div class="limiter">
        <div class="container-login100">
            <div class="wrap-login100">
                <form class="login100-form validate-form p-l-55 p-r-55 p-t-178">
                    <span class="login100-form-title">
                        Sign In
                    </span>

                    <div class="wrap-input100 validate-input m-b-16" data-validate="Please enter username">
                        <input class="input100" type="text" name="username" placeholder="Username">
                        <span class="focus-input100"></span>
                    </div>

                    <div class="wrap-input100 validate-input" data-validate = "Please enter password">
                        <input class="input100" type="password" name="pass" placeholder="Password">
                        <span class="focus-input100"></span>
                    </div>

                    <div class="text-right p-t-13 p-b-23">
                        <span class="txt1">
                            Forgot
                        </span>

                        <a href="#" class="txt2">
                            Username / Password?
                        </a>
                    </div>

                    <div class="container-login100-form-btn">
                        <button class="login100-form-btn">
                            Sign in
                        </button>
                    </div>

                    <div class="flex-col-c p-t-170 p-b-40">
                        <span class="txt1 p-b-9">
                            Don’t have an account?
                        </span>

                        <a href="#" class="txt3">
                            Sign up now
                        </a>
                    </div>
                </form>
            </div>
        </div>
    </div>
    
    
<!--===============================================================================================-->
    <script src="vendor/jquery/jquery-3.2.1.min.js"></script>
<!--===============================================================================================-->
    <script src="vendor/animsition/js/animsition.min.js"></script>
<!--===============================================================================================-->
    <script src="vendor/bootstrap/js/popper.js"></script>
    <script src="vendor/bootstrap/js/bootstrap.min.js"></script>
<!--===============================================================================================-->
    <script src="vendor/select2/select2.min.js"></script>
<!--===============================================================================================-->
    <script src="vendor/daterangepicker/moment.min.js"></script>
    <script src="vendor/daterangepicker/daterangepicker.js"></script>
<!--===============================================================================================-->
    <script src="vendor/countdowntime/countdowntime.js"></script>
<!--===============================================================================================-->
    <script src="js/main.js"></script>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode trabalhar com o header do PHP.

 

Montei um exemplo simples, veja:

 

Passo os dados por POST para a página arquivo.php

<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="utf-8"/>
</head>
<body>
 
<form action="arquivo.php" method="POST">
	<input type="text" name="login" /><br>
	<input type="text" name="senha" /><br>
	<input type="submit" value="Enviar"/><br>
</form>
 
</body>
</html>

No arquivo.php eu trato e mando abrir o arquivo conforme os dados inseridos no login.

$login = $_POST['login'];
$senha = $_POST['senha'];

$pasta = "arquivos/"; // criei a pasta arquivo na raiz do projeto
$formato = ".pdf";
$arquivo = $pasta.$login.$senha.$formato; // endereço completo do arquivo

if(file_exists($arquivo)){ // se o arquivo existir
    header("Location:".$arquivo);
}else{
    echo "Arquivo não existe.";
}

Note que está aceitando apenas formato PDF, mas você pode tratar para aceitar qualquer arquivo. Validei apenas se o arquivo existe, você pode validar outras informações, ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 02/02/2019 at 18:02, marcosmarcolin disse:

Pode trabalhar com o header do PHP.

 

Montei um exemplo simples, veja:

 

Passo os dados por POST para a página arquivo.php


<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="utf-8"/>
</head>
<body>
 
<form action="arquivo.php" method="POST">
	<input type="text" name="login" /><br>
	<input type="text" name="senha" /><br>
	<input type="submit" value="Enviar"/><br>
</form>
 
</body>
</html>

No arquivo.php eu trato e mando abrir o arquivo conforme os dados inseridos no login.


$login = $_POST['login'];
$senha = $_POST['senha'];

$pasta = "arquivos/"; // criei a pasta arquivo na raiz do projeto
$formato = ".pdf";
$arquivo = $pasta.$login.$senha.$formato; // endereço completo do arquivo

if(file_exists($arquivo)){ // se o arquivo existir
    header("Location:".$arquivo);
}else{
    echo "Arquivo não existe.";
}

Note que está aceitando apenas formato PDF, mas você pode tratar para aceitar qualquer arquivo. Validei apenas se o arquivo existe, você pode validar outras informações, ok.

Cara, muito obrigado pela atenção. Vou fazer uns testes aqui e te retorno. obrigado mesmo!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 02/02/2019 at 18:02, marcosmarcolin disse:

Pode trabalhar com o header do PHP.

 

Montei um exemplo simples, veja:

 

Passo os dados por POST para a página arquivo.php


<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="utf-8"/>
</head>
<body>
 
<form action="arquivo.php" method="POST">
	<input type="text" name="login" /><br>
	<input type="text" name="senha" /><br>
	<input type="submit" value="Enviar"/><br>
</form>
 
</body>
</html>

No arquivo.php eu trato e mando abrir o arquivo conforme os dados inseridos no login.


$login = $_POST['login'];
$senha = $_POST['senha'];

$pasta = "arquivos/"; // criei a pasta arquivo na raiz do projeto
$formato = ".pdf";
$arquivo = $pasta.$login.$senha.$formato; // endereço completo do arquivo

if(file_exists($arquivo)){ // se o arquivo existir
    header("Location:".$arquivo);
}else{
    echo "Arquivo não existe.";
}

Note que está aceitando apenas formato PDF, mas você pode tratar para aceitar qualquer arquivo. Validei apenas se o arquivo existe, você pode validar outras informações, ok.

Boa noite. Eu tentei aqui mas não rolou. Dentro da pasta public.html coloquei um arquivo que criei no DREANWEAVER com a extensão .php (arquivo.php) coloquei o index.html (da forma como você colocou), criei uma pasta arquivo e coloquei um PDF lá dentro. Toda vez que coloco usuário e senha em vez de ele chamar meu PDF (que tem o nome composto por usuário+senha) ele me retorna o próprio código em PHP do arquivo arquivo.php. Estou usando o 000webhost grátis para efetuar testes. Se puder me orientar novamente, ficarei muito grato! Valeu amigo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu PHP não tá rodando. Teste isso em servidor local antes de jogar pra uma hospedagem, ainda mais grátis.

 

Procure por Wamp, Xammp, EasyPHP...Aí você simula um servidor web, ok? Tem montes de tutoriais por aí.

 

Poste seu código completo pra vermos.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 08/02/2019 at 23:28, marcosmarcolin disse:

Seu PHP não tá rodando. Teste isso em servidor local antes de jogar pra uma hospedagem, ainda mais grátis.

 

Procure por Wamp, Xammp, EasyPHP...Aí você simula um servidor web, ok? Tem montes de tutoriais por aí.

 

Poste seu código completo pra vermos.

 

Ok mano. Vou fazer e postarei aqui. Retorno assim que possível. Obrigado meu amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 08/02/2019 at 23:28, marcosmarcolin disse:

Seu PHP não tá rodando. Teste isso em servidor local antes de jogar pra uma hospedagem, ainda mais grátis.

 

Procure por Wamp, Xammp, EasyPHP...Aí você simula um servidor web, ok? Tem montes de tutoriais por aí.

 

Poste seu código completo pra vermos.

 

Marcos, eu corrigi o arquivo e consegui. Foi alguns equívocos que eu cometi, como por exemplo criar a pasta "arquivo" em vez de "arquivos" e não colocar " <?php"... kkkkkk. Agora é só ajustar o PHP ao HTML que eu te passei no começo. Se puder ajudar, ok... Mas se não, muito, mas muito obrigado mesmo!!! Você salvou. Deus lhe dê em dobro toda a gentileza que você destinou a mim. Espero que um dia alguém possa precisar de mim para que eu consiga retribuir a gentileza que recebi de você. Mais um avez obrigado, amigo!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 08/02/2019 at 23:28, marcosmarcolin disse:

Seu PHP não tá rodando. Teste isso em servidor local antes de jogar pra uma hospedagem, ainda mais grátis.

 

Procure por Wamp, Xammp, EasyPHP...Aí você simula um servidor web, ok? Tem montes de tutoriais por aí.

 

Poste seu código completo pra vermos.

 

consegui amigo... obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.