Jump to content
Ultimate

Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\wamp\www\brasilclassificado\Admin-bc\View\UsuarioView\UsuarioView.php on line 24

Recommended Posts

Boa noite Galera está me dando esse e alguns outros erros...

Gostaria de uma ajuda pra descobrir como resolve-lo...

Agradeço desde já...

SEGUE O CÓD EM QUESTÃO!

 

<?php
require_once ("../Controller/UsuarioController.php");
require_once ("../Model/Usuario.php");
$usuarioController = new UsuarioController();

$resultado = " ";


if(filter_input(INPUT_POST, "btnGravar", FILTER_SANITIZE_STRING)){
    $usuario = new Usuario();

    $usuario->setNome(filter_input(INPUT_POST,"txtNome", FILTER_SANITIZE_STRING)); //LINHA 12
    $usuario->setEmail(filter_input(INPUT_POST,"txtEmail", FILTER_SANITIZE_STRING);//LINHA 13
    $usuario->setCpf(filter_input(INPUT_POST,"txtCPF", FILTER_SANITIZE_STRING);
    $usuario->setUsuario(filter_input(INPUT_POST,"txtUsuario", FILTER_SANITIZE_STRING;
    $usuario->setSenha(filter_input(INPUT_POST,"txtSenha", FILTER_SANITIZE_STRING);
    $usuario->setNascimento(filter_input(INPUT_POST,"txtNascimento", FILTER_SANITIZE_STRING);
    $usuario->setSexo(filter_input(INPUT_POST,"s1Sexo", FILTER_SANITIZE_STRING);
    $usuario->setStatus(filter_input(INPUT_POST,"s1Status", FILTER_SANATIZE_NUMBER_INT);
    $usuario->setPermissao(filter_input(INPUT_POST,"s1Permissao", FILTER_SANATIZE_NUMBER_INT);

    if(!filter_input(INPUT_GET, "cod", FILTER_SANATIZE_NUMBER_INT)){
        ///CADASTRAR
        if(UsuarioController->Cadastrar($usuario)){//24
            $resultado = "<div class=\"alert alert-success\" role=\"alert\">USUÁRIO CADASTRADO COM SUCESSO!</div> ";

        }else{
            $resultado = "<div class=\"alert alert-danger\" role=\"alert\">ERRO AO TENTAR CADASTRAR USUÁRIO!</div> ";
        }
    }else{


    }
}
?>

 

Share this post


Link to post
Share on other sites

Ao invés de postar um print do código, poste o próprio código, usando a tag code <> ou gist do github.

Correto é usar a variável que instanciou a classe. 
 

$usuarioController->Cadastrar( $usuario )

Outro detalhe, receba e trate o array do post no Controller e não fora.


Correto

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

	include 'UsuarioController.php';
	$usuario = new UsuarioController();
	$usuario->cadastrar($_POST);
	$status = $usuario->status();
    

}

 

class UsuarioController
{

	public function cadastrar(Array $post)
	{
		var_dump($post);
	}
}

Ou diretamente, sem passar o type hinting

 

(...)

        public function cadastrar()
	{
		var_dump($_POST);
	}

(...)



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

A partir do PHP 5.4 foi implementada um método de reutilização de código chamado Traits.

 

Não há porque sua model carregar essa quantidade de getters e setters, que são as suas entidades, muitas das vezes confundida com a model do MVC. Esta é uma forma antiga e muito replicada de forma errada em tutoriais, video aulas e faculdades Brasil a fora.

 

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 Vibraphera
      Oi gente eu recentemente comecei a aprender php e fui atras de desafios legais e me deparei com um que até hoje não consigo resolver.
      Preciso mostrar a maior e a menor palavra de uma frase ou texto. Eu tentei transformar em um array mas não sei se seria o adequado.
      Resumindo apenas me retorna corretamente a maior palavra mas a menor não me retorna nada. ALGUÉM ME DA UM HELP kk
      OBS: quando não tem ponto final parece que não retorna nada e quando tem ponto final ele retorna o 'ou' da frase mas não deveria retornar a letra 'é' ou a letra 'a'?
       
      <?php
      $texto = 'Como faço para saber qual é a menor e a maior de uma frase ou grandes textos';
      $arr = explode(" ", $texto);
      $maior="";
      $menor="";
      for ($i=0; $i <count($arr) ; $i++) { 
          $atual = $arr[$i];
          if (strlen($atual) > strlen($maior)) {
              $maior = $atual;
          } else if (strlen($atual) < strlen($maior)) {
              $menor = $atual;
          }
      }
      echo "<br>";
      echo $maior;
      echo "<br>";
      echo $menor;
    • By danteblatt
      Olá Srs,
      Não tenho muito conhecimento em PHP e estou com um formulário onde o usuário tem alguns campos para preencher e gravar no banco de dados SQL, sendo que um campo deste form será dinâmico onde o usuário poderá adicionar quantos campos forem necessários a partir de um botão "+".
      Nome do campo dinâmico: chavenf
      Segue abaixo o código do formulário:
      <form method="POST" action="../includes/mf-processa.php"> <div class="form-group"> <div class="form-row"> <div class="form-group col-md-4"> <input type="hidden" name="usuario[]" value="<?php echo $_SESSION['usuarioNome']; ?>" /> <select class="form-control" id="tipo" name="tipo[]"> <option selected>Tipo</option> <option>1</option> <option>2</option> </select> </div> <div class="form-group col-md-4"> <select class="form-control" id="prioridade" name="prioridade[]"> <option selected>Prioridade</option> <option>Alta</option> <option>Padrão</option> </select> </div> <div class="form-group col-md-4"> <input class="form-control" type="text" name="fornecedor[]" placeholder="Fornecedor" id="fornecedor"> </div> </div> <div style="display:none;" class="form-row" id="chavecte"> <div class="form-group col-md-12"> <label>Chave </label> <input class="form-control" type="text" name="chavecte[]"> </div> </div> <div class="form-row" id="row-nota"> <div class="form-group col-md-12"> <label>Chave da NF </label> <input class="form-control" type="text" name="chavenf[]" id="chavenf"> </div> </div> <div style="display:none;" class="form-row" id="add-field-nf"> <div class="form-group col-md-2"> <button type="button" class="btn btn-primary" id="add"> + </button> </div> </div> <div class="form-row"> <div class="form-group col-md-2"> <input type="submit" class="btn btn-primary" value="Cadastrar"> </div> </div> </div> </form> <script> $( "#add" ).click(function() { $( "#row-nota" ).append('<div class="form-group col-md-12"><input class="form-control" type="text" name="chavenf[]" id="chavenf"></div>'); }); </script> Abaixo o arquivo que conecta e insere no BD, "mf-processa.php"
      <?php session_start(); include_once("conexao.php"); $prioridade = filter_input(INPUT_POST, 'prioridade', FILTER_SANITIZE_STRING); $usuarioentrada = filter_input(INPUT_POST, 'usuario', FILTER_SANITIZE_STRING); $tipofrete = filter_input(INPUT_POST, 'tipofrete', FILTER_SANITIZE_STRING); $fornecedor = filter_input(INPUT_POST, 'fornecedor', FILTER_SANITIZE_STRING); $chavenf = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavenf', FILTER_SANITIZE_STRING)); $chavecte = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavecte', FILTER_SANITIZE_STRING)); $nNF = substr($chavenf, 25, 9); $timenow = date('d-m-Y'); $timenow .= ' '.date('H:i:s'); $qtnotas = count($chavenf)-1; for ($f = 0; $f <= $qtnotas; $f++) { $sql = "INSERT INTO base (data, usuarioentrada, prioridade, tipofrete, nf, fornecedor, chavenf, chavecte, acao, dataretorno, usuariofiscal) VALUES ( '.$timenow[$f].', '.$usuarioentrada[$f].', '.$prioridade[$f].', '.$tipofrete[$f].', '.$nNF[$f].', '.$fornecedor[$f].', '.$chavenf[$f].', '.$chavecte[$f].', '', '', '' )" or die ("<center>Erro: " . mysqli_error() . "</center>"); $insert = mysqli_query($conn, $sql); if(mysqli_insert_id($conn)){ $_SESSION['msgrec'] = "<p style='color:green;'>Nota cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }else{ $_SESSION['msgrec'] = "<p style='color:red;'>Nota não cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }  
       
      Veja o erro retornado na página.. Já tentei alterar o código e mesmo assim não consegui efetuar a inserção dos dados no BD.
       
      ( ! ) Warning: count(): Parameter must be an array or an object that implements Countable in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 31 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 41 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 42 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0
    • By lordstarlight
      Olá, 
       
      Como posso bloquear todos ips, menos o meu para acesso ao meu site?
      preciso fazer isto para poder fazer manutenção.
       
      obrigado!
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
×

Important Information

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