Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Eu estou apredendo a mexer no paradigma orientado a objetos em php, mas estou com um problema meio estranho, pois eu tenho duas classes que "require ou import" uma classe que criei para executar os comandos MySQL, o problema é que quando eu importo as duas classes numa mesma página ele não executa o código mais abaixo. Se alguem puder ajudar eu ficaria muito grado !!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Eu vou deixar as classes abaixo para alguem ver se encontra o problema !
Mysql.php
<?
class Mysql {
//---------------------Atributos----------------------------
//Dados do seu banco de dados para conecção! - Necessário Alteração!
private $DBHostName = "******"; //Ip da máquina servidora onde está rodando o MySQL(se estiver na mesma máquina utilizar "localhost")
private $DBUserName = "******"; //Nome do usuario
private $DBPassword = "******"; //Senha do usuario
private $DBName = "******"; //Nome da base de dados
private $result;
private $query;
private $con;
//----------------------Metodos----------------------------
/**
* @return Mysql
* @desc Construtor da classe Mysql.
*/
public function __construct(){$this->connect();}
/**
* @return void
* @desc Método que Conecta ao Servidor e seleciona Banco de Dados.
*/
public function connect()
{
$this->con = mysql_connect($this->DBHostName,$this->DBUserName,$this->DBPassword);
if(!$this->con){
echo "Erro na Conexão.<br>"
."<b>MySQL retornou: </b> ".mysql_error()."<br>";
exit;
} elseif (!mysql_select_db($this->DBName,$this->con)){
echo "Erro na seleção do Banco de Dados.<br>"
."<b>MySQL retornou: </b> ".mysql_error()."<br>";
exit;
}
}
/**
* @return mysql_close
* @desc Desconecta do Banco de dados
*/
public function disconnect()
{
return mysql_close($this->con);
}
/**
* @return Result
* @param String $query
* @desc Executa SQL pasada por parametro, se houver erro retorna 0.
*/
public function execSql($query)
{
$this->query = $query;
if($this->result = mysql_query( $this->query ))
return $this->result;
else
{
echo "<b>Erro ao executar o SQL: ".mysql_error()."</b>";
//Caso a conecção tenha caído, impossibilitando a execução do comando sql - medida preventiva
$this->disconnect();
$this->connect();
exit;
}
}
}
?>
Gerente.php
<?
require("Mysql.php");
class Gerente{
//---------------------Atributos----------------------------
//varialveis globais da classe
private $login;
private $senha;
//----------------------Metodos-----------------------------
/**
* @return Usuario
* @desc Construtor da classe Usuario
*/
function __construct(){}
//-----------------GETs das Variaveis-----------------------
//public function get(){}
//-----------------SETs das Variaveis-----------------------
//public function set(){}
//-------------------DOs dos Metodos------------------------
public function doAlertaNovoUsuario()
{
$mysql = new Mysql();
$result = $mysql->execSql("Select * From usuario Where novoCadastro='1';");
$linhas = mysql_num_rows($result);
if($linhas > 0)
echo "<script LANGUAGE='javascript'>alert('Information: Existem $linhas cadastros a serem efetivados!');</script>";
}
public function doEfetivarUsuario($login, $email)
{
$mysql = new Mysql();
//-----------Gerar numeros e caracteres aleatorios------------------
$str = '';
$tam = 6; //tamanho da estring gerada
for($i = 1;$i <= $tam; $i++)
{
$escolha = rand(1,2);
if($escolha == 1)//O valor um representa uma letre do alfabeto
{
$letra = 'abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ';
$randomico = rand(1,strlen($letra));
$letra = substr($letra,$randomico,1);
$str .= $letra;
}
else//Se o valor for 2 representa numero
{
$numero = rand(0,9);
$str .= $numero;
}
}
//-------------Fim gera numeros aleatorios: variavel str-----------------------
$senha=sha1($str);
//Atualizar dados cadastrais
$result = $mysql->execSql("Update usuario Set novoCadastro = 0, senha = '$senha' Where login='$login' and novoCadastro='1';");
//enviar email!!!!!
$address = $email;
$subject = "Obelisk liberacao!!";
$body = "Liberacao do Obelisk<br><br>Login = $login<br>Senha = $str ";
$mailsend = mail($address, $subject, $body);
echo $mailsend;
}
}
?>
Usuario.php
<?php
require("Mysql.php");// Inclui a class para conecção com o banco de dados
class Usuario{
//---------------------Atributos----------------------------
//varialveis globais da classe
private $id;
private $nome;
private $login;
private $nasc;
private $sexo;
private $email;
private $cep;
private $pais;
private $estado;
private $cidade;
private $bairro;
private $rua;
private $numero;
private $complemento;
private $telefone;
private $ddi;
private $ddd;
private $senha;
private $novoCadastro = true;
//----------------------Metodos-----------------------------
/**
* @return Usuario
* @desc Construtor da classe Usuario
*/
function __construct(){}
//-----------------GETs das Variaveis-----------------------
public function getId(){return $this->id;}
public function getNome(){return $this->nome;}
public function getLogin(){return $this->login;}
public function getNasc(){return $this->nasc;}
public function getSexo(){return $this->sexo;}
public function getEmail(){return $this->email;}
public function getCep(){return $this->cep;}
public function getPais(){return $this->pais;}
public function getEstado(){return $this->estado;}
public function getCidade(){return $this->cidade;}
public function getBairro(){return $this->bairro;}
public function getRua(){return $this->rua;}
public function getNumero(){return $this->numero;}
public function getComplemento(){return $this->complemento;}
public function getTelefone(){return $this->telefone;}
public function getDdi(){return $this->ddi;}
public function getDdd(){return $this->ddd;}
public function getSenha(){return $this->senha;}
public function getNovoCadastro(){return $this->novoCadastro;}
//-----------------SETs das Variaveis-----------------------
public function setNome($nome){$this->nome = addslashes(trim($nome));}
public function setLogin($login){$this->login = addslashes(trim($login));}
public function setNasc($nasc){$this->nasc = addslashes(trim($nasc));}
public function setSexo($sexo){$this->sexo = addslashes(trim($sexo));}
public function setEmail($email){$this->email = addslashes(trim($email));}
public function setCep($cep){$this->cep = addslashes(trim($cep));}
public function setPais($pais){$this->pais = addslashes(trim($pais));}
public function setEstado($estado){$this->estado = addslashes(trim($estado));}
public function setCidade($cidade){$this->cidade = addslashes(trim($cidade));}
public function setBairro($bairro){$this->bairro = addslashes(trim($bairro));}
public function setRua($rua){$this->rua = addslashes(trim($rua));}
public function setNumero($numero){$this->numero = addslashes(trim($numero));}
public function setComplemento($complemento){$this->complemento = addslashes(trim($complemento));}
public function setTelefone($telefone){$this->telefone = addslashes(trim($telefone));}
public function setDdi($ddi){$this->ddi = addslashes(trim($ddi));}
public function setDdd($ddd){$this->ddd = addslashes(trim($ddd));}
public function setSenha($senha){$this->senha = sha1(trim($senha));}
public function setUsuario( $nome, $login, $nasc, $sexo, $email, $cep, $pais, $estado, $cidade, $bairro, $rua, $numero, $complemento, $telefone, $ddi, $ddd)
{
$this->nome = addslashes(trim($nome));
$this->login = addslashes(trim($login));
$this->nasc = addslashes(trim($nasc));
$this->sexo = addslashes(trim($sexo));
$this->email = addslashes(trim($email));
$this->cep = addslashes(trim($cep));
$this->pais = addslashes(trim($pais));
$this->estado = addslashes(trim($estado));
$this->cidade = addslashes(trim($cidade));
$this->bairro = addslashes(trim($bairro));
$this->rua = addslashes(trim($rua));
$this->numero = $numero;
$this->complemento = addslashes(trim($complemento));
$this->telefone = $telefone;
$this->ddi = $ddi;
$this->ddd = $ddd;
$this->senha = sha1(trim($senha));
}
//-------------------DOs dos Metodos------------------------
public function doCadastrar()
{
$mysql = new Mysql(); //Cria a conecção com o banco e cria um objeto para executar o sql
$result = $mysql->execSql("INSERT INTO usuario(nome,nasc,login,sexo,email,pais,estado,cidade,bairro,rua,numero,compleme
to,cep,novoCadastro) VALUES ('$this->nome','$this->nasc','$this->login','$this->sexo','$this->email','$this->pais','$this->estado','$this->cidade','$this->bairro','$this->rua','$this->numero','$this->complemento','$this->cep','$this->novoCadastro');");
$result = $mysql->execSql("Select id From usuario Where login='$this->login'");
$linha = mysql_fetch_array($result);
$id = $linha["id"];
for( $i = 0 ; $i < count($this->telefone) ; $i++ )
$result = $mysql->execSql("INSERT INTO telefone(id,ddi,ddd,telefone) VALUES ('$id','".$this->ddi[ $i ]."','".$this->ddd[ $i ]."','".$this->telefone[ $i ]."');");
echo "<br><br><center><font color=red>Dados enviados com sucesso.</font><br><a href='java script:history.back(-1)'>volta</a></center>";
}
public function doConsultarUsuario($log)
{
$mysql = new Mysql(); //Cria a conecção com o banco e cria um objeto para executar o sql
$result = $mysql->execSql("Select * From usuario where login='$log';");
$linha = mysql_fetch_array($result);
if($linha == 0)
echo "<script LANGUAGE='javascript'>alert('Nenhum resultado encontrado!');</script>";
else
{
$this->id = $linha['id'];
$this->nome = $linha['nome'];
$this->login = $linha['login'];
$this->nasc = $linha['nasc'];
$this->sexo = $linha['sexo'];
$this->email = $linha['email'];
$this->pais = $linha['pais'];
$this->estado = $linha['estado'];
$this->cidade = $linha['cidade'];
$this->bairro = $linha['bairro'];
$this->rua = $linha['rua'];
$this->numero = $linha['numero'];
$this->complemento = $linha['complemento'];
$this->cep = $linha['cep'];
$this->novoCadastro = $linha['novoCadastro'];
//Carrrega o array de telefones
$result = $mysql->execSql("Select * From telefone where id='$this->id';");
$i=0;
while($linha = mysql_fetch_array($result))
{
$this->ddd[$i] = $linha['ddd'];
$this->ddi[$i] = $linha['ddi'];
$this->telefone[$i] = $linha['telefone'];
$i++;
}
}
}
public function doAlterar()
{
$mysql = new Mysql(); //Cria a conecção com o banco e cria um objeto para executar o sql
$result = $mysql->execSql("Update usuario Set nome='$this->nome',nasc='$this->nasc',login='$this->login',sexo='$this->sexo',email='$this->email',pais='$this->pais',estado='$this->estado',cidade='$this->cidade',bairro='$this->bairro',rua='$this->rua',numero='$this->numero',complemento='$this->complemento',cep='$this->cep' Where login='$this->login';");
$result = $mysql->execSql("Select * From telefone where id='$id';");
$linhas = mysql_num_rows($result);
$linhas2 = $linhas;
$i=0;
while($linha = mysql_fetch_array($result))
{
$tel = $linha['telefone'];
$result = $mysql->execSql("Update telefone Set ddi = '".$this->ddi[ $i ]."',ddd = '".$this->ddd[ $i ]."',telefone = '".$this->telefone[ $i ]."' Where id = '".$this->id."' and telefone = '".$tel."';" );
$i++;
}
//--- Inserindo novos telefones, Lembrete inserir telefones antigos modificados + os telefones que desejam inserir no setUsuario
for($i = $linhas2; $i < count($this->telefone); $i++)
$result = $mysql->execSql("INSERT INTO telefone VALUES ('$id','".$this->ddi[ $i ]."','".$this->ddd[ $i ]."','".$this->telefone[ $i ]."');");
}
public function doConsultarCep()
{
}
//-------------------Removes dos Metodos------------------------
public function removeCadastro($log)
{
$mysql = new Mysql(); //Cria a conecção com o banco e cria um objeto para executar o sql
$result = $mysql->execSql("Select * From usuario where login='$log';");
$linha = mysql_fetch_array($result);
$chave = $linha['id'];
$result = $mysql->execSql("Delete From telefone Where id='$chave';");
$result = $mysql->execSql("Delete From usuario Where id='$chave';");
}
public function doValidarLogin($login)
{
$mysql = new Mysql(); //Cria a conecção com o banco e cria um objeto para executar o sql
$result = $mysql->execSql("Select * From usuario Where login='$login';");
if ($row = mysql_fetch_array($result))
{
echo "<script language='javaScript'>alert('Login: $login Inválido! - Motivo: Login já cadastrado!');</script>";
return false;
}
else return true;
}
}
?>
Ai quando eu faço isso não executa os dois ao mesmo tempo teste.php
require("Usuario.php");
$user = new Usuario();
$nome = "Raf";
$login = "Raf";
$nasc = "Raf";
$sexo = "R";
$email = "Raf";
$cep = "Raf";
$pais = "Raf";
$estado = "Raf";
$cidade = "Raf";
$bairro = "Raf";
$rua= "Raf";
$numero = 1;
$complemento = "Raf";
$telefone[0]=111;
$telefone[1]=111;
$ddi[0]=11;
$ddi[1]=11;
$ddd[0]=11;
$ddd[1]=11;
$user->setUsuario($nome, $login, $nasc, $sexo, $email, $cep, $pais, $estado, $cidade, $bairro, $rua, $numero, $complemento, &$telefone, &$ddi, &$ddd);
$user->doCadastrar();
require("Gerente.php");
$gerente = new Gerente();
$gerente->doAlertaNovoUsuario();
$gerente->doEfetivarUsuario($login, $email);
ps: Se alguém puder ajudar agradeço!!!
Carregando comentários...