iMasters Fóruns: Sistema de Cadastro em PHP/MySQL - iMasters Fóruns

Ir para

Bom uso da área



Atenção:
Este subfórum é destinado apenas para postagem de artigos, tutoriais e matérias sobre PHP.
Não é permitido a abertura de tópicos com dúvidas. Para isso, use o Fórum de PHP.
  • (6 Páginas)
  • +
  • « Primeiro
  • 4
  • 5
  • 6
  • Novo tópico
  • Responder

Sistema de Cadastro em PHP/MySQL Completo: Salvar/Editar/Excluir/Listar/Login

#251 Membro offline   haluch Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1
  • Cadastrado: 01-outubro 09

Postou 01 outubro 2009 - 11:48

Ver postFabyo, em 03 setembro 2009 - 08:08 , disse:

Testa se voce esta logado mesmo, da um print_r na session ou na pagina de pesquisar retire a validação de login


Como assim Fabyo, dar um PRINT_R ???

#252 Membro offline   Matias Rezende Ícone

  • Moderador PHP
  • Ícone
  • Grupo: Moderadores
  • Posts: 3285
  • Cadastrado: 02-março 09
  • Sexo:Masculino
  • Localização:São José - SC

Postou 01 outubro 2009 - 11:53

Faça um print_r($_SESSION) para exibir todos os dados constantes dentro do array $_SESSION.

Carlos Eduardo

#253 Membro offline   Hamilton de tarso Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1
  • Cadastrado: 04-outubro 09

Postou 04 outubro 2009 - 21:48

ae tipo eu sou leigo em php mais quero aprender eu baixei o codigo do fabyo e so queria saber aonde eu ponho o link da pagina para onde o usuario ai apos logar.e se possivel um tuto esplicando os codigos do sistema de cadastro.vlw o codigo e perfeito.

#254 Membro offline   carlos_pv Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 3
  • Cadastrado: 11-maio 09

Postou 26 outubro 2009 - 15:58

O problema do salario que na hora de cadastrar como 790,50 (aparece no banco 790).

Alguém tem um código que corrija esse problema, ou alguma solução.

#255 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Masters
  • Posts: 5759
  • Cadastrado: 08-outubro 04
  • Sexo:Masculino
  • Localização:Ribeirão Pires - SP

Postou 26 outubro 2009 - 16:03

Tente usar ponto em vez de virgula 790.50, nem lembro como esta o codigo, mas acredito que deveria ter uma função para trocar a virgula por ponto;

#256 Membro offline   carlos_pv Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 3
  • Cadastrado: 11-maio 09

Postou 26 outubro 2009 - 16:20

Assim funciona trocando o ponto por virgula, porém no meu sistema a pessoa irá digitar virgula, teria que fazer a conversão.

Você tem algum código pronto ?
Ou alguma função?


Na hora de mostrar na tela de (virgula para .), estou usando a função number_format, meu problema é na hora de dar o input de dados.

#257 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Masters
  • Posts: 5759
  • Cadastrado: 08-outubro 04
  • Sexo:Masculino
  • Localização:Ribeirão Pires - SP

Postou 26 outubro 2009 - 16:29

da um replace
$valor = str_replace(',', '.', $_POST['valor']);

#258 Membro offline   carlos_pv Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 3
  • Cadastrado: 11-maio 09

Postou 26 outubro 2009 - 16:31

Obrigado, caso alguem queira tirar dúvidas sobre conversão:

<?php
$numero = 1500.50; // número a ser formatado

echo number_format($numero,2,",",".");
echo"<BR>";

$numero = "1500,50"; // número a ser formatado

echo $numero;
echo"<BR>";
$valor = str_replace(',', '.', $numero);
echo $valor;

?>

#259 Membro offline   Prider Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 04-maio 07

Postou 03 novembro 2009 - 00:08

Olá Fabyo ! Ótimo tutorial, o melhor que já li até hoje a respeito de cadastro. Obrigado pela sua iniciativa.

Estou com um pequeno problema no listar.php

olha o erro aí:


Notice: Uninitialized string offset: 0 in /home/wmaster/public_html/macrodesign.com.br/fabio/listar.php on line 60

Notice: Uninitialized string offset: 0 in /home/wmaster/public_html/macrodesign.com.br/fabio/listar.php on line 65


se quiser conferir está neste Link

Olhei no listar.php e existe isto aqui:

na linha 60 :

if($dados['nivel_acesso'] == 2){

e na linha 65 :

if($dados['nivel_acesso'] == 1 and $dados['id_usuario'] == $id){

aí está o meu listar.php completo:
----------------------------------------------------------------------------------------
<?php
require_once "protecao.php";

if(file_exists("init.php")) {
	require "init.php";		
} else {
	echo "Arquivo init.php nao foi encontrado";
	exit;
}

if(!function_exists("Abre_Conexao")) {
	echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
	exit;
}

Abre_Conexao();
$re = mysql_query("SELECT * FROM usuarios INNER JOIN estados ON usuarios.fk_estado = estados.id_estado ORDER BY usuarios.nome;");
if(mysql_errno() != 0) {
	if(!isset($erros)) {
		echo "Erro o arquivo init.php foi auterado, nao existe $erros";
		exit;
	}
	echo $erros[mysql_errno()];
	exit;
}
?>
<a href="index.php">Voltar</a><br />

<table width="100%" border="1">
	<tr>
		<td>Ações</td>
		<td>Nome</td>
		<td>Email</td>
		<td>Data Nasc.</td>
		<td>Sexo</td>
		<td>Preferencias</td>
		<td>salario</td>
		<td>Endere&ccedil;o</td>
		<td>Bairro</td>
		<td>Cidade</td>
		<td>Estado</td>
		<td>Login</td>
	</tr>
<?php
while($l = mysql_fetch_array($re)) {
	$id          = $l["id_usuario"];
	$nome        = $l["nome"];
	$email       = $l["email"];
	$data        = implode("/", array_reverse(explode("-", $l["data_nascimento"])));
	$sexo        = $l["sexo"] == "M" ? "Masculino" : "Feminino";
	$preferencia = Pega_Preferencia($l["preferencias"]);
	$salario     = $l["salario"];
	$endereco    = $l["endereco"];
	$bairro      = $l["bairro"];
	$cidade      = $l["cidade"];
	$estado      = $l["estado"];
	$login       = $l["login"];
	
echo "<tr>";
if($dados['nivel_acesso'] == 2){
	echo "<td><a href=\"editar.php?id=$id\">[Editar]</a> <a href=\"excluir.php?id=$id\">[Excluir]</a></td>";
} else {
	echo "<td>[]</td>";
}
if($dados['nivel_acesso'] == 1 and $dados['id_usuario'] == $id){
	echo "<td><a href=\"editar.php?id=$id\">[Editar]</a> <a href=\"excluir.php?id=$id\">[Excluir]</a></td>";
}
	
echo "<td>&nbsp;$nome</td>		
		<td>&nbsp;$email</td>
		<td>&nbsp;$data</td>
		<td>&nbsp;$sexo</td>
		<td>&nbsp;". montar_lista($preferencia). "</td>
		<td>&nbsp;". number_format($salario, 2, ",", "."). "</td>
		<td>&nbsp;$endereco</td>
		<td>&nbsp;$bairro</td>
		<td>&nbsp;$cidade</td>
		<td>&nbsp;$estado</td>
		<td>&nbsp;$login</td>
	</tr>\n";
}	
@mysql_close();
?>	
</table>

-------------------------------------------------------------------------------------------

Na pagina de pesquisa (Link) mesmo estando logado, quando clico em pesquisa, me retorna este erro:

Somente usuarios logados podem pesquisar


Me ajuda por favor?

Este post foi editado por Matias Rezende: 03 novembro 2009 - 07:10
Razão por editar:: Adição do BBCode PHP


#260 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Masters
  • Posts: 5759
  • Cadastrado: 08-outubro 04
  • Sexo:Masculino
  • Localização:Ribeirão Pires - SP

Postou 03 novembro 2009 - 06:38

posta seu script logar.php e protecao.php

#261 Membro offline   Prider Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 04-maio 07

Postou 03 novembro 2009 - 15:12

Ver postFabyo, em 03 novembro 2009 - 07:38 , disse:

posta seu script logar.php e protecao.php


Obrigado por responder!

Bom la vão eles:

------------------------------------------------------------

logar.php
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
	$login  = isset($_POST['login']) ? $_POST['login'] : '';
	$login  = !get_magic_quotes_gpc() ? addslashes($login) : $login;
	$senha = isset($_POST['senha']) ? md5($_POST['senha']) : '';
	
	
	settype($login, 'string');
	$sql = "SELECT count(login) as total FROM usuarios WHERE login = '%s' AND senha = '%s'";
	$sql = sprintf($sql, $login, $senha);
	
	if(file_exists("init.php")) {
		require "init.php";		
	} else {
		echo "Arquivo init.php nao foi encontrado";
		exit;
	}

	if(!function_exists("Abre_Conexao")) {
		echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
		exit;
	}

	Abre_Conexao();
	
	$re    = mysql_query($sql);
	$total = (bool) mysql_result($re, '0', 'total');
	if($total){
		$sql = "SELECT * FROM usuarios WHERE login = '%s' AND senha = '%s'";
		$sql = sprintf($sql, $login, $senha);	
		$result = mysql_query($sql);	
		$dados  = mysql_fetch_array($result);
		
		session_start();
		$_SESSION['dados'] = $dados;
		header("Location: index.php");
	} else {
		header("Location: login.html");
	}
} else {
	header("Location: login.html");
}
?>

-----------------------------------------------

protecao.php
<?php
session_start();
$dados = isset($_SESSION['dados']) ? $_SESSION['dados'] : '';

?>

-----------------------------------------------

Está aí....

Mais uma coisinha... tem como você criar uma área pra que o usuario possa alterar a sua senha e tenha um lembrete de senha? Tipo na maioria dos sites que tem o sistema de login.. se você puder fazer isso você vai me ajudar muito !!

Obrigado pela ajuda!

Este post foi editado por Matias Rezende: 03 novembro 2009 - 16:32
Razão por editar:: Adição do BBCode PHP


#262 Membro offline   Zaiden_gyn Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 2
  • Cadastrado: 02-agosto 06

Postou 05 novembro 2009 - 11:24

Pessoal esta dando este erro quando teclo F12, abre a tela de Identificacao, com usuario e senha, deixo os campos em branco e clico em no botão entrar, dai da este erro:
Firefox não conseguiu localizar o arquivo /C:/wamp/www/SistemaCadUser/<? echo $PHP_SELF;?>.

O que posso fazer pra resolver isso?

#263 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Masters
  • Posts: 5759
  • Cadastrado: 08-outubro 04
  • Sexo:Masculino
  • Localização:Ribeirão Pires - SP

Postou 05 novembro 2009 - 12:11

onde vc esta usando isso $PHP_SELF ?

com PHP5 e register_globals = off essa variavel nao existe

vc tem que usar $_SERVER['PHP_SELF']

#264 Membro offline   Matias Rezende Ícone

  • Moderador PHP
  • Ícone
  • Grupo: Moderadores
  • Posts: 3285
  • Cadastrado: 02-março 09
  • Sexo:Masculino
  • Localização:São José - SC

Postou 05 novembro 2009 - 13:17

Além disto, se short_tags estiver em OFF, <? não vai funcionar também. Troque por <?php.

Carlos Eduardo

#265 Membro offline   Prider Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 04-maio 07

Postou 05 novembro 2009 - 17:43

AJUDA NOS POSTS #259 E #261

Postei como o Fabyo pediu.... por favor amigos se puderem me ajudar agradeço muito....

#266 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Masters
  • Posts: 5759
  • Cadastrado: 08-outubro 04
  • Sexo:Masculino
  • Localização:Ribeirão Pires - SP

Postou 06 novembro 2009 - 14:11

Pelo que pude perceber seu script nao tem na session "nivel_acesso"

vc alterou alguma coisa?

#267 Membro offline   Prider Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 04-maio 07

Postou 07 novembro 2009 - 03:10

Ver postFabyo, em 06 novembro 2009 - 14:11 , disse:

Pelo que pude perceber seu script nao tem na session "nivel_acesso"

você alterou alguma coisa?



Encontrei o erro! era na tabela sql que nao salvei as linhas....

------------------------------------------------------------------
nivel_acesso ENUM('0', '1', '2') NOT NULL DEFAULT '0'
);
------------------------------------------------------------------

Mais uma coisinha... tem como você criar uma área pra que o usuario possa alterar a sua senha e tenha um lembrete de senha?
Como na maioria dos sites que tem o sistema de login e logo abaixo tem um link "esqueceu/perdeu a senha" e um link pro user poder alterar sua senha informando a senha antiga.. se você puder fazer isso você vai me ajudar muito !!

Obrigado pela iniciativa e pela ajuda!

#268 Membro offline   ativa ltda Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1
  • Cadastrado: 13-novembro 09

Postou 13 novembro 2009 - 17:36

Perfeito sistema, deve ter tido muito trabalho para eleborar... me matei fazendo um com mdb.

Este post foi editado por Matias Rezende: 13 novembro 2009 - 19:25
Razão por editar:: Retirada de Quote desnecessário


  • (6 Páginas)
  • +
  • « Primeiro
  • 4
  • 5
  • 6
  • Novo tópico
  • Responder

3 usuário(s) está(ão) lendo este tópico
0 membro(s), 3 visitante(s) e 0 membros anônimo(s)