Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Aderson Designer

Input Oculto - PHP

Recommended Posts

Olá Galera desejo que esteja tudo bem com vocês!

 

estou com essa ideia desde quando aprendi a fazer um sistema de login e senha e seus usuários vá para suas paginas de destino diferentes.

Este é o Código de cadastro e conexão ao Banco de Dados.

Conecta.php :
<?php
$server="localhost";    
$user="dados";    
$password="123";    
$dbname="adersonbanco1";
mysql_connect($server,$user,$password) or die(mysql_error());    
mysql_select_db($dbname) or die(mysql_error());?>

Cadastra no BD:
<?php include("conecta.php");
$nome = $_POST['nome'];
$email = $_POST['email'];
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$pagina = $_POST['pagina'];
$query = "INSERT INTO tabela_login (nome,email,usuario,senha, pagina) VALUES ('$nome','$email','$usuario','$senha','$pagina')";
mysql_query($query) or die (mysql_error()); mysql_close(); header("location: ../index.php")?>

Formulário: <form method="POST" action="bd/cadastra.php"> <div id="CampOculto" align="center"><input name="pagina" type="hidden" value="<?php $usuario?>"></div> <div id="CampNome" align="center"><h7>Nome:</h7> <input name="nome" type="text" size="25" /></div> <div id="CampEmail" align="center"><h7>E-mail:</h7> <input name="email" type="text" size="25" /></div> <div id="CampUsuario" align="center"><h7>Usuario:</h7> <input name="usuario" type="text" maxlength="20" size="25" title="usuario só letra." /></div> <div id="CampSenha" align="center"><h7>Senha:</h7> <input name="senha" type="password" maxlength="15" size="25" title="Senha só numeros até 15 numeros" /></div> <div id="CampEnviar" align="center"><input type="submit" name="Submit" value="ENVIAR" src="#" /></div> </form>

 

Tem uma input oculta com o nome de "pagina", Quero usar o nome do usuário como o nome da pagina,

ou seja quando a pessoa preencher o formulário coloca: Nome, Email, Usuário, Senha.

ae o nome do usuário, quero que seja o nome da pagina, é chato para pessoal preenche um campo chamado de pagina,

então o nome do usuário será pequeno. tudo isso vai pro banco de dados.

 

Depois vejo e crio Os Códigos desta pagina que terá o nome do Usuário.

 

acho que deu para Entender

 

Agradeço desde já!

 

 

Obs. Todos os campos é enviados para o banco de dados, mais a input "pagina" esta em branco,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quero usar o nome do usuário como o nome da pagina,

ou seja quando a pessoa preencher o formulário coloca: Nome, Email, Usuário, Senha.

ae o nome do usuário, quero que seja o nome da pagina,

 

se entendi bem, as colunas da tabela serão iguais; ai nem precisa esse campo oculto; tente essa sql:

$query = "INSERT INTO tabela_login (nome,email,usuario,senha, pagina)
VALUES ('$nome','$email','$usuario','$senha','$usuario')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fernando Obrigado mais não será iguais, por que a coluna pagina quero que apareça o nome do usuário +.php

 

Consegui fazer assim

Cadastra no Banco de Dados,

<?php    include("conecta.php");
$nome = $_POST['nome']; 
$email = $_POST['email'];     
$usuario = $_POST['usuario'];     
$senha = $_POST['senha'];
$pagina =  $_POST['usuario'];
        
$query = "INSERT INTO tabela_login (nome,email,usuario,senha, pagina) VALUES ('$nome','$email','$usuario','$senha','$pagina')";    
mysql_query($query) or die (mysql_error()); mysql_close(); header("location: ../index.php")?>

Olha esta parte

$pagina =  $_POST['usuario'];

Coloque Usuario e não pagina, assim o mesmo nome de usuario que a pessoa coloca vai para a coluna de pagina,

agora vem a parte que eu acho Complicada ou até mesmo impossível.

quero que cadastre no banco de dados da seguinte forma.:

$pagina =  $_POST['usuario.php'];

que adicione automaticamente a extenção .php para fica assim usuario.php

 

tem como Fernando ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fernando Obrigado mais não será iguais, por que a coluna pagina quero que apareça o nome do usuário +.php

 

Consegui fazer assim

Cadastra no Banco de Dados,

<?php    include("conecta.php");
$nome = $_POST['nome']; 
$email = $_POST['email'];     
$usuario = $_POST['usuario'];     
$senha = $_POST['senha'];
$pagina =  $_POST['usuario'];
        
$query = "INSERT INTO tabela_login (nome,email,usuario,senha, pagina) VALUES ('$nome','$email','$usuario','$senha','$pagina')";    
mysql_query($query) or die (mysql_error()); mysql_close(); header("location: ../index.php")?>

Olha esta parte

$pagina =  $_POST['usuario'];

Coloque Usuario e não pagina, assim o mesmo nome de usuario que a pessoa coloca vai para a coluna de pagina,

agora vem a parte que eu acho Complicada ou até mesmo impossível.

quero que cadastre no banco de dados da seguinte forma.:

$pagina =  $_POST['usuario.php'];

que adicione automaticamente a extenção .php para fica assim usuario.php

 

tem como Fernando ??

Alguém pode me ajuda ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa desta gambiarra toda!

 

Armazene o nome ou usuário como slug "Perfil", crie um índice neste campo como Unique, para evitar duplicidade, depois é só criar as regras no .htaccess, a slug será seu parâmetro para puxar as informações do usuário, como fosse uma ID, mas em texto. Sacou?

 

Exemplo:

www.exemplo.com/perfil

De uma olhada aqui, par criar as regras

Compartilhar este post


Link para o post
Compartilhar em outros sites

Williams Duarte Não entendi Slug perfil.

 

Agradeço!


Meus Queridos Amigos a Primeira parte deste Problema já resolvi.

 

existe sim e acabei de achar e saber como faz.
fiz vários testes e conseguir assim:
no PHP que faz o cadastro no banco de dados adicionei o .php assim $pagina.php
e no banco de dados fica com o nome do usuario que pode ser qualquer um exemplo: joao.php

$query = "INSERT INTO tabela_login (nome,email,usuario,senha, pagina) VALUES ('$nome','$email','$usuario','$senha','$pagina.php')"; 

é só criar a pagina depois e pronto!!!

 

e o mais importante como faço para enviar tudo isso para um e-mail ??

 

só isso resolve meu problema.

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual necessidade deste .php no db?
não era mais simples passar por uma condição e verifica se o script existe?

 

ex:

$retVal = (condition) ? a : b ;

Código

$pagina = isset($_GET['pagina']) ? strip_tags( $_GET['pagina'] ) : null ;

if (file_exists($pagina .'.php')) {
	include_once $pagina .'.php';
} else {
	include_once 'default.php';
}

Na realidade nem precisa deste include, sendo que você tinha que puxar os dados do banco pelo nome da pagina

select * from table where page = '$page'

como se fosse uma ID numérica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Williams Duarte

A necessidade deste .php no db é para facilitar.

vou da um exemplo: todo dia 5 pessoas faz esse cadastro, para cada cadastro existira uma pagina pessoal para essa pessoa.

o Formulário é enviado para o DB, no DB existe uma Tabela com as colunas chamadas de nome, email, usuario, senha e pagina.

a Coluna Pagina vai fica como o nome do usuario.php ex.: pedro.php

Eu vou verifica a cada 1 hora se tem novos cadastros, se tiver irei só criar a pagina especifica para aquele novo usuário,Não Preciso coloca manual a extensão .php

OBSERVAÇÃO: "O código que estou usando é de sistema de login e senha, sendo que toda aquele que inserir seu login e senha será direcionado para sua pagina especifica. se for joão que logar ele ira para pagina joao.php se for Pedro que logar ele vai para pedro.php "

 

assim por diante. isso ajuda muito no trabalho.

 

Tudo já esta Resolvido

SÓ QUERO SABER COMO ENVIO O FORMULÁRIO PARA UM EMAIL, JÁ QUE O MESMO SERÁ ENVIADO PARA UM BANCO DE DADOS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem preciso falar novamente que isso ai é uma gambiarra, mas quando escreveu em maiúsculo propositadamente, ai já é total falta de respeito, ai a resposta é!

 

Se Vire.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aderson, de qualquer forma de uma olhada nesse tópico:

http://forum.imasters.com.br/topic/538240-com-enviar-um-e-mail-do-postresql-localmente-para-um-e-mail-do-gmail/

 

deve t ajudar. mais detalhes: pesquise sobre a classe PHPmailer; não é minha área. mas quem sabe pode t ajudar.. boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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