Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By sergiosfpereira
      Boa tarde a todos,
       
      Estou estudando MVC e me deparei com a seguinte situação:

      Tenho uma View que precisa receber dados de dois Models diferentes, então no controller desta View eu tenho a função abaixo:
      public function teste($id) { $this->view->a = $this->getOneA($id); $this->loadModel('b'); $this->view->b = $this->model->getOneB($id); $this->view->render('app/teste'); } O cenário acima me retorna o esperado, pega os dados de A e de B e os deixa disponiveis para a View.
       
      Está correto utilizar esse método ?
       
      Se sim, eu deveria carregar o Model "b" no __construct do controller "a"  ou diretamente na função do controller "a" como neste exemplo?
       
      Se não, qual a melhor maneira de obter dados de diferentes Models?
       
      OBS: todos os controllers são filhos do controller principal e todos os models são filhos do model principal.
       
      E me perdoem se eu estiver falando bobagem, como disse, estou aprendendo e a finalidade aqui é didatica e agradeço a quem puder contribuir.
    • By inousi
      Quando faço login, não reconhece user/email já registrado anteriormente no bd.
      Scripts para registro e login de usuário:
      - registro usuário.php
      - server.php
      - login.php
      O de registro de usuário está ok. Faz o registro no bd (mysql).
      O de login resulta na mensagem: "Wrong username/password". (linha 79 do server.php) - apesar de ter sido confirmado o registro e conferida sua gravação no bd (users.php)
       
      script server.php
      <?php session_start(); // initializing variables $user_name = ""; $user_email = ""; $errors = array(); // connect to the database $db_sys = mysqli_connect('localhost', 'root', '', 'sys'); // REGISTER USER if (isset($_POST['user_reg'])) { // receive all input values from the form $user_name = mysqli_real_escape_string($db_sys, $_POST['user_name']); $user_email = mysqli_real_escape_string($db_sys, $_POST['user_email']); $user_pass1 = mysqli_real_escape_string($db_sys, $_POST['user_pass1']); $user_pass2 = mysqli_real_escape_string($db_sys, $_POST['user_pass2']); // form validation: ensure that the form is correctly filled ... // by adding (array_push()) corresponding error unto $errors array if (empty($user_name)) { array_push($errors, "Username is required"); } if (empty($user_email)) { array_push($errors, "Email is required"); } if (empty($user_pass1)) { array_push($errors, "Password is required"); } if ($user_pass1 != $user_pass2) { array_push($errors, "The two passwords do not match"); } // check the database a user does not already exist with the same username and/or email $user_check_query = "SELECT * FROM users WHERE user_name='$user_name' OR user_email='$user_email' LIMIT 1"; $result = mysqli_query($db_sysgo, $user_check_query); $user = mysqli_fetch_assoc($result); if ($user) { // if user exists if ($user['user_name'] === $user_name) { array_push($errors, "Username already exists"); } if ($user['user_email'] === $user_email) { array_push($errors, "email already exists"); } } // Register user if there are no errors if (count($errors) == 0) { //encrypt the password $user_pass = md5($user_pass1); $query = "INSERT INTO users (user_name, user_email, user_pass) VALUES('$user_name', '$user_email', '$user_pass')"; mysqli_query($db_sys, $query); $_SESSION['user_name'] = $user_name; $_SESSION['success'] = "You are now logged in"; header('location: index.php'); } } // LOGIN USER if (isset($_POST['login'])) { $user_name = mysqli_real_escape_string($db_sys, $_POST['user_name']); $user_pass = mysqli_real_escape_string($db_sys, $_POST['user_pass']); if (empty($user_name)) { array_push($errors, "Username is required"); } if (empty($user_pass)) { array_push($errors, "Password is required"); } if (count($errors) == 0) { $user_pass = md5($user_pass); $query = "SELECT * FROM users WHERE user_name='$user_name' AND user_pass='$user_pass'"; $results = mysqli_query($db_sys, $query); if (mysqli_num_rows($results) == 1) { $_SESSION['user_name'] = $user_name; $_SESSION['success'] = "You are now logged in"; header('location: index.php'); }else { //AQUI ESTÁ O ERRO QUE MOSTRA array_push($errors, "Wrong username/password"); } } } ?> <?php if (count($errors) > 0) : ?> <div class="error"> <?php foreach ($errors as $error) : ?> <p><?php echo $error ?></p> <?php endforeach ?> </div> <?php endif ?>  
      login.php
      <?php include('server.php') ?> <!DOCTYPE html> <html> <head> <title>Login</title> <link rel="stylesheet" type="text/css" href="user_style.css"> </head> <body> <div class="header"> <h2>Login</h2> </div> <form method="post" action="login.php"> <?php include('errors.php'); ?> <div class="input-group"> <label>Username</label> <input type="text" name="user_name" > </div> <div class="input-group"> <label>Password</label> <input type="password" name="user_pass"> </div> <div class="input-group"> <button type="submit" class="btn" name="login">Login</button> </div> <p> Not yet a member? <a href="reg_user.php">Sign up</a> </p> </form> </body> </html>  
    • By Rzorr
      Bom dia,
              eu tenho um  site de imóveis, sou corretor, ele está com alguns problemas na URL, comprei esse script e venho fazendo algumas alterações nele, sei o básico, cadastrar, deletar, buscar, update, mas o que acontece esse site foi construido com MVC e confesso parei de estudar PHP faz muito tempo, e não entendo nada de MVC, abaixo o código da busca e como forma o link é montado.
          No site o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/Camboriú/bairro/bairro#busca nesse exemplo fiz uma busca pela cidade!
         Se clico no menu em vendas o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/cidade/bairro/bairro#busca
      pessoal obrigado pela disposição em ajudar, eu to tentando resolver faz dias, mas não consigo entender a a forma como é construido.
       
      <?php class busca extends controller { public function init(){ } public function inicial(){ $referencia = $this->post('referencia'); $categoria = $this->post('categoria'); $tipo = $this->post('tipo'); $cidade = $this->post('cidade'); $bairro = $this->post('bairro'); if($referencia){ $cidade = "cidade"; $bairro = "bairro"; $tipo = "tipo"; $categoria = "categoria"; } else { $referencia = 'referencia'; if(!$categoria){ $categoria = "categoria"; } if(!$tipo){ $tipo = "tipo"; } if(!$cidade){ $cidade = "cidade"; } if(!$bairro){ $bairro = "bairro"; } } $endereco = DOMINIO."imoveis/lista/referencia/$referencia/categoria/$categoria/tipo/$tipo/cidade/$cidade/bairro/$bairro#busca"; $this->irpara("$endereco"); }  
    • By unset
      Olá, alguém poderia me ajudar a implementar uma paginação de resultados? tenho o modelo mvc abaixo
       
      Controller
      <?php // Load All Posts public function index(){ $posts = $this->postModel->getPosts(); $data = [ 'posts' => $posts ]; $this->view('posts/index', $data); } ?> Model
      <?php // Get All Posts public function getPosts(){ $this->db->query("SELECT *, posts.id as postId, users.id as userId FROM posts INNER JOIN users ON posts.user_id = users.id ORDER BY posts.created_at DESC;"); $results = $this->db->resultset(); return $results; } View
      <?php foreach($data['posts'] as $post) : ?> <div class="card card-body mb-3"> <h4 class="card-title"><?php echo $post->title; ?></h4> <div class="bg-light p-2 mb-3"> Written by <?php echo $post->name; ?> on <?php echo $post->created_at; ?> </div> <p class="card-text"><?php echo $post->body; ?></p> <a class="btn btn-dark" href="<?php echo URLROOT; ?>/posts/show/<?php echo $post->postId; ?>">More</a> </div> <?php endforeach; ?> Como fazer a paginação ?
    • By marsolim
      fala grandes tudo na base do café? hehehe
      hoje tô postando mais pra uma troca de experiência sobre as formas de checar uma sequência de senha pra ver se não é tudo igual tipo aaaaaaaa ou 11111111, se é uma sequência crescente como abcdefgh ou 12345678 e se é uma sequência decrescente tipo hgfedcba ou 87654321. eu criei um script aqui que usa o ord() pra comparar o decimal de cada caractere com o próximo ou anterior. tá funcionando bem mas queria saber como vcs fazem isso, se tem uma forma mais prática e mais elegante e tal. meu script...
      $str = "dcba"; $pos = 1; $comprimento = strlen($str); $iguais = false; $seq_mais = false; $seq_menos = false; //******************************************* for($i = 0; $i < $comprimento - 1; ++$i){     if($str[$i] == $str[$i + 1]){         $pos += 1;     } } if($pos == $comprimento){     $iguais = true; } //******************************************* $pos = 1; for($i = 0; $i < $comprimento - 1; $i++){     if(ord($str[$i + 1]) == (ord($str[$i]) + 1)){         $pos += 1;     } } if($pos == $comprimento){     $seq_mais = true; } //******************************************* $pos = 1; for($i = 0; $i < $comprimento - 1; ++$i){     if(ord($str[$i]) == (ord($str[$i + 1]) + 1)){         $pos += 1;     } } if($pos == $comprimento){     $seq_menos = true; } echo $iguais . " - " . $seq_mais . " - " . $seq_menos; não botei teste de porcentagem de match, é só um teste simples por horas.
×

Important Information

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