JorgeGomes
-
Posts
15 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por JorgeGomes
-
-
Boa noite!
Uso o PHPMailer, e o envio quando o site está hospedado em um servidor local ocorre tudo certo, entretanto, quando enviado a partir de um servidor online ele não dá certo, ocorre um erro, segue o debug:
SpoilerConnection: opening to smtp.live.com:587, timeout=300, options=array ()
Connection: opened
SERVER -> CLIENT: 220 BLU436-SMTP112.smtp.hotmail.com Microsoft ESMTP MAIL Service, Version: 8.0.9200.16384 ready at Tue, 13 Dec 2016 16:09:24 -0800
CLIENT -> SERVER: EHLO ifsertao-pe-afranio.pe.hu
SERVER -> CLIENT: 250-BLU436-SMTP112.smtp.hotmail.com Hello [31.170.166.34]250-TURN250-SIZE 41943040250-ETRN250-PIPELINING250-DSN250-ENHANCEDSTATUSCODES250-8bitmime250-BINARYMIME250-CHUNKING250-VRFY250-TLS250-STARTTLS250 OK
CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 2.0.0 SMTP server ready
CLIENT -> SERVER: EHLO site.com.br
SERVER -> CLIENT: 250-BLU436-SMTP112.smtp.hotmail.com Hello [31.170.166.34]250-TURN250-SIZE 41943040250-ETRN250-PIPELINING250-DSN250-ENHANCEDSTATUSCODES250-8bitmime250-BINARYMIME250-CHUNKING250-VRFY250-AUTH LOGIN PLAIN XOAUTH2250 OK
CLIENT -> SERVER: AUTH LOGIN
SERVER -> CLIENT: 334 VXNlcm5hbWU6
CLIENT -> SERVER: aWZzZXJ0YW8tcGUtYWZyYW5pb0BvdXRsb29rLmNvbQ==
SERVER -> CLIENT: 334 UGFzc3dvcmQ6
CLIENT -> SERVER: Y2VudHJvYWZyYW5pbzE2
SERVER -> CLIENT: 235 2.7.0 Authentication succeeded
CLIENT -> SERVER: MAIL FROM:<[email protected]>
SERVER -> CLIENT: 250 2.1.0 [email protected] OK
CLIENT -> SERVER: RCPT TO:<[email protected]>
SERVER -> CLIENT: 250 2.1.5 [email protected]
CLIENT -> SERVER: DATA
SERVER -> CLIENT: 354 Start mail input; end with <CRLF>.<CRLF>
CLIENT -> SERVER: Date: Tue, 13 Dec 2016 21:09:10 -0300
CLIENT -> SERVER: To: =?UTF-8?Q?IF_SERT=C3O_PE_-_Centro_de_Refer=EAncia_de_Afr=E2nio?= <[email protected]>
CLIENT -> SERVER: From: Nome <[email protected]>
CLIENT -> SERVER: Reply-To: Nome <[email protected]>
CLIENT -> SERVER: Subject: ajsdasd
CLIENT -> SERVER: Message-ID: <[email protected]>
CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.16 (https://github.com/PHPMailer/PHPMailer)
CLIENT -> SERVER: MIME-Version: 1.0
CLIENT -> SERVER: Content-Type: multipart/alternative;
CLIENT -> SERVER: boundary="b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7"
CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
CLIENT -> SERVER:
CLIENT -> SERVER: This is a multi-part message in MIME format.
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7
CLIENT -> SERVER: Content-Type: text/plain; charset=us-ascii
CLIENT -> SERVER:
CLIENT -> SERVER: asdad
CLIENT -> SERVER: Nova mensagem via contato do site:Nome: nomeE-mail: [email protected]
CLIENT -> SERVER: Assunto: ajsdasdData: 13/12/2016 21:09
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7
CLIENT -> SERVER: Content-Type: text/html; charset=us-ascii
CLIENT -> SERVER:
CLIENT -> SERVER: <p style="font: 14px 'Trebuchet MS', Arial, Helvetica, sans-serif; color:#333">asdad</p><hr>
CLIENT -> SERVER: <h4>Nova mensagem via contato do site:</h4><p><strong>Nome: </strong>nome<br><strong>E-mail: </strong>[email protected]<br>
CLIENT -> SERVER: <strong>Assunto: </strong>ajsdasd<br><strong>Data: </strong>13/12/2016 21:09</p>
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7--
CLIENT -> SERVER:
CLIENT -> SERVER: .
SERVER -> CLIENT: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
SMTP ERROR: DATA END command failed: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
SMTP Error: data not accepted.Função do php para envio do e-mail:
function sendMail($subject, $message, $sender, $senderName, $destination, $destinationName, $reply = NULL, $replyName = NULL) { require ('mail/PHPMailerAutoload.php'); $mailer = new PHPMailer; $mailer->isSMTP(); $mailer->SMTPDebug = 3; $mailer->Debugoutput = 'html'; $mailer->CharSet = 'UTF-8'; $mailer->SMTPAuth = true; $mailer->SMTPSecure = 'tls'; $mailer->Host = mailhost; $mailer->Port = mailport; $mailer->Username = mailuser; $mailer->Password = mailpass; $mailer->SetFrom($sender, utf8_decode($senderName)); if ($reply) { $mailer->AddReplyTo($reply, utf8_decode($replyName)); } $mailer->AddAddress($destination, utf8_decode($destinationName)); $mailer->Subject = "$subject"; $mailer->isHTML(true); $mailer->Body = $message; $mailer->AltBody = strip_tags($message); if ($mailer->send()) { echo "<script>alert('E-mail enviado com sucesso!');</script>"; } else { $error = 'Error -> '.$mailer->ErrorInfo; // echo "<script>alert('$error');</script>"; die("$error"); } }
-
Problema resolvido!
Solução:
Adicionar protocolo http:// antes da url absoluta de cada arquivo.
LInk do tópico onde obtive resposta:
- 1
-
Já debugou as $_SESSION's ? Veja o que tem dentro delas.
-
o problema está aqui:
<input value="Entrar" wtx-context="2E50E7F0-188D-4917-8E3B-33B1207CD0B4" type="submit">
#entrar { margin-right: -1040px; }
tira este margin-right e bota isso:
#entrar { float: right; }
a partir daí, adiciona margin-right para posicioná-lo mais para esquerda.
-
Cara, dê uma conferida nessas margens, para que isso todo? Tem margens que tem mesma quantidade de pixels que uma tela desktop, esta por exemplo:
margin-right:900px;
Você pode fazer algo extremamente simples utilizando ou se baseando no sistema de grids do framework bootstrap. Dê uma olhada depois.
-
Pode fazer algo deste tipo:
// Função que faz conexão com o banco de dados $con = connection(); $files = $_FILES['files']; $files_num = count(array_filter($files['name'])); //PASTA $target_dir = '../uploads/'; //REQUISITOS $file_permis = array('image/jpeg', 'image/jpg', 'image/png'); $max_size = 1024 * 1024 * 5; //MENSAGENS $msg = array(); $errorMsg = array( '1' => 'O arquivo enviado excede o limite definido na diretiva upload_max_filesize do php.ini.', '2' => 'O arquivo excede o limite definido em MAX_FILE_SIZE no formulário HTML.', '3' => 'O upload do arquivo foi feito parcialmente.', '4' => 'Nenhum arquivo foi enviado.', '6' => 'Pasta temporária ausente. Introduzido no PHP 5.0.3.', '7' => 'Falha em escrever o arquivo em disco. Introduzido no PHP 5.1.0. ', '8' => 'Uma extensão do PHP interrompeu o upload do arquivo. O PHP não fornece uma maneira de determinar qual extensão causou a interrupção. Examinar a lista das extensões carregadas com o phpinfo() pode ajudar. Introduzido no PHP 5.2.0. ' ); for ($i = 0; $i < $files_num; $i++) { $name = $files['name'][$i]; $type = $files['type'][$i]; $size = $files['size'][$i]; $error = $files['error'][$i]; $tmp = $files['tmp_name'][$i]; // $ext = @end(explode('.', $name)); $ext = substr($name, -4); $ext = (strpos($ext, '.')) ? '.' . $ext : $ext; $newName = $postid . '-' . md5(uniqid(time())) . $ext; if ($error) $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': '" . $errorMsg['$error'] . "'</span>"; elseif (!in_array($type, $file_permis)) $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': Tipo da imagem não é aceitável!'</span>"; elseif ($size > $max_size) $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': Imagem de tamanho maior que 5MB.'</span>"; else { move_uploaded_file($tmp, $target_dir . $y . '/' . $m . '/' . $newName); date_default_timezone_set('America/Recife'); $timezone = date('Y-m-d H:i:s'); $statement = $con->prepare("INSERT INTO imagens (id, img, data) VALUES (?, ?, ?)"); $statement->bind_param("iss", $postid, $newName, $timezone); $statement->execute(); if (!$statement) echo $con->error; $statement->close(); } if ($msg) foreach ($msg as $message) : echo $message . '</br>'; endforeach; } $con->close();
No html:
<input type="file" name="files[]" />
-
Seria possível que postasse seu código?
Pelo que percebi, o endereço seria um parâmetro, e você tem de passá-lo para os métodos que te retornariam as componentes do endereço, certo?
seria tipo isso:
$this->getCEP(endereco); . . .
-
Pelo que entendi você quer por uma lista laranja no fim do retângulo.
Você pode usar um border-bottom;
Ex.:
#navbar { border-bottom: 10px solid orange; }
- 2
-
Poste seu código para que a comunidade analise e te mostre o que se encontra errado no intuito de resolver seu problema com o upload múltiplo de arquivos.
-
Estou com problema, o servidor local APACHE não está reconhecendo as folhas de estilos, e a inclusão de arquivos JAVASCRIPT também está com problemas, seguem os erros:
Com uma url estática tudo é carregado certinho:
Entretanto, quando mudo para uma url absoluta as folhas de estilos e scripts não carregados:
Como podem perceber pelas requisições feitas, com url estático os tipos saem certinhos, o que é css sai text/css, e o que é javascript, sai JS, contudo, quando boto urls absolutas, sai tudo text/html, e o navegador não reconhece.
Alguém tem alguma solução?
-
Citação
Opa, procure instanciar o datepicker após o load da tabela, pois como está hoje, ele chama quando abre a página porém a tabela ainda não foi criada.
function fetch_data() { //-- REMOVE OS PLUGINS ANTIGOS $(".datepicker").datepicker("destroy"); $.ajax({ url: "docentes/select.php", method: "POST", success: function (data) { $('#live_data').html(data); //-- INSTANCIA OS NOVOS PLUGINS $(".datepicker").datepicker({ dateFormat: "dd/mm/yy" }); } }); }
Créditos: andreneeto, Fórum iMasters.
LInk do tópico onde obtive resposta:
Tópico: Utilizar vários datapickers em uma tabela carregada com ajax - Fórum iMasters
- 1
-
-
Boa tarde!
Este link:
<a href="pesGeral.php?action=excluir?nfiscal=<?php echo $nota; ?>
Não deveria ser:
<a href="pesGeral.php?action=excluir&nfiscal=<?php echo $nota; ?>
E se você tiver utilizando url amigável, para pegar via get tem que ter alguns cuidados, por exemplo, se sua função que cuida do url amigável tiver esta aparência:
function getUrl() { $url = @$_GET['url']; $url = explode("/", $url); $url[0] = ($url[0] == NULL) ? 'index' : $url[0]; if (file_exists('arquivos/' . $url[0] . '.php')) require_once('arquivos/' . $url[0] . '.php'); elseif (file_exists('arquivos/' . $url[0] . '/' . $url[1] . '.php')) require_once('arquivos/' . $url[0] . '/' . $url[1] . '.php'); else require_once('arquivos/404.php'); }
Você teria que especificar a url de outro jeito, por exemplo:
<td><a href="scripts/excluirNota/<?= echo $nota; ?>/<?= echo $id; ?>"><img src="img/delEmp.png" width="25" class="excNota"/></a></td>
Daria para recuperar a nota pegando o $url[2] e o id pegando o $url[3].
-
Boa tarde!
É o seguinte, a princípio, estou carregando uma tabela com dados mysql via ajax:
function fetch_data() { $.ajax({ url: "docentes/select.php", method: "POST", success: function (data) { $('#live_data').html(data); } }); }
E em seguida faço manipulações para atualizar os dados, com isso, tudo certo. Entretanto, existe um campo da tabela que é para data, resolvi utilizar o Datepicker para deixar o campo mais elegante com a utilização de um calendário, se deparei com um problema ao utilizar vários Datepickers na mesma página, entretanto, designei uma ID única para cada input e uma classe igual para todos os inputs, classe a qual serviria de seletor para chamar a função datepicker, só que outro problema surge nessa jornada, este acontece por não estar executando a chamada da função datepicker, contudo, o seletor está correto, tem o mesmo identificador que o das classes dos inputs, não compreendo o por quê desse problema, por favor, peço vossa ajuda para a solução de meu problema, seguem códigos logo abaixo:
$(document).ready(function(){ $(".datepicker").datepicker({ dateFormat: "dd/mm/yy" }); )};
Já tentei pôr eventos no input do DatePicker:
<div class="input-group"> <input type="text" id="date_'.$inc.'" class="form-control datepicker" onmouseover="acionaDatePicker(\'#date_'.$inc.'\')" data-id="' . $Docente['id'] . '" data-before="' . $date . '" value="'.$date.'"/> </div>
e no javascript:
function acionaDatePicker(seletor){ $(seletor).datepicker({ dateFormat: "dd/mm/yy" }); }
É como se não executasse o código do javascript nos dois casos.
Arquivos:
Código gerador de tabela com informações do banco, mais tarde será carregada com auxilio do ajax via POST na div de id = "live_data":
Spoiler<?php require('../../dts/dbaSis.php'); $readDocentes = read('docentes', 'ORDER BY admissao DESC'); $output = ' <table class="table table-bordered"> <thead> <tr> <th>NOME</th> <th>SOBRENOME</th> <th>E-MAIL</th> <th>CURSO</th> <th>CENTRO DE REFERÊNCIA</th> <th>ADMISSÃO</th> <th>AÇÃO</th> </tr> </thead> '; if (count($readDocentes) > 0) { $output .= '<tbody>'; $inc = 0; foreach ($readDocentes as $Docente) : $output .= ' <tr> <td class="nome" data-id="' . $Docente['id'] . '" data-before="' . $Docente['nome'] . '" contenteditable>' . $Docente['nome'] . '</td> <td class="sobrenome" data-id="' . $Docente['id'] . '" data-before="' . $Docente['sobrenome'] . '" contenteditable>' . $Docente['sobrenome'] . '</td> <td class="email" data-id="' . $Docente['id'] . '" data-before="' . $Docente['email'] . '" contenteditable>' . $Docente['email'] . '</td> <td class="curso" data-id="' . $Docente['id'] . '" data-before="' . $Docente['curso'] . '" contenteditable>' . $Docente['curso'] . '</td> <td> <select class="centro form-control" data-id="' . $Docente['id'] . '" data-before="' . $Docente['centro_ref'] . '"> <option></option>'; $readCentro = read('centros_ref', ''); if ($readCentro) { foreach ($readCentro as $Centro): if ($Centro['id'] == $Docente['centro_ref']) { $output .= '<option value="' . $Centro['id'] . '" selected="selected">' . $Centro['nome'] . '</option>'; } else { $output .= '<option value="' . $Centro['id'] . '">' . $Centro['nome'] . '</option>'; } endforeach; } $date = date('d/m/Y', strtotime($Docente['admissao'])); $output .= '</select> </td> <td class="date"> <div class="input-group"> <input type="text" id="date_'.$inc.'" class="form-control datepicker" onmouseover="acionaDatePicker(\'#date_'.$inc.'\')" data-id="' . $Docente['id'] . '" data-before="' . $date . '" value="'.$date.'"/> </div> </td> <td class="text-center"><button name="btn_delete" id="btn_delete" class="btn btn-xs btn-danger" data-id="' . $Docente['id'] . '"> <i class="glyphicon glyphicon-trash"></i></button></td> </tr> '; $inc++; endforeach; } else { $output .= '<tbody><tr>NÃO EXISTEM REGISTROS DE DOCENTES!</tr>'; } $output .= ' <tr> <td id="nome" contenteditable></td> <td id="sobrenome" contenteditable></td> <td id="email" contenteditable></td> <td id="curso" contenteditable></td> <td> <select id="centro" class="form-control"> <option></option>'; $readCentro = read('centros_ref', ''); if ($readCentro) { foreach ($readCentro as $Centro): $output .= '<option value="' . $Centro['id'] . '">' . $Centro['nome'] . '</option>'; endforeach; } $output .= '</select> </td> <td class="date"> <div class="input-group" > <input type="text" class="form-control" id="datetimepicker3" onmouseover="acionaTimepicker()"/> </div> </td> <td class="text-center"><button id="btn_add" class="btn btn-xs btn-success"><i class="glyphicon glyphicon-plus"></i></button></td> </tr> '; $output .= '</tbody></table>'; echo $output; ?>
Página onde serão exibidos os dados:
Spoiler<div class="table-responsive"> <h3>Gerenciamento de Docentes</h3> <div id="live_data"></div> <input type="text" class="form-control datepicker" /> </div>
Página onde ficam os códigos JAVASCRIPT:
Spoiler<script src="<?php setHome(); ?>/js/jquery.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="js/bootstrap.js"></script> <!-- TABELA COM DADOS CARREGADOS VIA AJAX --> <?php $url = stripslashes($_GET['exe']); $url = explode('/', $url); if ($url[1] == 'new-doc-edit') { ?> <script> $(document).ready(function () { function fetch_data() { $.ajax({ url: "docentes/select.php", method: "POST", success: function (data) { $('#live_data').html(data); } }); } fetch_data(); $(document).on('click', '#btn_add', function () { var nome = $('#nome').text(), sobrenome = $('#sobrenome').text(), email = $('#email').text(), curso = $('#curso').text(), centro_ref = $('#centro').val(), admissao = $('#datetimepicker3').val(); if (nome == '' || sobrenome == '' || email == '' || curso == '' || centro_ref == '' || admissao == '') { return false; } $.ajax({ url: "docentes/insert.php", method: "POST", data: { nome: nome, sobrenome: sobrenome, email: email, curso: curso, centro_ref: centro_ref, admissao: admissao }, dataType: "text", success: function () { alert('Dados adicionados com sucesso!'); fetch_data(); } }); }); function update(id, text, column_name) { $.ajax({ url: "docentes/update.php", method: "POST", data: { id: id, text: text, column_name: column_name }, dataType: "text", success: function () { alert('Dados atualizados com sucesso!'); } }); } $(document).on('blur', '.nome', function () { var id = $(this).data("id"), text = $(this).text(), before = $(this).data("before"); if (before != text) { update(id, text, "nome"); } }); $(document).on('blur', '.sobrenome', function () { var id = $(this).data("id"), text = $(this).text(), before = $(this).data("before"); if (before != text) { update(id, text, "sobrenome"); } }); $(document).on('blur', '.email', function () { var id = $(this).data("id"), text = $(this).text(), before = $(this).data("before"); if (before != text) { update(id, text, "email"); } }); $(document).on('blur', '.curso', function () { var id = $(this).data("id"), text = $(this).text(), before = $(this).data("before"); if (before != text) { update(id, text, "curso"); } }); $(document).on('blur', '#datetimepicker4', function () { var id = $(this).data("id"), val = $(this).val(), before = $(this).data("before"); if (before != val) { update(id, val, "admissao"); } }); $(document).on('blur', '.centro', function () { var id = $(this).data("id"), val = $(this).val(), before = $(this).data("before"); if (before != val) { update(id, val, "centro_ref"); } }); $(document).on('click', '#btn_delete', function () { var id = $(this).data("id"); $.ajax({ url: "docentes/delete.php", method: "POST", data: { id: id }, dataType: "text", success: function () { alert('Dados apagados com sucesso!'); fetch_data(); } }); }); }); </script> <?php } ?> <script> $(document).ready(function(){ $(".datepicker").datepicker({ dateFormat: "dd/mm/yy" }); function acionaDatePicker(seletor){ $(seletor).datepicker({ dateFormat: "dd/mm/yy" }); } }); </script>
Caso eu não tenha sido claro quanto a minha dúvida, por favor, informem.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Problema ao Disparar Clique dentro de Iframe
em Web e banco de dados
Postado
Boa noite!
A situação é a seguinte, estou incluindo páginas dentro de iframes, sendo que as mesmas fazem parte do mesmo domínio, existem campos e seus valores máximos, e também um botão para selecionar todos os valores máximos destes campos, e este é meu objetivo, clicar nesse botão, porém, quando disparo o evento clique, nada é selecionado, entretanto, observei que adicionar valores manualmente a estes campos funcionava.
Segue o código utilizado para disparar evento clique e selecionar o valor máximo de todos os campos:
Isto é o que funciona:
Contudo, eu não quero fazer isso para cada campo, sendo que já tenho um botão que seleciona todos os valores máximos.
Vale ressaltar que se disparar o evento clique nas respectivas páginas sem estarem dentro de iframes tudo ocorre como esperado.
Desde já agradeço pela ajuda!