Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
MARCOS EVERTON

Estou criando um CRUD simples, como modo de estudo, no entanto me deparo com algum problema

Pergunta

#método para salvar dados do aluno

 public function Save(){
        try {
            $query = "INSERT INTO $this->table (ra,nome,rg,endereco,sexo,data_nasc) "
                    . "VALUES (:ra,:nome,:rg,:endereco,:sexo,:data_nasc)";
            $stm = static::$pdo->prepare($query);
            $stm->bindParam(':ra', $this->ra);
            $stm->bindParam(':nome', $this->nome);
            $stm->bindParam(':rg', $this->rg);
            $stm->bindParam(':endereco', $this->endereco);
            $stm->bindParam(':sexo', $this->sexo);
            $stm->bindParam(':datanasc', $this->data_nasc);
           
            } catch (PDOException $ex) {
                print $ex->getMessage();
            } 
            return $stm->execute();
    }

#página que deve enserir dados do aluno no banco

<?php ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Cadastro de Alunos</title>
        <meta>
        <link href="css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
        <forma action="" method="post" name="form" class="form-inline">
            <div style="margin-left: 500px;">
            <div class="form-group col-lg-12" style="margin-top: 100px;" >
                <label class="sr-only" for="">NOME</label>
                <input type="name" class="form-control" id="exampleInputEmail3" name="nome" placeholder="informe nome">
            </div>
            <div class="form-group col-lg-12">
                <label class="sr-only" for="">RA</label>
                <input type="name" class="form-control" id="exampleInputPassword3" name="ra" placeholder="informe ra">
            </div>
            <div class="form-group col-lg-12">
                <label class="sr-only" for="">RG</label>
                <input type="name" class="form-control" id="exampleInputPassword3" name="rg" placeholder="informe seu rg">
            </div>
            <div class="form-group col-lg-12">
                <label class="sr-only" for="">ENDEREÇO</label>
                <input type="name" class="form-control" id="exampleInputPassword3" name="endereco" placeholder="informe seu endereço">
            </div>
            <div class="form-group col-lg-12">
                <label class="sr-only" for="">SEXO</label>
                <input type="name" class="form-control" id="exampleInputPassword3" name="sexo" placeholder="informe sexo">
            </div>
            <div class="form-group col-lg-12">
                <label class="sr-only" for="">DATA DE NASCIMENTO</label>
                <input type="name" class="form-control" id="exampleInputPassword3" name="data_nasc" placeholder="informe data de nascimento">
            </div>
                <button type="submit" class="btn btn-default" name="salvar" style="color: blue; margin-top: 20px; margin-left: 60px;">Salvar</button>
            </div>
        </form>
        <?php
        function __autoload($classname){
            require_once './classes/'.$classname.'.php';
        }
            $salvar = filter_input(INPUT_POST, 'salvar');
            if(isset($salvar)){ 
                $nome = filter_input(INPUT_POST, 'nome',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
                $ra = filter_input(INPUT_POST, 'ra',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
                $rg = filter_input(INPUT_POST, 'rg',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
                $endereco = filter_input(INPUT_POST, 'endereco',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
                $sexo = filter_input(INPUT_POST, 'sexo',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
                $data_nasc = filter_input(INPUT_POST, 'data_nasc',FILTER_SANITIZE_FULL_SPECIAL_CHARS);

                $aluno = new Aluno();
                $aluno->setNome($nome);
                $aluno->setRa($ra);
                $aluno->setRg($rg);
                $aluno->setEndereco($endereco);
                $aluno->setSexo($sexo);
                $aluno->setData_nasc($data_nasc); 
                $aluno->Save();
                ?>
            <script type="text/javascript">alert('Aluno cadastrado com sucesso!');</script>
            <?php
            }else {
                ?>
            <script>alert('Falha ao cadastrar aluno!!!');</script>
            <?php
            }
        ?>
    </body>
</html>
// Obs: no entanto quando tento salvar não retorna nenhuma ação, nem mesmo exibe algum erro na tela. 

//Desde já peço a ajuda de voces para solucionar o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Dê um print_r no $stm e veja se está montando corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por gedmilson
      conexão depreciada
      <?php     $host = 'localhost';     $user = 'root';     $pass = '';     $banco = 'video_aula';          $conectar = mysql_connect($host, $user, $pass);     if($conectar){         mysql_select_db($banco);     } ?> nova conexão
      <?php date_default_timezone_set('America/Sao_Paulo'); /** * PDO PHP Persistence Class * https://github.com/victortassinari/pdophpclass * * * @author Victor Tassinari - victortassinarix@gmail.com */ class Banco { private static $connection; private $debug; private $server; private $user; private $password; private $database; public function __construct() { $this->debug = true; $this->server = "127.0.0.1"; $this->user = "root"; $this->password = ""; $this->database = "video_aula"; } /** * Create a database connection or return the connection already open using Singletion Design Patern * @return PDOConnection|null */ public function getConnection() { try { if (self::$connection == null) { self::$connection = new PDO("mysql:host={$this->server};dbname={$this->database};charset=utf8", $this->user, $this->password); self::$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); self::$connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); self::$connection->setAttribute(PDO::ATTR_PERSISTENT, true); } return self::$connection; } catch (PDOException $ex) { if ($this->debug) { echo "<b>Error on getConnection(): </b>" . $ex->getMessage() . "<br/>"; } die(); return null; } } /** * Unset connection * @return void */ public function Disconnect() { $this->connection = null; } /** * Return the last id of insert statement * @return int */ public function GetLastID() { return $this->getConnection()->lastInsertId(); } /** * Start one database transaction * @return void */ public function BeginTransaction() { return $this->getConnection()->beginTransaction(); } /** * Commit changes on opened transaction * @return void */ public function Commit() { return $this->getConnection()->commit(); } /** * Roolback changes on opened transaction * @return void */ public function Rollback() { return $this->getConnection()->rollBack(); } /** * returns the result of a query (select) of only one row * @param string $sql the sql string * @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2")) * @return one position array for the result of query */ public function ExecuteQueryOneRow($sql, $params = null) { try { $stmt = $this->getConnection()->prepare($sql); $stmt->execute($params); return $stmt->fetch(PDO::FETCH_ASSOC); } catch (PDOException $ex) { if ($this->debug) { echo "<b>Error on ExecuteQueryOneRow():</b> " . $ex->getMessage() . "<br />"; echo "<br /><b>SQL: </b>" . $sql . "<br />"; echo "<br /><b>Parameters: </b>"; print_r($params) . "<br />"; } die(); return null; } } /** * returns the result of a query (select) * @param string $sql the sql string * @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2")) * @return array for the result of query */ public function ExecuteQuery($sql, $params = null) { try { $stmt = $this->getConnection()->prepare($sql); $stmt->execute($params); return $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $ex) { if ($this->debug) { echo "<b>Error on ExecuteQuery():</b> " . $ex->getMessage() . "<br />"; echo "<br /><b>SQL: </b>" . $sql . "<br />"; echo "<br /><b>Parameters: </b>"; print_r($params) . "<br />"; } die(); return null; } } /** * returns if the query was successful * @param string $sql the sql string * @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2")) * @return boolean */ public function ExecuteNonQuery($sql, $params = null) { try { $stmt = $this->getConnection()->prepare($sql); return $stmt->execute($params); } catch (PDOException $ex) { if ($this->debug) { echo "<b>Error on ExecuteNonQuery():</b> " . $ex->getMessage() . "<br />"; echo "<br /><b>SQL: </b>" . $sql . "<br />"; echo "<br /><b>Parameters: </b>"; print_r($params) . "<br />"; } die(); return false; } } } funções depreciadas
      function get_artigos(){ $artigos = array(); $selecionar = mysql_query("SELECT `artigo_id`,`titulo`,`likes` FROM `artigos`"); while($row = mysql_fetch_object($selecionar)){ $artigos[] = array( 'id_artigo' => $row->artigo_id, 'titulo' => $row->titulo, 'likes' => $row->likes ); } return $artigos; } Função actualizada
      function RetornarArtigos(){ try { $sql = "SELECT id_artigo, titulo, likes FROM artigos"; $dt = $this->pdo->ExecuteQuery($sql); $listaArtigo = []; foreach ($dt as $art) { $artigo = new Artigo(); $artigo->setCod($art["id_artigo"]); $artigo->setTitulo($art["titulo"]); $artigo->setLikes($art["likes"]); $listaArtigo[] = $artigo; } return $listaArtigo; } catch (PDOException $ex) { if ($this->debug) { echo "ERRO: {$ex->getMessage()} LINE: {$ex->getLine()}"; } return null; } } Função depreciada
      function verificar_clicado($id_artigo, $id_usuario){ $id_artigo = (int)$id_artigo; $id_usuario = (int)$id_usuario; $verificar = mysql_query("SELECT like_id FROM `likes` WHERE user_id = '$id_usuario' AND artigo_id = '$id_artigo'"); return (mysql_num_rows($verificar) >= 1) ? true : false; Não consegui actualizar
      Função depreciada
      function adicionar_like($id_artigo, $id_usuario){ $id_artigo = (int)$id_artigo; $id_usuario = (int)$id_usuario; $atualizar_likes_post = mysql_query("UPDATE `artigos` SET likes = likes+1 WHERE artigo_id = '$id_artigo'"); if($atualizar_likes_post){ $inserir_like = mysql_query("INSERT INTO `likes` (user_id, artigo_id) VALUES ('$id_usuario','$id_artigo')"); if($inserir_like){ return true; }else{ return false; } } } Não consegui actualizar
      Função depreciada
      function retornar_likes($id_artigo){ $id_artigo = (int)$id_artigo; $selecionar_num_likes = mysql_query("SELECT likes FROM `artigos` WHERE artigo_id = '$id_artigo'"); $fetch_likes = mysql_fetch_object($selecionar_num_likes); return $fetch_likes->likes; } Dei um modificada no index mas não funcionou muito bém <?php session_start(); require_once("Controller/ArtigoController.php"); require_once("Model/Artigo.php"); $artigoController = new ArtigoController(); //$_SESSION['id_usuario'] = 3; //include_once "funcoes/funcoes.php";?> <!DOCTYPE HTML> <html> <head> <title>Sistema de Likes com PHP e Javascript</title> <link href="style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/funcoes.js"></script> </head> <body bgcolor="#ebebeb"> <?php $listaArtigo = $artigoController->RetornarArtigos(); //$resultados = get_artigos(); if(count($listaArtigo) == 0){ echo 'Desculpe, mais não foram encontrados artigos'; }else{ echo '<ul>'; foreach ($listaArtigo as $artigos) { ?> <li><p><?= $artigos->getTitulo(); ?></p> <p><a href="#" class="like" onclick="javascript:add_like(echo $artigos->getId_artigo();)">Like</a> <span id="artigo_<?= $artigos->getId_artigo(); ?>_like"><?= $artigos->getId_artigo(); ?></span> gostaram disto!</p> </li> <?php } ?> </ul> <?php } ?> </body> </html>  
    • Por Madk
      O CODIGO ESTA NOS COMENTARIOS
      Alguem poderia me ajudar, como eu posso por login na minha pagina index.php e cadastro na pagina cadastro.php, so que com um nivel de acesso, se a pessoa que logar for adm vai para a pagina indexadm.php, JA TENHO o CRUD feito e queria saber como por essa funcao de login, se puderem me ajudar agradeceria dms.
    • Por rodrigo antonio cruz
      Ola Senhores venho pedir uma ajudinha boba, mas q ta me tirando a paz, estou estudando php orientado a objetos e estou tentando fazer uma consulta específica porem n consigo. Segue abaixo o código da conexao PHP OO com BD mysql e o codigo do Select. Desde ja Obrigado a quem puder me ajudar!
      ESSA É A CONEXAO.PHP QUE CONECTA AO BD, QUE ESTA DENTRO DO CONFIG: <?php class conexao { private $servidor; private $usuario; private $senha; private $banco; public $conexao; public function __construct(){ $this->servidor = "127.0.0.1"; $this->usuario = "root"; $this->senha = ""; $this->banco = "cliente"; } function conectar(){ $this->conexao= new mysqli($this->servidor,$this->usuario,$this->senha,$this->banco); } function fechar(){ $this->conexao->close(); } } ?> ESSA E A QUERY QUE ESTA DENTRO DA CLASSE CLIENTE NO MODEL: <?php class clientes { private $conexao; public function __construct() { require_once('../config/conexao.php'); $this->conexao= new conexao(); $this->conexao->conectar(); } function buscar(){ $nome = $_POST["nome"]; $sql="SELECT * FROM cliente WHERE `nome` LIKE '$nome'"; $result = $this->conexao->conexao->query($sql); if ($resultado->num_rows > 0) { $r=$resultado->fetch_assoc();// AQUI JÁ TENTEI WHILE, FOREACH, DE TUDO, SEI QUE ALGO TO FAZENDO DE ERRADO,MAS N ACHEI ONDE! } echo $r; } } ?>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.