Criar tela de configurar conexão no PHP
Boa tarde,
Estou fazendo um sistema em PHP 7 e estou precisando criar uma tela de configurar a conexão, para que o usuário consiga acessar outros bancos no mesmo sistema, somente trocando o caminho ou trocando apenas credencias.
É possível? Algum tutorial ou dica me ajudaria bastante.
Obs: Sou novo em PHP.
Obrigado desde já!
Estou fazendo um sistema em PHP 7 e estou precisando criar uma tela de configurar a conexão, para que o usuário consiga acessar outros bancos no mesmo sistema, somente trocando o caminho ou trocando apenas credencias.
É possível? Algum tutorial ou dica me ajudaria bastante.
Obs: Sou novo em PHP.
Obrigado desde já!
Luis Rebecca
Curtidas 0
Melhor post
Frankley
30/01/2018
Boa tarde, tudo bem?
Então, podemos fazer isso salvando as configurações de conexão em cookies (que são dados salvos no navegador, em arquivos de texto simples), e criando um formulário para alterar esses valores.
Estou usando como exemplo aqui minha configuração que uso do meu localhost:
> Sempre que quiser acessar os dados de um cookie, basta usar o comando $_COOKIE["nome do cookie"].
> Para criar ou alterar um cookie, basta usar o comando setcookie("nome do cookie", "valor a guardar"), caso já exista, irá alterar o valor, se não existir, criará um novo.
Aí você pode criar um botão de editar as configurações, aí ao clicar nele, imprima na tela aquele echo com o formulário.
Espero ter ajudado!! Abraços.
Então, podemos fazer isso salvando as configurações de conexão em cookies (que são dados salvos no navegador, em arquivos de texto simples), e criando um formulário para alterar esses valores.
Estou usando como exemplo aqui minha configuração que uso do meu localhost:
<?php
//Verificando se não existe um Cookie com o nome "HOSTNAME"
if(!isset($_COOKIE['HOSTNAME'])){
//Se não existir, cria ele e os demais (isso para não ocorrer de resetar os cookies para o valor padrão ao atualizar a página)
setcookie("HOSTNAME", "localhost");
setcookie("USERNAME", "root");
setcookie("PASSWORD", null); //Está null porque o meu localhost não tem senha
setcookie("DATABASE", "Teste");
setcookie("CHARSET", "utf8");
}
//Guardando valores dos cookies em variáveis para usarmos no formulário
$HOSTNAME = $_COOKIE['HOSTNAME'];
$USERNAME = $_COOKIE['USERNAME'];
//Verifica se tem uma senha no cookie PASSWORD, se tiver, pega o valor dela, se não, passa null
if(isset($_COOKIE['PASSWORD'])){
$PASSWORD = $_COOKIE['PASSWORD'];
}else{
$PASSWORD = null;
}
$DATABASE = $_COOKIE['DATABASE'];
$CHARSET = $_COOKIE['CHARSET'];
//Imprimindo na tela o código do formulário em HTML, passando os valores da configuração atual
echo "
<form method='post' accept-charset='utf-8'>
<label for='hostname'>Nome do Host</label>
<input type='text' name='hostname' value='$HOSTNAME' required />
<br>
<label for='username'>Nome do Usuário</label>
<input type='text' name='username' value='$USERNAME' required />
<br>
<label for='password'>Senha</label>
<input type='text' name='password' value='$PASSWORD' />
<br>
<label for='database'>Banco de Dados</label>
<input type='text' name='database' value='$DATABASE' required />
<br>
<label for='charset'>CharSet</label>
<input type='text' name='charset' value='$CHARSET' required />
<br>
<input type='submit' name='salvar' value='Salvar' />
</form>
";
//Verifica se foi pressionado o botão "salvar"
if(isset($_POST["salvar"])){
//Se sim, substitui os valores dos cookies com as configurações pelos valores enviados pelo formulário
setcookie("HOSTNAME", $_POST["hostname"]);
setcookie("USERNAME", $_POST["username"]);
setcookie("PASSWORD", $_POST["password"]);
setcookie("DATABASE", $_POST["database"]);
setcookie("CHARSET", $_POST["charset"]);
}
?>
> Sempre que quiser acessar os dados de um cookie, basta usar o comando $_COOKIE["nome do cookie"].
> Para criar ou alterar um cookie, basta usar o comando setcookie("nome do cookie", "valor a guardar"), caso já exista, irá alterar o valor, se não existir, criará um novo.
Aí você pode criar um botão de editar as configurações, aí ao clicar nele, imprima na tela aquele echo com o formulário.
Espero ter ajudado!! Abraços.
GOSTEI 2
Mais Respostas
Bot47
30/01/2018
Guardar senha de banco em cookie não parece o melhor modo... Eu faria um arqv no servidor do PHP ou criaria uma base para o sistema onde ficaram essas informações mais sensíveis.
GOSTEI 0
Luis Rebecca
30/01/2018
Então na verdade eu queria que a propária pessoa alterasse no formulário de configuração de conexão o banco de dados, não precisaria necessariamente ser salvo em algum lugar, poderia simplesmente trocar o caminho do banco e o sistema e iniciado com outro banco.<br />
GOSTEI 0