Jump to content
marcelobbt

Função __get() não funciona corretamente

Recommended Posts

Fiz uma classe no PHP Codeigniter mas ela só não está funcionando com a variável 'idUsuario'. Alguma explicação? Existem algumas palavras que são restritas no CodeIgniter? Resolvi alterando a variável para public e chamando ela diretamente. exemplo: echo $pessoa->idUsuario.

 

Outro dia tive um problema parecido com a palavra 'data'. Resolvi alterando o nome mas está muito esquisito esses erros. Será que alguém tem alguma explicação?

 

Abaixo a classe:

 

class Usuario extends CI_Model {
	public $idUsuario;
	private $usuario;
	private $email;
	private $senha;
	private $nivel;
	
	public function __construct ($idUsuario=NULL, $usuario=NULL, $email=NULL, $senha=NULL, $nivel=NULL) {
		parent::__construct();
		$this->idUsuario = $idUsuario;
		$this->usuario = $usuario;
		$this->email = $email;
		$this->senha = $senha;
		$this->nivel = $nivel;
		
	}	
	public function __get($nome) {
        switch (strtolower($nome)){
            case 'idUsuario': echo "foi";
                return $this->idUsuario;
            case 'usuario':
                return $this->usuario;
            case 'email': 
                return $this->email;
            case 'senha': 
                return $this->senha;
            case 'nivel': 
                return $this->nivel;
        }
    }
    public function __set($nome, $valor) {
        switch (strtolower($nome)){
            case 'idUsuario':
                $this->idUsuario = $valor;
            case 'usuario':
                $this->usuario = $valor;
            case 'email':
                $this->email = $valor;
            case 'senha':
                $this->senha = $valor;
            case 'nivel':
                $this->nivel = $valor;
        }
    }
}

 

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 tatysouzac
      Minha view:
      <div>                            
                                          <form method="post" action="http://localhost/integradorcode/index.php/welcome/validar">
                                          EMAIL: <input type="text" name="email"  /> <br><br>
                                          SENHA:  <input type="password" name="senha"/> <br><br><br><br>
                                          <input class="myButton" type="submit" value="Entrar"/> <br><br>
                                          </form>
                                          <a href="Cadastro.php" class="myButton">Cadastrar</a><br><br>
                                          <a href="#" class="myButton">Esqueceu sua senha?</a>
               </div>
       
       
       
      Controller:
       
          public function validar(){
              //var_dump($_POST);
              $this->load->model("Cadastro_model");
              $result = $this->Cadastro_model->validar($_POST["email"],md5($_POST["senha"]));
              var_dump($result);
          }
       
       
      Model:
       
          function validar($email, $senha){
              return $this->db->query("SELECT * FROM `cadastro_clientes` WHERE email_cliente = '{$email}'  AND senha_cliente = '{$senha}' AND status = 1 LIMIT 1")->result_array();
          }
       
       
      Não da nenhuma mensagem de erro mas coloco senha e login certos do meu bd e o return não retorna nada array 0 
    • By StenioDaty
      Estou criando um sistema com adição de um tópico categoria que assim que é adicionado é chamado na tabela para aparecer na tabela ao lado.
      Estou recebendo o erro abaixo, mas a categoria é cadastrada:
       
      A PHP Error was encountered
      Severity: Warning
      Message: Cannot modify header information - headers already sent by (output started at /storage/ssd5/194/9530194/public_html/application/helpers/funcoes_helper.php:1)
      Filename: helpers/url_helper.php
      Line Number: 564
      Backtrace:
      File: /storage/ssd5/194/9530194/public_html/application/controllers/admin/Categoria.php
      Line: 35
      Function: redirect
      File: /storage/ssd5/194/9530194/public_html/index.php
      Line: 315
      Function: require_once
       
       
       
       
      Segue foto:
       
       
      View Código:
       
      <div id="page-wrapper">
                  <div class="row">
                      <div class="col-lg-12">
                          <h1 class="page-header"><?php echo 'Administrar '.$subtitulo; ?></h1>
                      </div>
                                  </div>
                              <div class="row">                
                      <div class="col-lg-6">
                          <div class="panel panel-default">
                              <div class="panel-heading">
                                 <?php echo 'Adicionar nova '.$subtitulo; ?>
                              </div>
                              <div class="panel-body">
                                  <div class="row">
                                      <div class="col-lg-12">
                                          <?php 
                                          echo validation_errors('<div class="alert  alert-danger">','</div>');
                                          echo form_open('admin/categoria/inserir');
                                          ?>
                                          <div class="form-group">
                                                  <label id="txt-categoria">Nome da Categoria</label>
                                                  <input type="text" id="txt-categoria" name="txt-categoria" class="form-control" placeholder="Entre com o texto">
                                          </div>
                                          <button type="submit" class="btn btn-default">Cadastrar</button>
                                          
                                          <?php
                                          echo form_close();
                                          ?>
                                      </div>
                                      
                                  </div>
                                  <!-- /.row (nested) -->
                              </div>
                              <!-- /.panel-body -->
                          </div>
                          <!-- /.panel -->
                      </div>
                      <!-- /.col-lg-6 -->
                      
                      
                      <div class="col-lg-6">
                          <div class="panel panel-default">
                              <div class="panel-heading">
                                  <?php echo 'Alterar '.$subtitulo. ' existente'; ?>
                              </div>    
                               <?php
                                          $this->table->set_heading("Nome da Categoria","Alterar","Excluir");
                                          foreach($categorias as $categoria){
                                              $nomecat = $categoria->titulo;
                                              $alterar= anchor(base_url('Admin/categoria'),'<i class="fa fa-refresh fa-fw"></i> Alterar');
                                              $excluir=anchor(base_url('Admin/categoria/excluir/'.md5($categoria->id)),' <i class="fa fa-remove fa-fw"></i> Excluir');
                                              
                                              $this->table->add_row($nomecat,$alterar,$excluir);
                                          }
                                          
                                          $this->table->set_template(array(
                                              'table_open' => '<table class="table table-striped">'
                                              ));
                                              
                                              echo $this->table->generate();
                                      ?>           
                                            
                              </div>
                              <div class="panel-body">
                                  <div class="row">
                                      <div class="col-lg-12">
                                          
                                      </div>
                                      
                                  </div>
                                  <!-- /.row (nested) -->
                              </div>
                              <!-- /.panel-body -->
                          </div>
                          <!-- /.panel -->
                      </div>
                      
                      
                  </div>
                  <!-- /.row -->
              </div>
              <!-- /#page-wrapper -->
          </div>
       
       
      MODEL CODE:
       
      <?php
      defined('BASEPATH') OR exit('No direct script access allowed');
      class Categorias_model extends CI_Model {
          
          public $id;
          public $titulo;
          
          public function __construct(){
              parent::__construct();
          }
          
          public function listar_categorias(){
              $this->db->order_by('titulo','ASC');
              return $this->db->get('categoria')->result();
          }
          
          public function publicacao(){
              $this->db->select('usuario.id as idautor, usuario.nome, postagens.id, postagens.titulo, postagens.subtitulo, postagens.user, postagens.data, postagens.img, postagens.categoria, postagens.conteudo');
              $this->db->from('postagens');
              $this->db->join('usuario', 'usuario.id = postagens.user');
              $this->db->where('postagens.id ='.$id);
              return $this->db->get()->result();
          }
          
          public function listar_titulo($id){
              $this->db->from('categoria');
              $this->db->whre('id ='.$id);
              return $this->db->get()->result();
          }
          
          public function adicionar($titulo){
              $dados['titulo'] = $titulo;
              return $this->db->insert('categoria',$dados);
          }
          
          public function excluir($id){
              $this->db->where('md5(id)',$id);
              return $this->db->delete('categoria');
          }
          
      }
       
      CONTROLLER:
       
       
      <?php
      defined('BASEPATH') OR exit('No direct script access allowed');
      class Categoria extends CI_Controller {
          public function __construct(){
              parent::__construct();
              $this->load->model('categorias_model','modelcategorias');
              $this->categorias = $this->modelcategorias->listar_categorias();
          }
          
          public function index()
          {
              
              $dados['categorias'] = $this->categorias;
              $this->load->library('table');
              //Dados a serem enviados para o cabeçalho
              $dados['titulo'] = 'Painel de Controle';
              $dados['subtitulo'] = 'Categoria';
              
              $this->load->view('backend/template/html-header', $dados);
              $this->load->view('backend/template/template');
              $this->load->view('backend/template/categoria');
              $this->load->view('backend/template/html-footer');
          }
          
          public function inserir(){
              $this->load->library('form_validation');
              $this->form_validation->set_rules('txt-categoria','Nome da Categoria', 'required|min_length[3]|is_unique[categoria.titulo]');
              if($this->form_validation->run() == FALSE){
                  $this->index();
              }else{
                  $titulo = $this->input->post('txt-categoria');
                  if($this->modelcategorias->adicionar($titulo)){
                      redirect(base_url('admin/categoria'));
                  }else{
                      echo "Houve um erro no sistema!";
                  }
              }
              
          }
          
          public function excluir($id){
              
              if($this->modelcategorias->excluir($id)){
                      redirect(base_url('admin/categoria'));
                  }else{
                      echo "Houve um erro no sistema!";
                  }
              
          }
          
      }
       
      Gostaria de ajuda para corrigir o erro:
      Desde já agradeço!
       
    • By RodrigoWD3
      Boa tarde pessoal nao sei se estou no tópico correto , gostaria de tira uma duvida quero fazer um sistema de noticias com url amigavel  em codeigniter ja fiz a parte de noticias para exibir e a view porem estou usando a id para exibir as noticias e o que eu gostaria de fazer era usar a url do titulo da noticia ficando uma url amigavel alguém teria algum tutorial para eu poder estudar obrigado
    • By daniel8634
      Fala pessoal, tudo bem?
      Estou com um problema com uma rotina, que tem como funcionalidade principal a fila, é uma rotina de fila, que basicamente funciona com o envio de uma solicitação e fica aguardando até o retorno dessa solicitação ser satisfeita, caso não ocorra passa para outra solicitação e fica com esse loop, até que se encerre o processo, o que esta ocorrendo é que aparentemente essa rotina fica travando em algum momento ou por algum motivo a resposta não chega de forma adequada para que o processo de fila funcione de forma correta, abaixo vou posta a rotina completa para vocês darem uma olhada e de repente visualizar algo que não esteja conseguindo visualizar, gostaria de contar com a ajuda de vocês para tentarem ver se tem algo de errado com a rotina.
       
      <?php error_reporting(0); include_once '../apporioconfig/start_up.php'; header("Content-Type: application/json"); include 'pn_android.php'; include 'pn_iphone.php'; include 'one-signal.php'; include 'firebase_new.php'; $query = "select * from admin_panel_settings WHERE admin_panel_setting_id=1"; $result = $db->query($query); $admin_settings = $result->row; $normal_ride_radius = $admin_settings['normal_ride_radius']; $admin_panel_request = $admin_settings['admin_panel_request']; $admin_panel_firebase_id = $admin_settings['admin_panel_firebase_id']; $onesignal_rest_key = $admin_settings['onesignal_rest_key']; $onesignal_app_id = $admin_settings['onesignal_app_id']; $onesignal_redirect_url = $admin_settings['onesignal_redirect_url']; $user_id = $_REQUEST['user_id']; $coupon_code = $_REQUEST['coupon_code']; $pickup_lat = $_REQUEST['pickup_lat']; $pickup_long = $_REQUEST['pickup_long']; $pickup_location = $_REQUEST['pickup_location']; $drop_lat = $_REQUEST['drop_lat']; $drop_long = $_REQUEST['drop_long']; $drop_location = $_REQUEST['drop_location']; $car_type_id = $_REQUEST['car_type_id']; $language_code = $_REQUEST['language_code']; $payment_option_id = $_REQUEST['payment_option_id']; $card_id = $_REQUEST['card_id']; $pem_file = $_REQUEST['pem_file']; if ($user_id != "" && $pickup_lat != "" && $pickup_long != "" && $pickup_location != "" && $car_type_id != "" && $payment_option_id != "") { if ($pem_file == "") { $pem_file = 1; } $time = date("H:i:s"); $dt = DateTime::createFromFormat('!d/m/Y', date("d/m/Y")); $data = $dt->format('M j'); $day = date("l"); $date1 = $day . ", " . $data; $date1 = strftime('%d-%m-%Y', strtotime($date1)); //CONTROLD - 13/10/2018 - Alteração para formatar data $query3 = "select * from driver where verification_status=1 AND driver_category IN (1,3) AND car_type_id='$car_type_id' and online_offline = 1 and driver_admin_status=1 and busy=0 and login_logout=1 order by rand()"; $result3 = $db->query($query3); $ex_rows = $result3->num_rows; if ($ex_rows == 0) { $image = ""; $last_time_stamp = date("h:i:s A"); $query1 = "INSERT INTO no_driver_ride_table(user_id,coupon_code, pickup_lat, pickup_long,pickup_location,drop_lat,drop_long,drop_location, ride_date,ride_time,ride_type,ride_status,ride_image,car_type_id,payment_option_id,card_id,last_time_stamp) VALUES ('$user_id','$coupon_code','$pickup_lat','$pickup_long','$pickup_location','$drop_lat','$drop_long','$drop_location', '$date1','$time','1','1','$image','$car_type_id','$payment_option_id','$card_id','$last_time_stamp')"; $db->query($query1); $language = "select * from table_messages where language_code='$language_code' and message_id=34"; $lang_result = $db->query($language); $lang_list = $lang_result->row; $message = $lang_list['message']; $re = array('result' => 0, 'msg' => $message); } else { $list3 = $result3->rows; $c = array(); foreach ($list3 as $login3) { $driver_lat = $login3['current_lat']; $driver_long = $login3['current_long']; $theta = $pickup_long - $driver_long; $dist = sin(deg2rad($pickup_lat)) * sin(deg2rad($driver_lat)) + cos(deg2rad($pickup_lat)) * cos(deg2rad($driver_lat)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; $km = $miles * 1.609344; if ($km <= $normal_ride_radius) { $c[] = array("driver_id" => $login3['driver_id'], "distance" => $km, ); } } // inicio rotina grava viagem //print_r($c); if (!empty($c)) { // aqui - CONTROLD - 28/01/2019 - Validação para verificar se já tem viagem em andamento ao solicitar uma nova viagem $query_verifica = "select user_id,viagem from user where user_id='$user_id' and viagem = 'S' order by user_id asc"; $result_verifica = $db->query($query_verifica); $quant_verifica = $result_verifica->num_rows; //if ($quant_verifica >= 1) { // $re = array('result' => 0, 'msg' => "Você já possui uma viagem em andamento, aguarde o motorista ou cancele a viagem.", 'details' => ""); //}else{ $image = ""; $date = date("Y-m-d"); $last_time_stamp = date("h:i:s A"); $query1 = "INSERT INTO ride_table (user_id,coupon_code, pickup_lat,pickup_long,pickup_location,drop_lat,drop_long,drop_location, ride_date,ride_time,ride_type,ride_status,ride_image,car_type_id,payment_option_id,card_id,last_time_stamp,date,pem_file) VALUES ('$user_id','$coupon_code','$pickup_lat','$pickup_long','$pickup_location','$drop_lat','$drop_long','$drop_location', '$date1','$time','1','1','$image','$car_type_id','$payment_option_id','$card_id','$last_time_stamp','$date','$pem_file')"; $db->query($query1); $last_id = $db->getLastId(); $query3 = "select * from ride_table where ride_id='$last_id'"; $result3 = $db->query($query3); $list = $result3->row; $ride_status = $list['ride_status']; $data_viagem = $list['ride_time']; sendMessage($onesignal_app_id, $onesignal_redirect_url, $onesignal_rest_key); $firebase_id = uniqid(); new_ride_sound($admin_panel_firebase_id, $firebase_id); clear($admin_panel_firebase_id, $firebase_id); $nodes = array(); $repetir = 0; foreach ($c as $value) { $distance[] = $value['distance']; } $repetir = 0; $id_motorista = "aaaa"; //array_multisort($distance, SORT_ASC, $c); foreach ($c as $driver) { // echo "aqui envia push ".$driver['driver_id'] ."<br>"; // echo "repetir: ".$repetir; // push // aqui $ride_id = (string)$last_id; $nodes[$driver_id] = array('ride_id' => $ride_id, 'ride_status' => "1"); $query3 = "select * from driver_ride_allocated where driver_id='$driver_id'"; $result3 = $db->query($query3); $driver_allocated = $result3->row; if (empty($driver_allocated)) { $query5 = "INSERT INTO driver_ride_allocated (driver_id,ride_id,ride_mode) VALUES ('$driver_id','$ride_id','1')"; $db->query($query5); } else { $query5 = "UPDATE driver_ride_allocated SET ride_id='$ride_id' WHERE driver_id='$driver_id'"; $db->query($query5); } if ($repetir == 1){ break; } $driver_id = $driver['driver_id']; $query4 = "select * from driver where driver_id='$driver_id'"; $result4 = $db->query($query4); $list4 = $result4->row; $device_id = $list4['device_id']; $language = "select * from table_messages where language_code='$language_code' and message_id=35"; $lang_result = $db->query($language); $lang_list = $lang_result->row; $message = $lang_list['message']; $ride_id = (String)$last_id; $ride_status = '1'; //echo "device id: ".$device_id."<br>"; //echo "driver id: ".$driver_id."<br>"; $codi_motorista = $driver['driver_id']; $query5 = "INSERT INTO ride_allocated (allocated_ride_id, allocated_driver_id,allocated_date) VALUES ('$ride_id','$codi_motorista','$date')"; $db->query($query5); new_ride($nodes,$admin_panel_firebase_id); if ($device_id != "") { // echo "entrou para enviar push"."<br>"; if ($list4['flag'] == 1) { IphonePushNotificationDriver($device_id, $message, $ride_id, $ride_status, $pem_file); }else { //echo "entrou no push android "."<br>"; //echo "device id: ".$device_id. "<br>"; //echo "message id: ".$message. "<br>"; //echo "ride id: ".$ride_id. "<br>"; //echo "ride status id: ".$ride_status. "<br>"; AndroidPushNotificationDriver($device_id, $message, $ride_id, $ride_status); } } //fim push //echo "entrou 0"; //echo "motorista while: ".$driver['driver_id']; //echo "id do motorista: ".$id_motorista ."<br>"; //echo "id do driver: ".$driver['driver_id'] ."<br>"; while ($repetir == 0) { $hora_atual = date('H:i:s'); //echo "hora atual: ".$hora_atual; //echo "<br>"." hora da viagem: ".$data_viagem; // echo "<br>"." diferença: ".calculaTempo($data_viagem,$hora_atual); //echo "<br>"."hora da viagem: ".$data_viagem; // inicio //echo "data 1: ".$data_viagem; //echo "<br>"."data 2 ".$hora_atual; /* if (calculaTempo($data_viagem,$hora_atual) >= 01){ //echo "parou na hora deu tempo "."<br>"; //$query_tempo = "UPDATE ride_table SET ride_status='40' WHERE user_id = '$user_id' and ride_id='$ride_id'"; // $db->query($query_tempo); $repetir = 1; break; } */ /*} else{ echo "entrou na hora continuou"."<br>"; continue; // continue; } */ //fim //echo "chegou rejeita? <br>"; $id_driver = $driver['driver_id']; //echo "id driver: ".$id_driver."<br>"; //echo "id da viagem ".$ride_id ."<br>"; $query_rejeita = "select reject_ride_id,reject_driver_id from ride_reject where reject_ride_id = '$ride_id' and reject_driver_id='$id_driver'"; $result_rejeita = $db->query($query_rejeita); $list_rejeita = $result_rejeita->num_rows; //echo "id do motorista: ".$driver['driver_id'] ."<br>"; //echo "rejeitou? ".$list_rejeita ."<br>"; if ($list_rejeita > 0){ //&& $codigo_motorista != $driver['driver_id']) { //echo "entrou 2"; //print_r("print motorista id: ".$driver); //echo "motorista: ".$driver['driver_id']; //echo "passou print <br>"; //// echo "entrou rejeitou"."<br>"; $repetir = 0; //$list_rejeita = 1; break; //continue; } else{ //echo "entrou else rejeitou"."<br>"; $repetir = 0; //continue; } // aceitou viagem //echo "aceitou: entrando verificação se aceitou"; //echo "Chegou aceitou viagem"."<br>"; //sleep(5); $query_consulta = "select ride_status from ride_table where ride_id = '$ride_id' and ride_status = '3' and user_id = '$user_id'"; $result_consulta = $db->query($query_consulta); $lista_consulta = $result_consulta->num_rows; //$repetir = $lista_consulta; //echo "aceitou: " . $lista_consulta; if ($lista_consulta >= 1) { //echo "aceitou viagem"."<br>"; $repetir = 1; // break; }else{ //echo "continuou aceitou viagem"."<br>"; $repetir = 0; continue; } //fim aceitou viagem // auto cancelada //echo "Chegou entrou alto cancelada"."<br>"; $query_autocancel = "select ride_status from ride_table where ride_id = '$ride_id' and (ride_status = '2' or ride_status = '15') and user_id = '$user_id'"; $result_autocancel = $db->query($query_autocancel); $lista_autocancel = $result_autocancel>num_rows; if ($lista_autocancel >= 1) { //echo "entrou alto cancelada"."<br>"; $repetir = 1; // break; }else{ //echo "continuou auto cancelada"."<br>"; // continue; } $query_autocancel_passageiro = "select ride_status from ride_table where ride_id = '$ride_id' and ride_status = '40' and user_id = '$user_id'"; $result_autocancel_passageiro = $db->query($query_autocancel_passageiro); $lista_autocancel_passageiro = $result_autocancel_passageiro>num_rows; if ($lista_autocancel_passageiro >= 1) { // echo "entrou alto cancelada"."<br>"; $repetir = 1; break; }else{ //echo "continuou auto cancelada"."<br>"; continue; } // fim auto cancelada // verifica se passou 1 minuto em relação a solicitação da viagem, caso sim sai fora //$hora_atual = date('H:i:s'); //echo "hora atual: ".$hora_atual; //echo "Diferença de hora: ".difDeHoras($hora_atual,$data_viagem); // fim //echo "aqui envia push"; if ($repetir == 0){ continue; } $id_motorista = $driver['driver_id']; } } // 28/01/2019 - CONTROLD - Atualiza campo na tabela de usuarios para controlar solicitação de viagens //$query_update_user = "UPDATE user SET viagem='S' WHERE user_id='$user_id'"; //$db->query($query_update_user); $query5 = "INSERT INTO table_user_rides(booking_id,ride_mode,user_id) VALUES ('$last_id','1','$user_id')"; $db->query($query5); $query3 = "select * from ride_table where ride_id='$last_id'"; $result3 = $db->query($query3); $list = $result3->row; //echo "entrou aqui"; $re = array('result' => 1, 'msg' => "" . $km, 'details' => $list); //} } else { $image = ""; $last_time_stamp = date("h:i:s A"); $query1 = "INSERT INTO no_driver_ride_table (user_id,coupon_code, pickup_lat, pickup_long,pickup_location,drop_lat,drop_long,drop_location, ride_date,ride_time,ride_type,ride_status,ride_image,car_type_id,payment_option_id,card_id,last_time_stamp) VALUES ('$user_id','$coupon_code','$pickup_lat','$pickup_long','$pickup_location','$drop_lat','$drop_long','$drop_location', '$date','$time','1','1','$image','$car_type_id','$payment_option_id','$card_id','$last_time_stamp')"; $db->query($query1); $language = "select * from table_messages where language_code='$language_code' and message_id=36"; $lang_result = $db->query($language); $lang_list = $lang_result->row; $message = $lang_list['message']; $re = array('result' => 0, 'msg' => "Sem motorista", ); } } }else{ $re = array('result' => 0, 'msg' => "Faltou informar algum campo"); } echo json_encode($re, JSON_PRETTY_PRINT); /* function difDeHoras($hIni, $hFinal) { // Separa á hora dos minutos $hIni = explode(':', $hIni); $hFinal = explode(':', $hFinal); // Converte a hora e minuto para segundos $hIni = (60 * 60 * $hIni[0]) + (60 * $hIni[1]); $hFinal = (60 * 60 * $hFinal[0]) + (60 * $hFinal[1]); // Verifica se a hora final é maior que a inicial if(!($hIni < $hFinal)) { return false; } // Calcula diferença de horas $difDeHora = $hFinal - $hIni; //Converte os segundos para Hora e Minuto $tempo = $difDeHora / (60 * 60); $tempo = explode('.', $tempo); // Aqui divide o restante da hora, pois se não for inteiro, retornará um decimal, o minuto, será o valor depois do ponto. $hora = $tempo[0]; @$minutos = (float) (0) . '.' . $tempo[1]; // Aqui forçamos a conversão para float, para não ter erro. $minutos = $minutos * 60; // Aqui multiplicamos o valor que sobra que é menor que 1, por 60, assim ele retornará o minuto corretamente, entre 0 á 59 minutos. $minutos = explode('.', $minutos); // Aqui damos explode para retornar somente o valor inteiro do minuto. O que sobra será os segundos $minutos = $minutos[0]; //Aqui faz uma verificação, para retornar corretamente as horas, mas se não quiser, só mandar retornar a variavel hora e minutos if (!(isset($tempo[1]))) { if($hora == 1){ return $hora; } else { return $hora; } } else { if($hora == 1){ if($minutos == 1){ return $hora;//'A diferen&ccedil;a &eacute; de ' . $hora . ' Hora e ' .$minutos . ' Minuto.'; } else { return $hora;//'A diferen&ccedil;a &eacute; de ' . $hora . ' Hora e ' .$minutos . ' Minutos.'; } } else { if($minutos == 1){ return $minutos; } else { return $minutos; } } } } */ function calculaTempo($hora_inicial, $hora_final) { $i = 1; $tempo_total; $tempos = array($hora_final, $hora_inicial); foreach($tempos as $tempo) { $segundos = 0; list($h, $m, $s) = explode(':', $tempo); $segundos += $h * 3600; $segundos += $m * 60; $segundos += $s; $tempo_total[$i] = $segundos; $i++; } $segundos = $tempo_total[1] - $tempo_total[2]; $horas = floor($segundos / 3600); $segundos -= $horas * 3600; $minutos = str_pad((floor($segundos / 60)), 2, '0', STR_PAD_LEFT); $segundos -= $minutos * 60; $segundos = str_pad($segundos, 2, '0', STR_PAD_LEFT); return "$minutos"; } ?>  
    • By rsantana
      Preciso executar uma função todo dia 1 de cada mês. Existe no codeigniter algo que de suporte a isto? Ou precisaria criar uma cron job no servidor? (Não queria ir por este caminho :/)
×

Important Information

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