Hijack Posted September 25, 2013 at 07:19 PM Report #525984 Posted September 25, 2013 at 07:19 PM (edited) Boa noite, uma vez mais venho pedir a vossa ajuda. Ao adicionar um novo utilizador preencho todos os campos e selecciono uma imagem que será a foto da pessoa em questão, o problema é que todos os dados são gravados excepto o nome do ficheiro e não estou a conseguir dar com o erro. Aqui está o código: head.php <!DOCTYPE html> <html lang="Pt"> <head> <title>Painel de Administração</title> <link rel="stylesheet" href="css/layout.css" type="text/css" media="screen" /> <link rel="stylesheet" href="css/managefiles.css" type="text/css" media="screen" /> <!--[if lt IE 9]> <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen" /> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- <script src="js/jquery-1.5.2.min.js" type="text/javascript"></script> --> <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> <script src="js/hideshow.js" type="text/javascript"></script> <script src="js/jquery.tablesorter.min.js" type="text/javascript"></script> <script type="text/javascript" src="js/jquery.equalHeight.js"></script> <script type="text/javascript" src="js/jquery-validate.js"></script> <script type="text/javascript" src="js/jquery-validate-messages-pt.js"></script> <script type="text/javascript" src="js/geral.js"></script> <!--<script type="text/javascript" src="js/tips.js"></script>--> <!-- Place inside the <head> of your HTML --> <script type="text/javascript" src="js/tinymce/tinymce.min.js"></script> <script type="text/javascript"> tinymce.init({ selector: "textarea#elm1", theme: "modern", language : 'pt_PT', width: 625, height: 250, plugins: [ "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker", "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", "save table contextmenu directionality emoticons template paste textcolor" ], content_css: "css/content.css", toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | l ink image | print preview media fullpage | forecolor backcolor emoticons", style_formats: [ {title: 'Bold text', inline: 'b'}, {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}}, {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}}, {title: 'Example 1', inline: 'span', classes: 'example1'}, {title: 'Example 2', inline: 'span', classes: 'example2'}, {title: 'Table styles'}, {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'} ] }); </script> <script type="text/javascript"> $(document).ready(function() { $(".tablesorter").tablesorter(); } ); $(document).ready(function() { //Quando a pagina carrega... $(".tab_content").hide(); //Esconde o conteudo $("ul.tabs li:first").addClass("active").show(); //Activa a primeira tab $(".tab_content:first").show(); //Mostra o conteudo da primeira tab //Evento On Click $("ul.tabs li").click(function() { $("ul.tabs li").removeClass("active"); //Remove qualquer class "activa" $(this).addClass("active"); //Adiciona class "activa" ao tab seleccionado $(".tab_content").hide(); //Esconde todo o conteudo da tab var activeTab = $(this).find("a").attr("href"); $(activeTab).fadeIn(); //Fade in return false; }); }); </script> <script type="text/javascript"> $(function(){ $('.column').equalHeight(); }); </script> <script type="text/javascript"> $(document).ready(function(){ $(".btn").click(function(){ var foto = $("#foto").val(); var nome = $("#nome").val(); var apelido = $("#apelido").val(); var email = $("#email").val(); var telefone = $("#telefone").val(); var telemovel = $("#telemovel").val(); var tel_trab = $("#tel_trab").val(); var senha = $("#senha").val(); var morada = $("#morada").val(); var cod_postal = $("#cod_postal").val(); var estado = $("#estado").val(); var id_funcao = $("#id_funcao").val(); var id_turma = $("#id_turma").val(); var id_ano = $("#id_ano").val(); $(".retorno").html('<img src="images/loader.gif" alt="" />'); $.ajax({ type: "POST", url: "ajax/valida-cadastro.php", data: "&foto="+ foto + "&nome="+ nome + "&apelido="+ apelido + "&email="+ email + "&telefone="+ telefone + "&telemovel="+ telemovel + "&tel_trab="+ tel_trab + "&senha="+ senha + "&morada="+ morada + "&cod_postal="+ cod_postal + "&estado="+ estado + "&id_funcao="+ id_funcao + "&id_turma="+ id_turma + "&id_ano="+ id_ano, success: function(html){ $(".retorno").html(html); } }); return false; }); }); </script> </head> novoutilizador.php <?php include('conexao/config.php'); // A sessão precisa ser iniciada em cada página diferente if (!isset($_SESSION)) session_start(); $nivel_necessario = 1; $nivel_modo = 1; // Verifica se não há a variável da sessão que identifica o usuário if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario) OR ($_SESSION['UsuarioModo'] < $nivel_modo)) { // Destrói a sessão por segurança session_destroy(); // Redireciona o visitante de volta pro login header("Location: ../login.php"); exit; } include ('sistema/core/head.php'); ?> <body> <?php include 'includes/usertopbar.php'; ?> <!-- sidebar --> <?php include'includes/asidesideb.php'; ?> <!-- fim da sidebar --> <section id="main" class="column"> <?php @$emsg = $_GET['emsg']; switch ($emsg): case 1: echo '<h4 class="alert_success">Utilizador criado com sucesso.</h4>'; break; case 2: echo '<h4 class="alert_warning">Todos os campos são obrigatórios.</h4>'; break; case 3: echo '<h4 class="alert_warning">Tem de atribuir um estatuto.</h4>'; break; case 4: echo '<h4 class="alert_warning">Não foi possivel criar o utilizador, contacte o técnico</h4>'; break; case 5: echo '<h4 class="alert_warning">Falha ao carregar imagem, contacte o técnico</h4>'; break; case 6: echo '<h4 class="alert_error">O email fornecido já se encontra em uso, por favor escolha outro.</h4>'; break; case 7: echo '<h4 class="alert_warning">Tem de atribuir uma turma.</h4>'; break; default: echo '<h4 class="alert_info">Registe um novo utilizador!</h4>'; break; endswitch; ?> <div id="caixa"><!-- Inicio da caixa --> <div id="conteudo"> <div class="titulo">Registo de novos utilizadores</div> <div class="div"> <table border="0" cellpadding="0" cellspacing="5px"> <tr> <td>Função:</td> <td> <?php $sql = "SELECT id_funcao, funcao FROM funcoes;"; $query = mysql_query($sql); ?> <select name="id_funcao" id="id_funcao" style="width:55%;"> <option value="">Selecione uma Função</option> <?php while ($resultado = mysql_fetch_assoc($query)){ echo "<option value=". $resultado['id_funcao'] .">". $resultado['funcao'] ."</option>"; } ?> </select> </td> </tr> <tr> <td width="105">Fotografia:</td> <td><input type="file" id="foto" name="foto" value="" /></td> </tr> <tr> <td width="105">Nome completo:</td> <td><input type="text" id="nome" name="nome" value="" /></td> </tr> <tr> <td>Apelido:</td> <td><input type="text" id="apelido" name="apelido" value="" /></td> </tr> <tr> <td>E-mail:</td> <td><input type="text" id="email" name="email" value="" /></td> </tr> <tr> <td>Telefone:</td> <td><input type="text" id="telefone" name="telefone" value="" /></td> </tr> <tr> <td>Telemovel:</td> <td><input type="text" id="telemovel" name="telemovel" value="" /></td> </tr> <tr> <td>Telefone trabalho:</td> <td><input type="text" id="tel_trab" name="tel_trab" value="" /></td> </tr> <tr> <td>Senha:</td> <td><input type="button" id="genPass" value="Gerar Senha!"><br /><input type="password" id="senha" name="senha" style="width:180px;" onchange= "return passwordValidation(this)"></td> </tr> <tr> <td>Morada:</td> <td><input type="text" id="morada" name="morada" value="" /></td> </tr> <tr> <td>Codigo Postal:</td> <td><input type="text" id="cod_postal" name="cod_postal" value="" /></td> </tr> <tr> <td>Ano:</td> <td> <?php $sql = "SELECT id_ano, ano_escolaridade FROM anoescolaridade;"; $query = mysql_query($sql); ?> <select name="id_ano" id="id_ano" style="width:55%;"> <option value="">Atribua um Ano</option> <?php while ($resultado = mysql_fetch_assoc($query)){ echo "<option value=". $resultado['id_ano'] .">". $resultado['ano_escolaridade'] ."</option>"; } ?> </select> </tr> <tr> <td>Turma:</td> <td> <?php $sql = "SELECT id_turma, turma FROM turmas;"; $query = mysql_query($sql); ?> <select name="id_turma" id="id_turma" style="width:55%;"> <option value="">Atribua uma Turma</option> <?php while ($resultado = mysql_fetch_assoc($query)){ echo "<option value=". $resultado['id_turma'] .">". $resultado['turma'] ."</option>"; } ?> </select> </tr> <tr> <td>Ativar conta:</td> <td> <select name="estado" id="estado" style="width:55%;"> <option value="inativo">Inativo</option> <option value="ativo">Ativar</option> </select> </td> </tr> </table> <div class="retorno"></div> <input type="button" class="btn" value="Cadastrar" /> <input type="reset" class="btn" value="Limpar" /> </div> </div><!--conteudo--> <div class="clear"></div> </div><!-- Fim da caixa --> <?php include('sistema/core/footer.php'); ?> valida-cadastro.php <?php // A sessão precisa ser iniciada em cada página diferente if (!isset($_SESSION)) session_start(); $nivel_necessario = 1; $nivel_modo = 1; // Verifica se não há a variável da sessão que identifica o usuário if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario) OR ($_SESSION['UsuarioModo'] < $nivel_modo) /*OR ($_SESSION['UsuarioEstatuto'] === FALSE)*/) { // Destrói a sessão por segurança session_destroy(); // Redireciona o visitante de volta pro login echo "<meta http-equiv='refresh' content='0; url=../../login.php'>"; exit(); } sleep(1); include"../conexao/config.php"; require('../phpmailer/config.php'); // POST's $email = strip_tags(trim(mysql_escape_string($_POST['email']))); $nome = strip_tags(trim(mysql_escape_string($_POST['nome']))); $apelido = strip_tags(trim(mysql_escape_string($_POST['apelido']))); $morada = strip_tags(trim(mysql_escape_string($_POST['morada']))); $cod_postal = strip_tags(trim(mysql_escape_string($_POST['cod_postal']))); $telefone = strip_tags(trim(mysql_escape_string($_POST['telefone']))); $telemovel = strip_tags(trim(mysql_escape_string($_POST['telemovel']))); $teltrabalho = strip_tags(trim(mysql_escape_string($_POST['tel_trab']))); $funcao = $_POST['id_funcao']; $turma = $_POST['id_turma']; $ano_escola = $_POST['id_ano']; $senha = strip_tags(trim(mysql_escape_string($_POST['senha']))); $estado = strip_tags(trim(mysql_escape_string($_POST['estado']))); $encrypt = hash('sha512', $senha); $codigo = hash('sha512', $email); $foto = ($_FILES['foto']['name']); $pasta = "../fotoperfil/"; $pasta = $pasta . basename( $_FILES['foto']['name']); // VERIFICA SE O E-MAIL ESTÁ CADASTRADO $verifica = mysql_query("SELECT * FROM paineladm_usuarios WHERE email = '".$email."'") or die("Erro ao consultar!"); if(empty($email)){ echo 'Introduza o email!'; }elseif(empty($nome )){ echo 'Introduza o nome!'; }elseif(empty($apelido)){ echo 'Introduza o apelido!'; }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo 'Introduza um e-mail válido!'; }elseif(empty($telefone)){ echo 'Introduza o numero de telefone!'; }elseif(empty($telemovel)){ echo 'Introduza o numero de telemovel!'; }elseif(empty($teltrabalho)){ echo 'Introduza o numero de telefone do local de trabalho!'; }elseif(empty($senha)){ echo 'Introduza uma senha!'; }elseif(empty($morada)){ echo 'Introduza a morada!'; }elseif(empty($cod_postal)){ echo 'Forneça o codigo postal!'; }elseif(mysql_num_rows($verifica) >= 1){ echo 'O e-mail já se encontra registado!'; }else{ $codigo = hash('sha512', $email); $data = date('d/m/Y H:i'); $assunto = 'Conta de acesso criada'; // Mensagem de texto para o remetente // $mensagem = " Olá <strong>$nome $apelido</strong>, foi criada uma conta no sistema de gestão de conteudos do site do $tituloBase! <br /> Dados de acesso ao painel de administração, por favor conserve esta mensagem. <br /> <br /> <p><strong>Painel de administração:</strong> <a href=\"$urlBase/login.php\">login.php</a> <br /> <p><strong>Utilizador:</strong> $email <br /> <strong>Senha:</strong> $senha </p> <br /> <p><strong>Função:</strong> $funcao <br /> <strong>Turma:</strong> $turma <br /> <strong>Ano:</strong> $ano_escola </p> <br /> <a href=\"$urlBase/confirma.php?email=$email&codigo=$codigo\">Ativar Conta</a> <br /> <br /> Atenciosamente: <strong>$tituloBase</strong> <br /> <br /> Enviado em: $data <br /> <br /> Esta mensagem foi enviada automaticamente. <strong>Por favor não responda a este e-mail</strong>. O endereço de e-mail é usado exclusivamente para o envio de e-mails."; // Envia a mensagem para o remetente // sendMail($assunto, $mensagem, $emailBase, $tituloBase, $email, $email); $cadastra = mysql_query("INSERT INTO paineladm_usuarios(foto, nome, apelido, email, telefone, telemovel, tel_trab, senha, morada, cod_postal, estado, id_funcao, id_turma, id_ano, datacad, codigo) VALUES ('$foto', '$nome', '$apelido', '$email', '$telefone', '$telemovel', '$teltrabalho', '{$encrypt}', '$morada', '$cod_postal', '$estado', '$funcao', '$turma', '$ano_escola', NOW(), '{$codigo}')"); echo '<font color="#009933">Foi enviado para o e-mail do utilizador, um link para ativação da conta!</font>'; ?> <script type="text/javascript"> $(document).ready(function(){ $("#foto").val(''); $("#nome").val(''); $("#apelido").val(''); $("#email").val(''); $("#telefone").val(''); $("#telemovel").val(''); $("#tel_trab").val(''); $("#senha").val(''); $("#morada").val(''); $("#cod_postal").val(''); $("#estado").val(''); $("#id_funcao").val(''); $("#id_turma").val(''); $("#id_ano").val(''); }); </script> <?php }?> Se alguém me puder ajudar agradeço. Abraço a todos Edited September 25, 2013 at 07:31 PM by Hijack
HappyHippyHippo Posted September 25, 2013 at 07:25 PM Report #525986 Posted September 25, 2013 at 07:25 PM (edited) não estás a enviar o ficheiro ... ajax não serve para esse tipo de situação Edited September 25, 2013 at 07:26 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Hijack Posted September 25, 2013 at 07:38 PM Author Report #525989 Posted September 25, 2013 at 07:38 PM (edited) Obrigado por ter respondido HappyHippyHippo Então neste caso tenho de retirar a parte do ajax e utilizo um formulario normal é isso? Edited September 25, 2013 at 07:38 PM by Hijack
HappyHippyHippo Posted September 25, 2013 at 08:38 PM Report #525997 Posted September 25, 2013 at 08:38 PM existem plugins do jquery para envio asincrono de ficheiros. caso contrário, terás mesmo de fazer um formulário normal ou usar html5 + FileAPI IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Hijack Posted September 25, 2013 at 08:43 PM Author Report #526000 Posted September 25, 2013 at 08:43 PM Ok, obrigado uma vez mais HappyHippyHippo, vou pesquisar melhor sobre esses plugins e depois volto aqui para mostrar os resultados e fechar o tópico. Obrigado uma vez mais.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now