-
Total de itens
244 -
Registro em
-
Última visita
Posts postados por DinhoPHP
-
-
4 horas atrás, Camilavip disse:Eu já dei um jeito usando uma função jquery para inserir no input. Na verdade eu não queria retornar e sim inserir no banco
Entendido. Show! O importante é que conseguiu. Mas sempre gravei mesmo como citado pelo Williams, e acho até melhor, já que é padrão do banco.
-
<?php /* VOCÊ PRECISARÁ FAZER O DOWNLOAD DO PHPMAILER E INCLUÍ-LA NO NESTE ARQUIVO. SUGIRO TAMBÉM, DAR UMA ESTUDADA NA DOCUMENTAÇÃO DO MESMO. TUDO E ONDE BAIXAR EM: https://github.com/PHPMailer/PHPMailer */ // CAPTURANDO DADOS DO FORMULÁRIO ADD OS ISSET DO POST $nome = trim(ucwords(preg_replace('/\s\s+/', ' ',($_POST['nome-curriculo'])))); $eemail = trim(strtolower(preg_replace('/\s\s+/', ' ',($_POST['email-curriculo'])))); $telefone = trim(preg_replace('/\s\s+/', ' ',($_POST['telefone-curriculo']))); $cidade = trim(preg_replace('/\s\s+/', ' ',($_POST['cidade-curriculo']))); $assunto = trim(preg_replace('/\s\s+/', ' ',($_POST['assunto-curriculo']))); $mensagem = trim(preg_replace('/\s\s+/', ' ',($_POST['mensagem-curriculo']))); $ip = $_SERVER['REMOTE_ADDR']; $navegador = $_SERVER['HTTP_USER_AGENT']; $files = $_FILES["file"]; $file = $files; try{ // Inicia a classe PHPMailer $mail = new PHPMailer(true); // Define os dados do servidor e tipo de conexão // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= //$mail->SMTPDebug = SMTP::DEBUG_SERVER; // Enable verbose debug output $mail->CharSet = "UTF-8"; $mail->setLanguage('br'); $mail->Host = "mail.host.com.br"; // Endereço do servidor SMTP $mail->Username = 'emaildahospedagem@host.com.br'; // Usuário do servidor SMTP $mail->Password = 'senha'; // Senha do servidor SMTP $mail->Port = 587; // SMTP 465 - IMAP 993 - 587 $mail->isSMTP(); $mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional) $mail->SMTPSecure = 'tls'; //$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` $mail->Priority = 1; // Define o remetente // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->From = ("email@email.com.br"); // E-mail do usuário $mail->FromName = $nome; // Seu nome // Define os destinatário(s) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAddress($eemail); //$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia //$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta // Define os dados técnicos da Mensagem // =-=-=-=-=-=-=-=-=-=-=1-=-=-=-=-=-=-=-=-= $mail->IsHTML(); // Define que o e-mail será enviado como HTML // $mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional) // Define a mensagem (Texto e Assunto) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->Subject = $assunto; // Assunto da mensagem //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body // $mail->msgHTML(FILE_USE_require_once_ATH('contents.html', 1)); // CORPO DO EMAIL // FORMATO HTML $mail->Body = "<h4><p>Nome: {$nome}.<br><br>Email: {$eemail}<br><br>Telefone: {$telefone}.<br><br>Cidade: {$cidade}.<br><br>Assunto: {$assunto}.<br><br>Mensagem: {$mensagem}</p><p><h6><br>IP do remetente: {$ip}<br>Navegador do remetente: {$navegador}</h6></p></h4>"; // FORMATO SEM HTML $mail->AltBody = "Nome: {$nome}" . "\n" . "\n" . "Email: {$eemail}" . "\n" . "Telefone: {$telefone}" . "Cidade: {$cidade}" . "\n" . "Mensagem: {$mensagem}" . "\n" . "IP do remetente: {$ip}" . "\n" . "Navegador do remetente: {$navegador}"; // Define os anexos (opcional) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAttachment($file['tmp_name'], $file['name'], 'base64'); // Insere um anexo //print_r($_FILES);echo"<br>";print_r($files); // Envia o e-mail $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); $mail->ClearAttachments(); // FIM DO ENVIO DE EMAIL }catch (Exception $e) echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } ?>
https://github.com/PHPMailer/PHPMailer
Postei um código pq tive grandes e misteriosos problemas para anexar, mas consegui desta maneira. Tirei muitas adaptações que tinha, mas com isso você já consegue enviar com anexo.
-
6 horas atrás, Camilavip disse:Estou tentando gravar uma data de cadastro no mysql mas não está gravando.
A tabela do banco: `created` datetime NOT NULL,
E no php:
// Recupera os dados dos campos $nome = $_POST['nome']; $celular = $_POST['celular']; $email = $_POST['email']; $login = $_POST['login']; $senha = sha1($_POST['senha']); $id_nivel = $_POST['id_nivel']; $ativo = isset($_POST['ativo']) ? $_POST['ativo'] : null; $foto = $_FILES["foto"]; $nome_imagem = null; $created = isset($_POST['created']) ? $_POST['created'] : null; // Insere os dados no banco $sql = $sqli->query("INSERT INTO clientes VALUES ('', '".$nome."', '".$celular."', '".$email."', '".$login."', '".$senha."', '".$id_nivel."', '".$ativo."', '".$nome_imagem."', '".$created."')");
Tem um bom tempo que fiz algo assim e se lembro bem, eu gravava normal e se precisasse mostrar a data no formato BR em uma página, eu fazia isso...
<?php $date=date_create("2013-03-15"); echo date_format($date,"d/m/Y"); ?>
Mas encontrei isso em um fórum e acredito que pode te ajudar.
https://pt.stackoverflow.com/questions/17679/como-inserir-date-e-datetime-em-uma-tabela-no-mysql
-
Pessoal, tenho um código PHP que busca imagens em subpastas, porém gostaria de fazê-lo com que fosse carregado aos poucos pois são muitas fotos, tentei de ns maneiras entender o AJAX, mas não tive sucesso. Favor! Peço ajuda.
loadAjax.php
$dir = new DirectoryIterator( './images/portfolio/sem_categoria' ); // array contendo os diretórios permitidos $diretoriosPermitidos = array("portfolio","sem_categoria"); foreach($dir as $file) { // verifica se $file é diferente de '.' ou '..' if (!$file->isDot()) { // listando somente os diretórios if ( $file->isDir() ) { // atribui o nome do diretório a variável $dirName = $file->getFilename(); // subdiretórios $caminho = $file->getPathname(); // chamada da função de recursividade recursivo($caminho, $dirName); } // listando somente os arquivos do diretório if ( $file->isFile() ) { // atribui o nome do arquivo a variável $fileName = $file->getFilename(); // print //echo "Arquivos: ".$fileName."<br>"; } } } function recursivo( $caminho, $dirName ){ global $dirName; $DI = new DirectoryIterator( $caminho ); foreach ($DI as $file){ if (!$file->isDot()) { if ( $file->isFile() ) { // $fileName = $file->getFilename(); // //echo $dirName.": ".$fileName."<br>"; echo "<div class='col-12 col-sm-6 col-md-4 col-lg-3 mb-2 d-flex justify-content-center' alt=''> <a href='{$fileName}' class='fresco' data-fresco-group='example' data-fresco-caption='ARJ SERVICE'> <img class='eni-img-thumb' src='images/portfolio/sem_categoria/{$dirName}/{$fileName}'> </a> </div>"; } } } }
Tentei adaptar o código abaixo as minhas necessidades, mas não consegui.
<script> //variavel para controle de registros retornados var pagina = 0; var pesquisa = true; //function carrega function carrega(){ $('#loading').html("<img src='img/loader.gif'/> Carregando Feeds...").fadeIn('fast'); $.ajax({ type: "POST", url: "loadAjax.php", data: "page="+pagina,//variavel passada via post cache: false, success: function(html){ if(html){ $('#loading').fadeOut('fast'); $("#result").append(html); //mostra resultado na div result pesquisa = true; }else{ $('#loading').html("Fim da pesquisa...").fadeIn('fast'); pesquisa = false; } }, error:function(html){ $('#loading').html("erro...").fadeIn('fast'); } }); }; //chama minha funcao ao carregar a pagina $(document).ready(function(){ carrega(); }); //funcao de controle do scroll da pagina, na qual ela chega ao fim é acionada chamando //minha function carrega novamente para trazer mais dados dinamicamente $(window).scroll(function(){ if($(window).scrollTop() + $(window).height() >= $(document).height()){ pagina += 1; carrega(); }; }); </script>
-
Agora, Williams Duarte disse:O problema acredito não ser no PhpMailer!
Pois não sabemos oque este código faz, se você abstraiu as funções do PHPMailer para outra layer. Só Deus e você sabe oque fez, nem aqui e nem no SoPT entenderá. Lá no Stack ja iria ser fechada ou negativada, por nao ser clara e fora de escopo do PHPMailer.Pois é! Mas sem má intenção e a mesma não foi. Acredito não ter culpa se todos os meus códigos salvos anteriormente com a classe resolveram parar de funcionar. Tive que fazer outra e fui com base no vídeo do canal UPINSIDE.
Mas sem problemas! Nunca desisto e irei consegui ;) agradeço ao Guilherme e aos que tentaram me ajudar. Se verem a necessidade de fechar, assim o podem fazer. Vlw! E obrigado!
-
Em 05/06/2020 at 23:11, Guilherme Luiz disse:Muito obrigado, Guilherme. Mas quando eu estava criando este tópico, esqueci de editar partes da postagens e acabou ficando igual a do Stackoverflow (pois já havia postado lá). rsrs
O problema é com ela mesmo, se passo os parâmetros manualmente ex: attach("pasta/arq.doc", "nome_para_o_arequivo")->send(); roda normal, porém, não com variável com conteúdo do campo file do html. Entendeu?
-
Estou tentando enviar um anexo e o mesmo não chega no email, apenas quando não faço uso da função attach.
arquivo que contém as functions responsáveis pelo envio do email.
public function attach(string $filePath, string $fileName): Email{ $this->data->attach[$filePath] = $fileName; return $this; }
Arquivo que utiliza a função attach.
No arquivo que captura os dados do formulário, já passei os parâmetros de tudo quanto é jeito.
require __DIR__ . "/include/head.php"; require __DIR__ . "/vendor/autoload.php"; use Source\Support\Email; $email = new Email(); // CAPTURANDO DADOS DO FORMULÁRIO $nome = trim(ucwords(preg_replace('/\s\s+/', ' ',($_POST['nome-curriculo'])))); $eemail = trim(strtolower(preg_replace('/\s\s+/', ' ',($_POST['email-curriculo'])))); $telefone = trim(preg_replace('/\s\s+/', ' ',($_POST['telefone-curriculo']))); $cidade = trim(preg_replace('/\s\s+/', ' ',($_POST['cidade-curriculo']))); $assunto = trim(preg_replace('/\s\s+/', ' ',($_POST['assunto-curriculo']))); $mensagem = trim(preg_replace('/\s\s+/', ' ',("<pre>".$_POST['mensagem-curriculo']."</pre>"))); // $file_tmp = ($_FILES['file'], $_POST['name']); $files = $_FILES['curriculo']; $email->add($assunto, "<h3>Nome: {$nome}<br>{$files['name']}<br>Email: {$eemail}<br><br>Telefone: {$telefone}<br><br>Cidade: {$cidade}<br><br></br>Mensagem:<br>{$mensagem}</h3>", $nome, $eemail)->attach($files['tmp_name'], $files['name'])->send(); var_dump($files);
A função attach que recebe dois parâmetros, quando utilizada, não envia o anexo vindo do form HTML, já digitando os parâmetros na função, ela envia o anexo. Já li até alguns casos semelhantes aqui mesmo e nada! Só envia o anexo digitando os parâmetros manualmente.
-
Olá! Peguei um feela, onde o cliente possui um campo de busca de reservas do Booking. A solicitação era de um menu moderno em tecnologias de estilo, seguindo o layout já desenvolvido por ele, até aí tudo bem. O problema é como fazer com que esses dados do formulários passados via GET, sejam recebidos corretamente pela página de resultados do Booking.com
Tentei, utilizando mesmo names e ids da busca original, porém, o resultado desejado é satisfatório apenas onde digita o que desejamos buscar.
<script type="text/javascript"> (function(d, sc, u) { var s = d.createElement(sc), p = d.getElementsByTagName(sc)[0]; s.type = 'text/javascript'; s.async = true; s.src = u + '?v=' + (+new Date()); p.parentNode.insertBefore(s,p); })(document, 'script', '//aff.bstatic.com/static/affiliate_base/js/flexiproduct.js'); </script> <body> <div class="container"> <div class="row bg-primary justify-content-center my-3 text-white"> <form id="b_frm" method="get" action="https://www.booking.com/searchresults.html" enctype="multipart/form-data" class="form-inline my-3" target="_blank"> <div class="col-12 col-sm-12 col-md-6" data-test="true"> <label for="txt-search" class="justify-content-start"><i class="fas fa-search mr-1"></i>Pesquisar</label> <input type="search" id="b_destination" class="form-control w-100" name="ss" id="b_destination" value="Guarujá" title="Ex.: cidade, região, bairro ou hotel específico" placeholder="Ex.: cidade, região, bairro ou hotel, casa, apartamento" role="textbox" aria-haspopup="true"> <input type="hidden" name="dest_id" value="-645946"> <input type="hidden" name="dest_type" value="city"> </div> <div id="checkin_target" class="col-12 col-sm-12 col-md-3"> <label for="txt-date-in" class="justify-content-start">Data de entrada</label> <select class="form-control w-100" name="checkin_monthday" id="b_checkin_day"></select> <select class="form-control w-100" name="checkin_year_month" id="b_checkin_month"></select> </div> <div id="checkout_target" class="col-12 col-sm-12 col-md-3"> <label for="txt-date-out" class="justify-content-start">Data de saída</label> <select class="form-control w-100" name="checkout_monthday" id="b_checkout_day"></select> <select class="form-control w-100" name="checkin_year_month" id="b_checkout_month"></select> </div> <div class="col-12 d-inline-flex justify-content-end mt-3"> <label for="checkReserv"> <input type="checkbox" class="form-check-inline" name="checkReserv" id="checkReserve"> Reserve agora, pague depois </label> </div> <div class="col-12 d-inline-flex justify-content-end mt-3"> <button type="submit" tabindex="0" class="btn btn-danger form-control" value="search">Pesquisar</button> </div> <input type="hidden" name="error_url" value="/?aid=1704408;"> <input type="hidden" name="si" value="ai,co,ci,re,di"> <input type="hidden" name="label" value=""> <input type="hidden" name="lang" value="pt-br"> <input type="hidden" name="aid" value="1704408"> <input type="hidden" name="sp_plprd" value="UmFuZG9tSVYkc2RlIyh9YVXcKaaJl1Cl8VOf4QzoGuIOLLs5aG2FZ2ZavnPQr-nKVGXKwhi-SxV27wZ5e4ad8ZB_vNL0FpUBWR1nsdbY6J6ZBGBM6rnqKJd1-J9bY_Ur"> <input type="hidden" name="utm_campaign" value="nsb"> <input type="hidden" name="utm_medium" value="sp"> <input type="hidden" name="utm_source" value="FP_Searchbox"> <input type="hidden" name="utm_term" value="1704408"> </form> </div> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <script src="https://s.bookcdn.com/js/translations/translation_31.26.js"></script> <script src="https://s.bookcdn.com/build/booked/booked_bundle.74f2565a43a50d618c66d31c0adba095.js"></script> <!-- <ins class="bookingaff" data-aid="1704408" data-target_aid="1704408" data-prod="nsb" data-width="100%" data-height="auto" data-lang="xb" data-currency="BRL" data-dest_id="-645946" data-dest_type="city"> Anything inside will go away once widget is loaded. <a href="//www.booking.com?aid=1704408">Booking.com</a> </ins>--> </body>
Inserindo classe em função php
em PHP
Postado