Jump to content
AV Lammel

Digitar código no form, enviar, pegar URL no MySQL e trazer resultado em nova aba do navegador

Recommended Posts

Olá pessoal. Sou novato tanto aqui quanto nas linguagens de programação. 
 
Exemplo que vou me referir:
http://aldolammel.com/emulador/dia922.php 
 
Eu gostaria de digitar um código no textfield "Fotografia", pressionar o botão submit "Fotografia" e fazer o PHP+MySQL(+script?) trazer-me a URL específica daquele código específico digitado. A URL deve ser aberta em uma nova aba do navegador. 
 
A propósito, esse comportamento precisa ser replicado para os outros dois forms (Mapas, Vídeos).
 
Aqui é uma print do meu db:

Share this post


Link to post
Share on other sites

Cara parece bem simples a resolução do seu problema...

<form id="fotografia" method="post" action="dia922.php">
        <label>Fotografia</label>
        <input name="fotografia-input" type="text" minlength="1" maxlength="3"><input type="submit" value="Submit">
      </form>
<?php
//$conn = sua conexão com banco de dados, usuário, senha, servidor, etc.....
if(isset($_POST['fotografia-input'])){
	 $fotoscode  = $_POST['fotografia-input'];
 $select = "SELECT * from fotos WHERE fotoscode = '$fotoscode'";
  $mak = mysqli_query($select, $conn) or die(mysqli_error($conn));
  if ($row = mysqli_fetch_array($mak)) {
	$link = $row['fotosurl'];
	print '<a href="'.$link.'">Clique aqui para ver a foto</a>';
}
}
?>

para os mapas e videos é só repetir a mesma rotina e mudar apenas os dados, testa aí....Obs: o teu minlength estava permitindo apenas 2 caracteres minlength="2" alterei pra 1 porque tem fotoscode com 1 caractere no banco, quanto ao maxlength, se você deixar definido com 3, quando tiver fotocode com registro 1000 pra cima não poderá fazer a consulta, enfim, você que sabe... Testa aí.

Share this post


Link to post
Share on other sites
On 2/23/2019 at 8:23 AM, MAKAVELIQUE said:

Cara parece bem simples a resolução do seu problema...


<form id="fotografia" method="post" action="dia922.php">
        <label>Fotografia</label>
        <input name="fotografia-input" type="text" minlength="1" maxlength="3"><input type="submit" value="Submit">
      </form>
<?php
//$conn = sua conexão com banco de dados, usuário, senha, servidor, etc.....
if(isset($_POST['fotografia-input'])){
	 $fotoscode  = $_POST['fotografia-input'];
 $select = "SELECT * from fotos WHERE fotoscode = '$fotoscode'";
  $mak = mysqli_query($select, $conn) or die(mysqli_error($conn));
  if ($row = mysqli_fetch_array($mak)) {
	$link = $row['fotosurl'];
	print '<a href="'.$link.'">Clique aqui para ver a foto</a>';
}
}
?>

para os mapas e videos é só repetir a mesma rotina e mudar apenas os dados, testa aí....Obs: o teu minlength estava permitindo apenas 2 caracteres minlength="2" alterei pra 1 porque tem fotoscode com 1 caractere no banco, quanto ao maxlength, se você deixar definido com 3, quando tiver fotocode com registro 1000 pra cima não poderá fazer a consulta, enfim, você que sabe... Testa aí.

 

Makavelique, funcionou perfeitamente. Alterei o método para GET para eu poder gerar a URL também sem ter que ir no formulário digitar o código. Obrigado ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By asacap1000
      Galera já não sei mais onde procurar, estou configurando o processo de login com certificação digital porém não consigo ler o retorno. No site da Certisign explica em java e .Net mas utilizo em minha aplicação da intranet tudo em PHP como eu teria que fazer. Segue exemplo que eles fornecem em .Net
       
      <form action="https://autenticador.certisign.com.br/CertisignLogin/certificado/login" method="get"> <input type="hidden" value="209" id="id" name="id"> <input type="hidden" value="CHAVE CRIPTOGRAFICA INICIAL" id="nome" name="nome"> <input type="hidden" value="http://www.seusite.com.br/suaAplicacao/retorno" id="retorno" name="retorno"> <div> <input type="image" src="images/ico-certisign_30x30.png" alt="Submit" id="btnLoginCertisign"> </div> </form> O de cima envia até aí tudo bem
       
      Abaixo o retorno que é o que não consigo fazer em PHP
       
      string retorno = Request["cb"]; string encryptionKey = "<conteúdo da chave criptográfica descarregada na etapa 2>"; retorno = CryptoLogin.Instance.DecryptText(retorno,encryptionKey);</conteúdo> A variável retorno deverá mostrar as informações como o exemplo aaixo.
       
      CertificadoBean: { emissor: Certisign Autoridade Certificadora TESTE, nome: "PROPRIETARIO DO CERTIFICADO DE TESTE", cpf: "001.002.003-44", cnpj: "", OAB: "", validade: "2015-05-27 20:59:59", emissao: "2014-05-27 21:00:00", email: "proprietario.teste@certisign.com.br", certificadoBase64: "MIIFmDCCBICgAwI...... BAQUFADCCARAx" }  
    • By Camilavip
      Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli
       
      Em estados no banco está assim
      CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades
      CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros
      CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');  
    • By danilo759
      Estou com uma dúvida, em uma tabelinha é cadastrado a data em uma coluna e a hora em outra coluna, então para "juntar" podemos usar CONCAT() no SELECT. Tudo certo...
       
      SELECT id, CONCAT(data_ini, ' ', hora_ini) as inicio FROM tabela

      Retorna como esperado:

       

      Minha dúvida é, se eu quiser exibir o horário de término para ficar assim como seria a consulta? Lembrando que não existe as colunas data_final e horario_final.

      2020-09-13 03:00:00 2020-09-13 04:00:00
      2020-09-13 04:00:00 2020-09-13 05:00:00
      2020-09-13 05:00:00 ....
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.