ADMINWEB 0 Denunciar post Postado Abril 4, 2015 Tenho esse script queria algo mais pratico dinâmico e o mesmo esta dando esse erro: Notice: Undefined index: nome in C:\wamp\www\teste\index.php on line 50 Notice: Undefined index: usuario in C:\wamp\www\teste\index.php on line 51 Notice: Undefined index: email in C:\wamp\www\teste\index.php on line 52 Notice: Undefined index: nivel_usuario in C:\wamp\www\teste\index.php on line 53 Notice: Undefined index: programa in C:\wamp\www\teste\index.php on line 54 Notice: Undefined index: status in C:\wamp\www\teste\index.php on line 55 Notice: Undefined index: senha in C:\wamp\www\teste\index.php on line 56 veja os meus scripts: (index.php) <?php /** * @author gencyolcu * @copyright 2015 /* * Require nos scripts necessários */ require_once "conect.php"; require_once "crud.php"; /** * Atribui uma instância da classe crudBlog * e passa uma conexão como parâmetro */ $radio = crud_RADIO::getInstance(Conexao::getInstance()); /* * Variável contendo o id para exclusão do registro */ //$id=10; // // /* // * Chama o método delete() e passa o parâmetro necessário // */ // $radio->delete($id); /* * Variáveis contendo os valores para serem inseridos no banco de dados */ // Metodo anti-injection function anti_sql_inject($sql) { // Remove palavras que contenham sintaxe sql $sql = trim($sql); //limpa espaços vazio $sql = strip_tags($sql); //tira tags html e php $pattern = "/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\|\"|\')/"; $match = preg_match($pattern,$sql); if($match){ echo" <br> <div align='center'><img src='../images/error.gif' width='256' height='256' alt='Error'/></div></br> <div align='center'>!!! FALHA !!! Não foi possível enviar a mensagem!<br>Entre em contato com o administrador do site!!! <br><br>ERROR. SQL Inject detectado.<br><input type='button' value='Voltar' OnClick='history.back()'/></a> </div> "; exit; } return $sql; } $nome = anti_sql_inject($_POST['nome']); $usuario = anti_sql_inject($_POST['usuario']); $email = anti_sql_inject($_POST['email']); $nivel_usuario = anti_sql_inject($_POST['nivel_usuario']); $programa = anti_sql_inject($_POST['programa']); $status = anti_sql_inject($_POST['status']); $senha = anti_sql_inject($_POST['senha']); $securitypass = hash ("whirlpool", $senha); /* * Chama o método getAllusuarios() que retorna um array de objetos */ $dados = $radio->getAllusuarios(); ?> <form action='rotinas.php?id_usuario=<?php echo $reg->id; ?>' method='post' enctype="multipart/form-data"> <b>Nome da conta: (Atenção não pode ser mudado)</b><br /> <div class='input-prepend'> <span class='add-on'><i class='icon-user'></i></span> <input type='text' name='nome' placeholder='Crie sua conta' /></div> <br /> <b>E-mail:</b><br /> <div class='input-prepend'> <span class='add-on'><i class='icon-envelope'></i></span> <input type='text' name='email' placeholder='Crie seu E-mail'/></div> <br /> <b>Usuário:</b><br /> <div class='input-prepend'> <span class='add-on'><i class='icon-user'></i></span> <input type='text' name='usuario' placeholder='Crie seu login'/></div> <br /> <b>Senha:</b><br /> <div class='campos'><input type='password' name='senha' placeholder='crie sua senha' /></div> <br /> <b>Nível de usurário:</b> <br /><div class='campos'> <select name='nivel_usuario'> <option value='admin'>Administrador</option> <option value='locutor'>Locutor</option> <option value='ouvinte'>Igrejas</option> </select><br /></div> <br /> <b>Nome do programa:</b> <br /><div class='campos'> <select name='programa'> <option value='' selected='selected'>Escolha uma opção</option> <option value='Bom Dia Cidade'>Bom Dia Cidade</option> <option value='Alô Cidade'>Alô Cidade</option> <option value='Circuito Musical'>Circuito Musical</option> <option value='Especial Sertanejo'>Especial Sertanejo</option> <option value='Domingo Musical'>Domingo Musical</option> <option value='Somos mais que vencedores'>Igreja Batista da Videira</option> <option value='Igreja Doutrina de Jesus'>Igreja Assembléia de Deus Fonte de vida</option> <option value='Igreja Assembléia de Deus(Missão)'>Igreja Assembléia de Deus(Missão)</option> <option value='Igreja Assembléia de Deus(Madureira)'>Igreja Assembléia de Deus(Madureira)</option> <option value='Levanta-te'>Renovação Carismática Católica</option> <option value='Nos passo da fé'>Igreja do Evangelho Quadrangular</option> </select><br /></div> <input type='hidden' name='id' value=''> <br /> <b>Status de usurário:</b> <br /><div class='campos'> <select name='status'> <option value='ativado'>ATIVADO</option> <option value='desativado'>DESATVADO</option> </select><br /></div> <div class='botons'> <div align='right'> <input type='submit' name='submit' class='btn btn-primary' value='Atualizar dados'> <input type='submit' name='submit' class='btn btn-primary' value='Deletar dados'> <input type='submit' name='submit' class='btn btn-primary' value='Inserir dados'> </div> </div> </form> <?php /* * Loop foreach percorre a array para exibir os artigos */ foreach ($dados as $reg): echo "********************************************** "; ?> <table> <tr> <td>ID:</td> <td><?php echo $reg->id; ?></td> </tr> <tr> <td>NOME:</td> <td><?php echo $reg->nome; ?></td> </tr> <tr> <td>USUARIO:</td> <td><?php echo $reg->usuario; ?></td> </tr> <tr> <td>PROGRAMA:</td> <td><?php echo $reg->programa; ?></td> </tr> <tr> <td>EMAIL:</td> <td><?php echo $reg->email; ?></td> </tr> <tr> <td>SENHA:</td> <td><?php echo $reg->senha; ?></td> </tr> <tr> <td>NIVEL:</td> <td><?php echo $reg->nivel_usuario; ?></td> </tr> <tr> <td>STATUS:</td> <td><?php echo $reg->status; ?></td> </tr> </table> <?php endforeach; ?> (crud.php) <?php /* * Classe para operações CRUD na tabela ARTIGO */ class crud_RADIO{ /* * Atributo para conexão com o banco de dados */ private $pdo = null; /* * Atributo estático para instância da própria classe */ private static $crud_RADIO = null; /* * Construtor da classe como private * @param $conexao - Conexão com o banco de dados */ private function __construct($conexao){ $this->pdo = $conexao; } /* * Método estático para retornar um objeto crud_RADIO * Verifica se já existe uma instância desse objeto, caso não, instância um novo * @param $conexao - Conexão com o banco de dados * @return $crud_RADIO - Instancia do objeto crud_RADIO */ public static function getInstance($conexao){ if (!isset(self::$crud_RADIO)): self::$crud_RADIO = new crud_RADIO($conexao); endif; return self::$crud_RADIO; } /* * Metodo para inclusão de novos registros * @param $categoria - Valor para o campo categoria * @param $titulo - Valor para o campo titulo * @param autor - Valor para o campo autor */ public function insert($id, $nome, $usuario, $programa, $nivel_usuario, $email, $senha, $status){ if (!empty($nome) && !empty($usuario) && !empty($programa)): try{ $sql = "INSERT INTO usuarios (nome, usuario, programa, nivel_usuario, email, senha, status) VALUES (?, ?, ?, ?, ?, ?,?)"; $stm = $this->pdo->prepare($sql); $stm->bindValue(1, $nome); $stm->bindValue(2, $usuario); $stm->bindValue(3, $programa); $stm->bindValue(4, $nivel_usuario); $stm->bindValue(5, $email); $stm->bindValue(6, $senha); $stm->bindValue(7, $status); $stm->execute(); echo "<script>alert('Registro inserido com sucesso')</script>"; }catch(PDOException $erro){ echo "<script>alert('Erro na linha: {$erro->getLine()}')</script>"; } endif; } /* * Metodo para edição de registros * @param $nome - Valor para o campo nome * @param $titulo - Valor para o campo titulo * @param autor - Valor para o campo autor * @param id - Valor para o campo id */ public function update($id, $nome, $usuario, $programa, $nivel_usuario, $email, $senha, $status, $id){ if (!empty($nome) && !empty($usuario) && !empty($programa) && !empty($id)): try{ $sql = "UPDATE usuarios SET nome=?, usuario=?, programa=?, nivel_usuario=?, email=?, senha=?, status =? WHERE id=?"; $stm = $this->pdo->prepare($sql); $stm->bindValue(1, $nome); $stm->bindValue(2, $usuario); $stm->bindValue(3, $programa); $stm->bindValue(4, $nivel_usuario); $stm->bindValue(5, $email); $stm->bindValue(6, $senha); $stm->bindValue(7, $status); $stm->bindValue(8, $id); $stm->execute(); echo "<script>alert('Registro atualizado com sucesso')</script>"; }catch(PDOException $erro){ echo "<script>alert('Erro na linha: {$erro->getLine()}')</script>"; } endif; } /* * Metodo para exclusão de registros * @param id - Valor para o campo id */ public function delete($id){ if (!empty($id)): try{ $sql = "DELETE FROM usuarios WHERE id=?"; $stm = $this->pdo->prepare($sql); $stm->bindValue(1, $id); $stm->execute(); echo "<script>alert('Registro excluido com sucesso')</script>"; }catch(PDOException $erro){ echo "<script>alert('Erro na linha: {$erro->getLine()}')</script>"; } endif; } /* * Metodo para consulta de usuarioss * @return $dados - Array com os registros retornados pela consulta */ public function getAllusuarios(){ try{ $sql = "SELECT * FROM usuarios"; $stm = $this->pdo->prepare($sql); $stm->execute(); $dados = $stm->fetchAll(PDO::FETCH_OBJ); return $dados; }catch(PDOException $erro){ echo "<script>alert('Erro na linha: {$erro->getLine()}')</script>"; } } } (conect.php) <?php /** * @author gencyolcu * @copyright 2015 /* * Constantes de parâmetros para configuração da conexão */ define('DB_HOST', 'localhost'); define('DB_NAME', 'test'); define('DB_USER', 'root'); define('DB_PASS', ''); class Conexao { /* * Atributo estático para instância do PDO */ private static $pdo; /* * Escondendo o construtor da classe */ private function __construct() { // } /* * Método estático para retornar uma conexão válida * Verifica se já existe uma instância da conexão, caso não, configura uma nova conexão */ public static function getInstance(){ if(!isset(self::$pdo)){ try { self::$pdo = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS); self::$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); self::$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); } catch (PDOException $e) { echo $e->getMessage(); } } return self::$pdo; } public static function prepare($sql){ return self::getInstance()->prepare($sql); } } (rotinas.php) <?php /** * Atribui uma instância da classe crudBlog * e passa uma conexão como parâmetro */ require_once "conect.php"; require_once "crud.php"; $radio = crud_RADIO::getInstance(Conexao::getInstance()); /* * Chama o método insert() e passa os parâmetros necessários */ $setIDuser = (int)$_GET['id_usuario']; if(isset($_POST['submit']) && $_POST['submit'] == 'Inserir dados'){ $radio->insert($setIDuser, $nome, $usuario, $programa, $nivel_usuario, $email, $senha, $status); echo 'Cadastrado com sucesso!'; } if(isset($_POST['submit']) && $_POST['submit'] == 'Atualizar dados'){ $radio->update($setIDuser, $nome, $usuario, $programa, $nivel_usuario, $email, $senha, $status); echo 'Alterado com sucesso!'; } if(isset($_POST['submit'])&& $_POST['submit'] == 'Deletar dados'){ $radio->delete($setIDuser); echo 'Deletado com sucesso!'; //echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=../gerenciar-alluser.php'>"; } ?> se alguém poder me ajudar eu agradeço estou inciando em PHP OO. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Abril 4, 2015 Aqui eu explico o motivo e mostro como corrigir: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#undef_index Compartilhar este post Link para o post Compartilhar em outros sites
ADMINWEB 0 Denunciar post Postado Agosto 8, 2015 Resolvido pessoal Compartilhar este post Link para o post Compartilhar em outros sites