Pesquisar na Comunidade
Mostrando resultados para as tags ''php''.
Encontrado 1.447 registros
-
Tem um jeito de extrair somente uma parte do texto da string? Tenho uma string "AMAZONAS2021" vem de outra página via GET, eu armazena ela em uma variável $ tabela, dai eu consigo extrair os números usando - $XY = (int) filter_var ($tabela, FILTER_SANITIZE_NUMBER_INT); Agora preciso pegar somente os texto AMAZONAS e armazenar em outra variável. Este tipo assim $tabela = $_GET ['title']; // esta recebendo AMAZONAS2021 da outra pagina $XY = (int) filter_var ($ tabela, FILTER_SANITIZE_NUMBER_INT); // pega os números Preciso agora extrair a parte AMAZONAS e armazenar em uma variável.
-
Bom dia. Preciso de uma ajuda urgente. Tenho um formulário com alguns campos de texto , um checkbox e um botão submit. Preciso que o botão seja habilitado somente se o checkbox for selecionado... alguém pode me ajudar ? <html> <form id="form_curriculo" name="form_curriculo" method="post" enctype="multipart/form-data" action="1"> <script> function habilitar(){ if(document.getElementById('check_autoriza').checked){ document.getElementById('submit').removeAttribute("disabled"); } else { document.getElementById('onoff').value=''; //Evita que o usuário defina um texto e desabilite o campo após realiza-lo document.getElementById('submit').setAttribute("disabled", "disabled"); } </script> <p> <label for="mensagem"><?php echo utf8_encode(pegarTexto("MENSAGEM",$SESSAO)); ?>:</label><br /> <textarea class="textbox" name="mensagem" id="mensagem" rows="" cols=""><?php if($acao != 2) { echo @strip_tags(utf8_encode($mensagem)); } ?></textarea> </p> <p> <label for="uploaded_file"><?php echo utf8_encode(pegarTexto("SELECIONE_CURRICULO",$SESSAO)); ?>:</label><br /> <input type="file" name="uploaded_file" id="uploaded_file" class="textbox" /> <p> <input type="checkbox" id="check_autoriza" name="check_autoriza" value="on" onchange="habilitar()"> Eu concordo que este site armazene minhas informações enviadas para que elas possam responder a minha consulta. Ao enviar, eu concordo com a politica de privacidade. </p> </p> <input type="submit" name="submit" value="0" id="submit" disabled /> <input type="hidden" name="acao" id="acao" value="0" /> </form> </html>
-
Bom dia. Ao tentar enviar e-mail utilizando o PHP, recebo o erro SMTP -> ERROR: Failed to connect to server: Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente. (10061). Alguém sabe com resolver ? sei que o e-mail de autenticação, a senha e a porta estão certos , mas mesmo assim já troquei a porta algumas vezes para testar , mas nada. Também já testei tanto como tls como ssl e nada.
-
Enviar um email a partir de um formulário feito em PHP no Wordpress
uma questão postou Sandro Neri PHP
Olá, Fiquei um bom tempo procurando no fórum algo relacionado, como não chequei 100% e já tiver uma pergunta com esse tema, gostaria que me indicassem o link por gentileza. Bom, sou novo no mundo do desenvolvimento e acabei encalhando em uma situação onde surgiu a necessidade de criar formulários dinâmicos dentro do Wordpress para, por exemplo, mostrar um calculo em tempo real ao combinar escolhas de dois campos Select, porém para fazer isso fiz em php com javascript, pois plugins de formulários com contact forms 7 são muito restritos a algo mais personalizado. Outra informação, costumo fazer tudo na minha máquina como servidor através do XAMPP. São dois formulários, o primeiro, de três campos, envia as informações para o segundo e armazena em inputs do tipo hidden, e também deveria enviar um email com esses três campos, como esse é simples, consigo usar o contact forms 7. O segundo, como já descrito, recebe os dados do primeiro e armazena cada informação dos três campos em três inputs do tipo hidden, ele posssui 4 campos, um input do tipo text e três select, para os dois últimos faz uma série de ifs em JS para testar 30 combinações para trazer um resultado dentro de um span. Por ser um formulário todo personalizado não consigo enviar email com esses dados com a mesma facilidade que o Contact Forms 7, utilizo o plugin WP Mail SMTP para configurar o SMTP do wordpress, e gostaria de usa-lo como ponte, se existir como fazer isso, para enviar os dados desse segundo formulário por email com uma mensagem personalizada. Usei o código abaixo, mas sem sucesso, tentei configurar o PHPMailer e também não rolou. Não sei o que faço para resolver esse problema. Quem puder me ajudar agradeço muito. Segue código que tentei usar. <?php $para = "seu-email@dominio.com.br"; $nome = $_POST['nome']; $assunto = $_POST['assunto']; $mensagem = "<strong>Nome: </strong>".$nome; $mensagem .= "<br> <strong>Mensagem: </strong>" .$_POST['mensagem']; $headers = "Content-Type:text/html; charset=UTF-8\n"; $headers .= "From: dominio.com.br<sistema@dominio.com.br>\n"; $headers .= "X-Sender: <sistema@dominio.com.br>\n"; $headers .= "X-Mailer: PHP v".phpversion()."\n"; $headers .= "X-IP: ".$_SERVER['REMOTE_ADDR']."\n"; $headers .= "Return-Path: <sistema@dominio.com.br>\n"; $headers .= "MIME-Version: 1.0\n"; mail($para, $assunto, $mensagem, $headers); ?> -
Estou tentando há dias fazer uma requisição de preço e prazo de entrega para o WS dos Correios. Acontece que o meu php não executa de jeito nenhum a requisição, e o pior é que se eu abrir a URL diretamente no navegador, o XML aparece normalmente, e não sei porque motivo o php não consegue "puxar" esse mesmo xml. Vou colocar o código caso alguém queira testar ou verificar se estou fazendo algo errado: Correios.php <?php class Correios { public $nCdEmpresa, $sDsSenha, $servico, $cepOrigem, $cepDestino, $peso, $formato = '1', $comprimento, $altura, $largura, $diametro, $maoPropria = 'N', $valordeclarado = '0', $avisoRecebimento = 'N', $retorno = 'xml'; public function calc() { $cURL = curl_init(sprintf( 'ws.correios.com.br/calculador/CalcPrecoPrazo.asmx/CalcPrecoPrazo?nCdEmpresa=%s&sDsSenha=%s&nCdServico=%s&sCepOrigem=%s&sCepDestino=%s&nVlPeso=%s &nCdFormato=%s&nVlComprimento=%s&nVlAltura=%s&nVlLargura=%s&nVlDiametro=%s&sCdMaoPropria=%s&nVlValorDeclarado=%s &sCdAvisoRecebimento=%s&StrRetorno=%s HTTP/1.1', $this->nCdEmpresa, $this->sDsSenha, $this->servico, $this->cepOrigem, $this->cepDestino, $this->peso, $this->formato, $this->comprimento, $this->altura, $this->largura, $this->diametro, $this->maoPropria, $this->valordeclarado, $this->avisoRecebimento, $this->retorno )); // Define a opção que diz que você quer receber o resultado encontrado curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); // Executa a consulta, conectando-se ao site e salvando o resultado na variável $string $string = curl_exec($cURL); // Encerra a conexão com o site curl_close($cURL); $xml = simplexml_load_string($string); if ($xml->Erro != '') { $this->error = array($xml->cServico->Erro, $xml->cServico->MgsErrro); return false; } else { return $xml; } } public function error() { if (is_null($this->error)) { return false; } else { return $this->error; } } } Agora o Script que estou chamando para testar a requisição e não funciona: $frete = new Correios(); $frete->servico = "04510"; // 04510 para PAC e 04014 para SEDEX $frete->cepOrigem = "82220020"; $frete->cepDestino = "08090284"; $frete->peso = "0.5"; $frete->comprimento = "50"; $frete->altura = "5"; $frete->largura = "20"; $frete->diametro = "0"; $calc = $frete->calc(); if (!$calc) { $error = $frete->error(); echo $error[1]; } else { var_dump($calc); } Já habilitei o curl no php.ini e testei em uma hospedagem, continua não me retornando nada
-
Boa tarde pessoal, gostaria de pedir uma ajuda para criar um evento em um formulário HTML. Eu tenho um formulário em HTML e PHP, e nele tem um campo do tipo select e um campo do tipo text(desabilitado). Gostaria que ao clicar no campo select e escolher qualquer opção da lista, automaticamente em seguida aparecesse dentro do campo text um valor respectivo a opção escolhida anteriormente. Exemplo: Tenho um campo select com tipos diferentes de materiais (vidro, papel, alumínio, etc.) e no campo text(desabilitado) terei a quantidade de anos que cada material demora a se decompor na natureza. O campo text inicialmente estará vazio, mas quando selecionar o material, aparecerá dentro deste text a quantidade de anos. obs.: Os valores do campo select e do campo text estão ambos na mesma tabela do banco de dados(MySQL), o campo select com valores string e o campo text com valores inteiros. Não sei se consegui explicar direito, mas acredito que terei que utilizar javascript para este evento, mas ainda não sei como. Alguém tem ideia de como eu poderia fazer isso ou alguma dica? Muito obrigada!! 😁
-
Boa noite, Estou iniciando em PHP e antecipo que sou péssimo... mas tenho uma dúvida: Tenho uma tabela como segue: Resultados esperados somando os valores por linhas: 7 15 30 21 Agora gostaria de contar por intervalos: Entre 0 e 7 = 1 Entre 8 e 15 = 1 Entre 16 e 30 = 2 e ficar assim: Agradeço se alguém me der uma luz!!! Obrigado!
-
Bom dia! Pessoal estou com um problema estou tentando enviar um e-mail através de um formulário que criei no site da empresa que eu trabalho, porém na hora de enviar está dando erro. Obs: a hospedagem do site está na Locaweb Segue abaixo o erro: Fatal error: Uncaught Error: Call to undefined function eregi() in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php:593 Stack trace: #0 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(518): PHPMailer->SmtpConnect() #1 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(410): PHPMailer->SmtpSend('Date: Sat, 5 Ju...', '--b1_b48d510d23...') #2 /home/storage/2/a8/c3/odontosmilesfran1/public_html/envio-franqueador.php(55): PHPMailer->Send() #3 {main} thrown in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php on line 593 Segue o código do script de envio: <? require_once("class.phpmailer.php"); //Nova instância do PHPMailer $mail = new PHPMailer; //Informa que será utilizado o SMTP para envio do e-mail $mail->IsSMTP(); //Informa que a conexão com o SMTP será autênticado $mail->SMTPAuth = true; //Configura a segurança para SSL $mail->SMTPSecure = "ssl"; $mail->Port = 465; $mail->Host = "email-ssl.com.br"; //Usuário para autênticação do SMTP $mail->Username = "sejaumfranqueado@odontosmilesfranchising.com.br"; //Senha para autênticação do SMTP $mail->Password = "12345678"; // senha ficticia //Titulo do e-mail que será enviado $mail->Subject = "PEDIDO PARA SER UM FRANQUEADOR"; //Preenchimento do campo FROM do e-mail $mail->From = $mail->Username; $mail->FromName = $_POST['nome']; // Nome do remetente //E-mail para a qual o e-mail será enviado $mail->AddAddress("sejaumfranqueado@odontosmilesfranchising.com.br"); //Conteúdo do e-mail //$mail->Body = "Novo contato feito através do site Araújo Imóveis."; $mail->From = $_POST['email']; // E-mail do remetente $mail->Body .= "Modelo de Franquia: ".$_POST['modelo']."<br>"; $mail->Body .= "Nome: ".$_POST['nome']."<br>"; $mail->Body .= "Email: ".$_POST['email']."<br>"; $mail->Body .= "Fone Móvel: ".$_POST['fone']."<br>"; $mail->Body .= "Fone Fixo: ".$_POST['movel']."<br>"; $mail->Body .= "Estado: ".$_POST['estado']."<br>"; $mail->Body .= "Cidade: ".$_POST['cidade']."<br>"; $mail->Body .= "Mensagem: ".nl2br($_POST['mensagem']).""; $mail->AltBody = $mail->Body; //Dispara o e-mail $enviado = $mail->Send(); //Imprime sucesso. if($enviado) echo "<script>alert('Sua mensagem foi enviada com sucesso!')</script>"; echo "<meta http-equiv='refresh' content='2;URL=index.php'>"; ?> Segue o trecho do código do arquivo class.phpmailer.php onde está dando o erro /* Choose the mailer */ switch($this->Mailer) { case 'sendmail': $result = $this->SendmailSend($header, $body); break; case 'smtp': [b][color=red] $result = $this->SmtpSend($header, $body); // nessa linha 410 está dando erro [/color][/b] break; case 'mail': $result = $this->MailSend($header, $body); break; default: $result = $this->MailSend($header, $body); break; //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported')); //$result = false; //break; } return $result; } /** Aqui está outro trecho do código: /* Retry while there is no connection */ while($index < count($hosts) && $connection == false) { $hostinfo = array(); [b][color=red] if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) { // aqui está dando erro linha 593[/color][/b] $host = $hostinfo[1]; $port = $hostinfo[2]; } else { $host = $hosts[$index]; $port = $this->Port; } $tls = ($this->SMTPSecure == 'tls'); $ssl = ($this->SMTPSecure == 'ssl'); if($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) { $hello = ($this->Helo != '' ? $this->Hello : $this->ServerHostname()); $this->smtp->Hello($hello); if($tls) { if(!$this->smtp->StartTLS()) { $this->SetError($this->Lang("tls")); $this->smtp->Reset(); $connection = false; } //We must resend HELLO after tls negociation $this->smtp->Hello($hello); } $connection = true; if($this->SMTPAuth) { if(!$this->smtp->Authenticate($this->Username, $this->Password)) { $this->SetError($this->Lang('authenticate')); $this->smtp->Reset(); $connection = false; } } } $index++; } if(!$connection) { $this->SetError($this->Lang('connect_host')); } return $connection; } Obrigado a todos que puderem ajudar
-
Olá pessoas maravilhosas!! Preciso de um socorro e serei eternamente grato se conseguirem ajudar... vou explicar abaixo: Eu tenho uma lista de números, separadas linha por linha e eu preciso que cada linha seja tratada de forma individual, mas porque?? R. O código é para limitar a quantidade de caracteres, porém eu preciso que ele limite essa quantidade de caracteres LINHA POR LINHA. Atualmente, quando eu rodo o código, ele conta todas as linhas como se fossem uma só, ou seja, acaba limitando toda a lista a apenas a quantidade de caracteres que seria para cada linha. Vou dar um exemplo abaixo: Esse é o código que estou usando (simples) <?php //recebe a lista vinda do textarea $lista = $_POST['lista']; //limita a quantidade de caracteres para 5 apenas (no caso deveria limitar linha por linha e não para todo o textarea echo substr("$lista", 0, 5); ?> <form action="" method="POST"> <textarea cols=60 rows="10" name="lista" maxlength="500" wrap="hard" placeholder="coragem, você consegue ! "></textarea> <input type="submit" name="Envia" value="Enviar"> <input type="reset" name="Apaga" value="Apagar"> O exemplo de lista que eu vou precisar rodar é a seguinte: 11111111111111111111111111111 22222222222222222222222222222 33333333333333333333333333332 44444444444444444444444444444 E o resultado seria algo como: 11111 22222 33333 44444 Alguém pode me dar uma luz??
-
Boa tarde senhores! Estou com um problemão e gostaria da ajuda de vocês. Preciso substituir isso: <h4 style="background-color: #bd1717; border: 2px solid #bd1717; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-mobile"></i><span><a href="tel:+351939708658"> 939 708 658</a></span></h4><h4 style="background-color: #bd1717; border: 2px solid #bd1717; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-call"></i></i><span><a href="tel:+351211560539"> 211 560 539</a></span></h4> Por isso: <p style="background-color: #bd1717; border: 2px solid #bd1717; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="tel:+351939708658"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 939 708 658</i></b> </font></a></span></p> <p style="background-color: #002354; border: 2px solid #002354; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="tel:+351211560536"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 211 560 536</i></b> </font></a></span></p> <p style="background-color: #00aa11; border: 2px solid #00aa11; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="https://api.whatsapp.com/send?phone=351939708658&text=Ol%C3%A1,%20quero%20fazer%20um%20or%C3%A7amento! #00aa11"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 939 708 658</i></b> </font></a></span></p> E não consigo pois não sei como escapar corretamente os caracteres especiais que existe no código, tentei várias formas e sem sucesso. Se alguém puder me ajudar ficarei muito grato.
-
Problema para retonar valores do XML
uma questão postou Estevo Nascimento Ajax, JavaScript, XML, DOM
Peguei esse código, porém não funciona por nada pela minha capacidade que não é muita em PHP, já mudei ele de todas as formas possível e não funciona. O código que usei... <?php if(!empty($_FILES['xml']['tmp_name'])){ $arquivo = new DomDocument(); $arquivo->load($_FILES['xml']['tmp_name']); //var_dump($arquivo); $linhas = $arquivo->getElementsByTagName("processo"); //var_dump($linhas); $primeira_linha = true; foreach($linhas as $linha){ if($primeira_linha == false){ // pegar o valor natureza="Produtos e/ou Serviço" no elemento <marca> $nome = $linha->getElementsByTagName("nome")->item(0)->nodeValue; echo "Nome: $nome <br>"; $email = $linha->getElementsByTagName("status")->item(1)->nodeValue; echo "Status: $email <br>"; echo "<hr>"; } $primeira_linha = false; } } ?> O arquivo em XML é beemmm longo <?xml version="1.0" encoding="UTF-8" ?> <revista numero="2620" data="23/03/2021"> <processo numero="922151156" data-deposito="23/02/2021"> <despachos> <despacho codigo="IPAS009" nome="Publicação de pedido de registro para oposição (exame formal concluído)"/> </despachos> <titulares> <titular nome-razao-social="HERIK DE SOUZA ARAI" pais="BR" uf="RO"/> </titulares> <marca apresentacao="Mista" natureza="Produtos e/ou Serviço"> <nome>SOTEN</nome> </marca> <classes-vienna> <classe-vienna codigo="27.5.1" edicao="4"/> <classe-vienna codigo="28.3" edicao="4"/> <classe-vienna codigo="26.2.7" edicao="4"/> <classe-vienna codigo="29.1.15" edicao="4"/> </classes-vienna> <lista-classe-nice> <classe-nice codigo="41"> <especificacao>Agente artístico; literário e cultural [promotor de evento]; </especificacao> <status>Pendente</status> </classe-nice> </lista-classe-nice> <procurador>TENAX SERVIÇOS DE CONSULTORIA EM PROPRIEDADE INTELECTUAL LTDA - ME</procurador> </processo> <processo numero="920178898"> <despachos> <despacho codigo="IPAS029" nome="Deferimento do pedido"/> </despachos> <titulares> <titular nome-razao-social="DEIVISSON HIGOR DE OLIVEIRA MORATO" pais="BR" uf="AL"/> </titulares> <lista-classe-nice> <classe-nice codigo="25"> <especificacao>Bandanas;Bermudas;Boné;Calças compridas; *; </especificacao> <status>Deferida</status> </classe-nice> </lista-classe-nice> </processo> Os valores que estou tentando pegar são <nome> <status>. Mas também queria tentar pegar os valores nome-razao-social="..." e natureza. Penso que pode ter algo a ver com o tamanho do arquivo que é um pouco maior do que o habitual, girando em torno de 30 MB e no total vão ter que tirar as informações 22 109 que é o número de vezes que esse modelo de exemplo se repete no documento (Mas como disse não sei muito sobre PHP é uma suposição)... -
Tenho a seguinte estrutura de pastas index.php (raiz) phpspreadsheet ( pasta criada dentro da raiz) .........composer.json (arquivo solto na pasta acima) .........composer.lock (arquivo solto na pasta acima) ........./vendor (pasta dentro da phpspreadsheet) ............................./ dentro da pasta vendor tem outras pastas e arquivos da biblioteca /src/view/rrc/resultExcel.php Segue o código do arquivo resultExcel.php <?php require_once 'request_precos.php'; // require 'vendor/autoload.php'; require '../../../phpspreadsheet/vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // $spreadsheet = new Spreadsheet(); $spreadsheet = new Spreadsheet(); if($_SESSION['codrepr'] == ''){ $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Cod. Prod'); $sheet->setCellValue('B1', 'Descrição'); $sheet->setCellValue('C1', 'Lista'); $sheet->setCellValue('D1', 'Preço'); $row = 2; foreach($_retorno as $res){ $sheet->setCellValue('A'.$row, $res['CODPROD']); $sheet->setCellValue('B'.$row, $res['DESCRICAO']); $sheet->setCellValue('C'.$row, $res['DSLISTA']); $sheet->setCellValue('D'.$row, $res['preço']); $row++; } }else{ $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Cod. Prod'); $sheet->setCellValue('B1', 'Descrição'); $sheet->setCellValue('C1', 'Preço'); $row = 2; foreach($_retorno as $res){ $sheet->setCellValue('A'.$row, $res['CODPROD']); $sheet->setCellValue('B'.$row, $res['DESCRICAO']); $sheet->setCellValue('C'.$row, $res['preço']); $row++; } } $spreadsheet->getActiveSheet()->setTitle("Cons_Preço"); $arquivo = "cons_preco".time().".xlsx"; $writer = new Xlsx($spreadsheet); //$writer->save('arquivosXLS/'.$arquivo); $writer->save('../../../../temp/'.$arquivo); ?> <div class="row"> <div class="col-lg-12"> <?php $caminho = $_SERVER['HTTP_REFERER']; $auxcaminho= explode('/',$caminho); $aux1 = $auxcaminho[0]; $aux2 = $auxcaminho[1]; $aux3 = $auxcaminho[2]; $aux4 = $auxcaminho[3]; $caminhoReal = $aux1."//".$aux2."/".$aux3."/".$aux4; if( $_SERVER["SERVER_NAME"] == 'localhost'){ ?> <a class="btn btn-primary" href="http://localhost:8080/painel/temp/<?php echo $arquivo; ?>" download> <i class="fa fa-folder-open-o"></i> Fazer o download </a> <?php }else{ ?> <a class="btn btn-primary" href="<?php echo $caminhoReal; ?>/temp/<?php echo $arquivo; ?>" download> <i class="fa fa-folder-open-o"></i> Fazer o download </a> <?php } ?> </div> </div> ao executar a geração do excel aparece as seguintes informações: ( ! ) Warning: require(../../../phpspreadsheet/vendor/autoload.php): failed to open stream: No such file or directory in C:\wamp64\www\painel\src\view\rrc\resultPrecosXLS.php on line 5 ( ! ) Fatal error: require(): Failed opening required '../../../phpspreadsheet/vendor/autoload.php' (include_path='.;C:\php\pear') in C:\wamp64\www\painel\src\view\rrc\resultPrecosXLS.php on line 5 Se alguém puder me ajudar a entender o q esta acontecendo agradeço. Se precisarem de mais ou melhores informações me avisem tambem. Obrigado...
-
Boa tarde. alguém saberia uma maneira melhor de testar ping? Estou o usando o codigo abaixo para fazer os testes de ping, enquanto estou testando só um dominio, ele vai que é uma beleza, mas quando tento fazer com mais dominios ele deixa a pagina extremamente lenta, queria ver se algum ai conhece uma maneira melhor de fazer esse teste. exec("ping -n 3 $dominio",$available, $retorno);
-
function getPublishedPosts() { global $conn; $sql = "SELECT p.*, u.username FROM posts AS p JOIN users AS u ON p.user_id=u.id WHERE p.published=?"; $sql = "SELECT * FROM `posts` ORDER BY `created_at` DESC"; $stmt = executeQuery($sql, ['published' => 1]); $records = $stmt->get_result()->fetch_all(MYSQLI_ASSOC); return $records; } Como Posso unir essas duas consultas ?
-
Tenho um sistema onde são cadastrados médicos e plantões, para mostrar ao cliente todos os plantões preciso fazer um join na tabela de médicos. Porém, o join está retornando com erro: todos os dados dos médicos vem certo, porém os do plantão vem um mesmo valor em todas as linhas. Acredito que seja um erro de join, pois com 2 selects os valores retornados ficam normais. Alguém pode me ajudar? (está em anexo o print de como está retornando os valores) Código: SELECT * FROM TB_PLANTOES join TB_MEDICOS on PLANT_MED_CODIGO = PLANT_CODIGO order by field(PLANT_DIA,'Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado');
-
Hey guys. Venho acompanhando o forum a um tempo e resolvi criar a coragem de postar, será que alguém consegue me dar umas dicas de como melhorar o meu código? Onde eu acertei? Onde errei? Se fiz algo extremamente errado. <!DOCTYPE html> <html lang="pt_BR"> <head> <!-- Sistema de autenticação de usuários usando um email e uma senha A senha foi cadastradada no banco de dados usando a função password_hash Desenvolvido por Fernando Dias - 23/02/2021 --> <?php include_once("assets/head.php"); $login = false; $erros = false; if($_SERVER["REQUEST_METHOD"] == "POST"){ include_once('./conecta.php'); $email = mysqli_escape_string($conecta, $_POST['email']); $senha = mysqli_escape_string($conecta, $_POST['senha']); //Query de consulta ao banco de dados $query = "SELECT * FROM usuarios WHERE email = '$email'"; $resultado = mysqli_query($conecta, $query); $num = mysqli_num_rows($resultado); if($num == 1){ while($row = mysqli_fetch_assoc($resultado)){ if(password_verify($senha, $row["senha"])){ $login = true; session_start(); if($row['grupo'] == 0){ header('Location: ./admin.php'); } else if($row['grupo'] == 1){ header('Location: ./plantonista.php'); } else if($row['grupo'] == 2){ header('Location: ./monitora.php'); } } } } } ?> </head> <body> <div class="navegacao" style="overflow-y:hidden;"> <form class="login" method="POST" action="./index.php"> <div class="form-group row"> <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label> <div class="col-sm-10"> <input type="email" name="email" class="form-control" id="inputEmail3" placeholder="Email"> </div> </div> <div class="form-group row"> <label for="inputPassword3" class="col-sm-2 col-form-label">Senha</label> <div class="col-sm-10"> <input type="password" name="senha" class="form-control" id="inputPassword3" placeholder="Senha"> </div> </div> <div class="form-group row"> <div class="col-sm-12"> <button type="submit" class="btn btn-primary btn-lg btn-block">Entrar</button> </div> </div> </form> </div> </body> </html>
-
Estou tentando fazer um script para paginação mas a minha codificação exibe um número infinito de páginas (Anterior | 1 | 2 | 3 | 4 | 5 | 6 | 7, etc) e eu queria limitar esse número à apenas três (Primeira | 1 | 2 | 3 | Última), e conforme fosse carregando as demais páginas iria incrementando esses três números ( ao clicar na página 3 por exemplo apareceria Primeira | 3 | 4 | 5 | Última). Para estilização estou usando o Bootstrap4. Meu código está assim: <?php $itens_por_pagina = 5; // Quantidade de itens por página if(isset($_GET['pagina'])){ $pagina = intval($_GET['pagina']); } else { $pagina = "0"; }; // Pega a página atual $sql = "SELECT COUNT(*) as t FROM tabela"; $prepara = $PDO->prepare($sql); $prepara->execute(); $row = $prepara->fetchAll(PDO::FETCH_ASSOC); foreach ($row as $key => $linha) { $num_total = $linha["t"]; } $num_paginas = ceil($num_total/$itens_por_pagina); if($num_paginas >0){ $sql = "SELECT tabela.campo1, tabela.campo2, etc... FROM tabela LIMIT $pagina, $itens_por_pagina"; $res = $PDO->query( $sql ); $row = $res->fetchAll(PDO::FETCH_ASSOC); foreach ($row as $key => $linha) { $campo = $linha["campo"]; echo $campo; etc... } } ?> <nav aria-label="Navegação de página exemplo"> <ul class="pagination"> <li class="page-item"> <a class="page-link" href="restrito.php?id=acoes&pagina=0" style="background-color: orange; color: #ffffff;">Primeira</a></li> <?php for($i=0;$i<$num_paginas;$i++){ $estilo = ""; if($pagina == $i) $estilo = "class=\"active\""; // classe do Bootstrap para páginas ativas ?> <li <?php echo $estilo; ?> class="page-item"> <a class="page-link" href="restrito.php?id=acoes&pagina=<?php echo $i; ?>"> <?php echo $i+1 ?> </a> </li> <?php } ?> <li class="page-item"> <a class="page-link" href="index.php?pagina=<?php echo $num_paginas-1; ?>" style="background-color: orange; color: #ffffff;"> Última </a> </li> </ul> </nav>
-
Bom dia, Eu criei três formulários diferentes pois eles precisam ficar separados pois estão colapsados em botões distintos. Ocorre que eu gostaria que o meu controller recebesse os dados dos três forms quando eu clicasse em um botão submit no terceiro form. Há como receber os dados de input de todos os formulários com um único submit no laravel?
-
Olá! Sou iniciante em php e estou tentando desenvolver meu primeiro projeto pessoal em php. A dúvida está em um script php para criar uma tabela mysql. Tenho o seguinte script: <?php include_once("conexao.php"); $query_create_table = "CREATE TABLE IF NOT EXISTS minha_tabela ( id int AUTO_INCREMENT PRIMARY KEY, nome varchar(60) NOT NULL, email varchar(60) NOT NULL)" or die("Error in the create table ... " . $conexao->connect_error); $result_create_table = $conexao->query($query_create_table); if($result_create_table == TRUE) { echo "<p>criou a tabela</p>"; } else { echo "<p>não criou a tabela</p>"; } ?> O que preciso fazer é substituir o nome da tabela (minha_tabela) por uma variável cujo objetivo é permitir que na hora de criar a tabela o usuário do sistema possa ele próprio escolher o nome da tabela através de input em um formulário. O form eu já tenho e o script acima funciona perfeitamente, só não sei como substituir o nome da tabela no script por uma variável. Já tentei algumas coisas, mas no meu ainda modesto conhecimento não obtive sucesso. Já tentei das formas abaixo (também usando parênteses, aspas simples e duplas, etc) mas não funcionou: <?php include_once("conexao.php"); $tabela = filter_input (INPUT_POST, 'tabela', FILTER_SANITIZE_STRING); $query_create_table = "CREATE TABLE IF NOT EXISTS $tabela ( id int AUTO_INCREMENT PRIMARY KEY, nome varchar(60) NOT NULL, email varchar(60) NOT NULL)" or die("Error in the create table ... " . $conexao->connect_error); $result_create_table = $conexao->query($query_create_table); if($result_create_table == TRUE) { echo "<p>criou a tabela</p>"; } else { echo "<p>não criou a tabela</p>"; } ?> Poderiam me ajudar? Obrigada!
-
Olá pessoal, queria saber se alguém tem um exemplo de script em PHP de perfil de usuário que contenha a foto do perfil, o nome e uma descrição do usuário... preciso colocar tudo isso no banco de dados também. Eu não tenho noção nenhuma de como fazer isso e não achei nenhum tutorial na internet. Agradeço a ajuda
-
Bom dia à todos, Estou tentando desenvolver um sistema de agendamentos de horários, há algumas semanas tento resolver um problema de relação de tabela. Tenho duas principais tabelas, AGENDAMENTOS e CLIENTE, meu objetivo é identificar o agendamento do cliente através do login, não sendo necessário o mesmo ter que digitar o nome para um agendamento. Os dados de inserção são processados por meio de um formulário. Estou tentando relacionar o cliente_id da tabela de CLIENTE para a tabela de AGENDAMENTOS. Segue os códigos para melhor entendimento. CREATE TABLE IF NOT EXISTS `u748203187_agenda`.`cliente` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `nome` VARCHAR(45) NULL DEFAULT NULL, `login` VARCHAR(45) NULL DEFAULT NULL, `senha` VARCHAR(45) NULL DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARACTER SET = latin1 CREATE TABLE IF NOT EXISTS `u748203187_agenda`.`agendamentos` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `nome` VARCHAR(220) NULL DEFAULT NULL, `telefone` VARCHAR(45) NULL DEFAULT NULL, `servicos` VARCHAR(220) NULL DEFAULT NULL, `data` DATETIME NULL DEFAULT NULL, `cliente_id` INT(11) UNSIGNED NULL DEFAULT NULL, PRIMARY KEY (`id`), INDEX `fk_agendamentos_cliente_idx` (`cliente_id` ASC), CONSTRAINT `fk_agendamentos_cliente` FOREIGN KEY (`cliente_id`) REFERENCES `u748203187_agenda`.`cliente` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 9 DEFAULT CHARACTER SET = latin1 Quando tento definir o cliente_id como not null retorna erro 1452 - Cannot add or update a child row: a foreign key constraint fails. index.php: <?php session_start(); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="css/bootstrap-datetimepicker.min.css"> <title>Sistema - Agendamento</title> <body> <div class="container-fluid"> <div class="jumbotron"> <h1 class="text-center">Agendamento</h1><br> </div><br> <form class="form-horizontal" action="processa.php" method="POST"> <div class="col-sm-3 col-sm-offset-3"> <label>Nome</label> <input class="form-control" type="text" name="nome" placeholder="Digite seu nome" required> </div> <div class="col-sm-3"> <label>Telefone</label> <input class="form-control" type="text" name="telefone" placeholder="Digite seu telefone" required> </div> <div class="col-sm-6 col-sm-offset-3"> <label>Serviços</label> <select name="servicos" class="form-control"> <option value="" selected=>Selecione um serviço</option> <option>Teste</option> <option>Teste</option> <option>Teste</option> <option>Teste</option> <option>Teste</option> </select> </div> <div class="col-sm-6 col-sm-offset-3"> <label>Data e hora</label> <div class="input-group date data_formato" data-date-format="dd/mm/yyyy HH:ii:ss"> <input class="form-control" type="text" name="data" placeholder="Data do serviço"> <span class="input-group-addon"> <span class="glyphicon glyphicon-th"></span> </span> </div> </div> <div class="col-sm-offset-3 col-sm-6"><br> <button type="submit" class="btn btn-success">Agendar</button> <a class="btn btn-primary btn_carrega_conteudo" href='#' id="pagina">Ver agendamentos</a><br><br> <?php if(isset($_SESSION['msg'])){ echo $_SESSION['msg']; unset($_SESSION['msg']); } ?> </div> </form> <div class="col-sm-6 col-sm-offset-3" id="div_conteudo"><!-- div onde será exibido o conteúdo--> <img id="loader" src="loader.gif" style="display:none;margin: 0 auto;"> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <script src="js/bootstrap-datetimepicker.min.js"></script> <script src="js/locales/bootstrap-datetimepicker.pt-BR.js"></script> <script type="text/javascript"> $('.data_formato').datetimepicker({ weeKStart: 1, todayBtn: 1, autoclose: 1, todayHighlight: 1, startView: 2, forceParse: 0, showMeridian: 1, language: "pt-BR", startDate: '-0d' }); $(document).ready(function(){// Ao carregar a página faça o conteudo abaixo $('.btn_carrega_conteudo').click(function(){// Ao clicar no elemento que contenha a classe .btn_carrega_conteudo faça... var carrega_url = this.id; //Carregar url pegando os dados pelo ID carrega_url = carrega_url+'_listar.php'; //Carregar a url e o conteudo da página $.ajax({ //Carregar a função ajax embutida no jQuery url: carrega_url, //Variável DATA armazena o conteúdo da requisição success: function(data){//Caso a requisição seja completada com sucesso faça... $('#div_conteudo').html(data);// Incluir o conteúdo dentro da DIV }, beforeSend: function(){//Antes do envio do cabeçalho faça... $('#loader').css({display:"block"});//carregar a imagem de load }, complete: function(){//Após o envio do cabeçalho faça... $('#loader').css({display:"none"});//esconder a imagem de load } }); }); }); </script> </body> </html> processa.php: <?php session_start(); //Incluir a conexão com o BD include_once("conexao.php"); //Receber os dados do formulário $data = $_REQUEST['data']; $servicos = $_REQUEST['servicos']; $nome = $_REQUEST['nome']; $telefone = $_REQUEST['telefone']; //Converter a data e hora para o formato do BD. $data = explode(" ", $data); list($date, $hora) = $data; $data_sem_barra = array_reverse(explode("/", $date)); $data_sem_barra = implode("-", $data_sem_barra); $data_sem_barra = $data_sem_barra . " " . $hora; //Validação dos campos if(empty($_POST['nome']) || empty($_POST['data']) || empty($_POST['servicos'])){ $_SESSION['msg'] = "<div class='alert alert-warning'>Preencha os campos corretamente</div>"; header("Location: index.php"); }else{ //Salvar no BD $result_data = "INSERT INTO agendamentos(servicos, data, nome, telefone) VALUES ('$servicos','$data_sem_barra','$nome','$telefone')"; $resultado_data = mysqli_query($conn, $result_data); //Verificar se salvou no banco de dados através do "mysqli_insert_id" que verifica se existe o ID do ultimo dado inserido if(mysqli_insert_id($conn)){ $_SESSION['msg'] = "<div class='alert alert-success'>Agendamento efetuado com sucesso</div>"; header("Location: index.php"); }else{ $_SESSION['msg'] = "<div class='alert alert-danger'>Erro ao efetuar o agendamento</div>"; header("Location: index.php"); } } ?> conexao.php: <?php $servidor = "localhost"; $usuario = "u748203187_agenda"; $senha = ""; $dbname = "u748203187_agenda"; $conn = mysqli_connect($servidor, $usuario, $senha, $dbname); ?>
-
Bom dia. Preciso conectar meu código PHP a um banco de dados Firebird (tenho a versão 1.5) utilizando o serviço Apache do Xampp. Já "descomentei" a linha extension=php_interbase.dll do arquivo php.ini e adicionei a DLL fbclient.dll no C:\Windows\System32 e C:\Windows\SysWow64. O serviço inicia corretamente no Xampp e meu código PHP está assim: <?php $hostname = "127.0.0.1:C:\\xampp\\htdocs\\Teste1\\Banco\\BDaaa.fdb"; $usuario = "SYSDBA"; // Usuário padrão do Firebird $senha = "masterkey"; // Senha padrão do Firebird $conexao = ibase_connect($hostname, $usuario, $senha) or die('<p>Código do erro: ' . ibase_errcode() . '</p><p>Mensagem de erro: <br>' . ibase_errmsg() . "</p>"); ?> Mas aparece o erro "Fatal error: Uncaught Error: Call to undefined function ibase_connect() in C:\xampp\htdocs\Teste1\banco.php:8 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Teste1\banco.php on line 8". Já troquei o IP 127.0.0.1 por localhost e também já tentei sem as barras duplas, porém sem sucesso. Alguém pode me ajudar? Obrigado.
-
php Como atualizar o código em php 5.6 para 7.4
uma questão postou Dinho Nunes LC Tutoriais & Dicas - PHP
Tenho este código funcionando em php 5.6, no dashboard do meu painel, mas preciso atualizar código de php 5.6 para 7.4 e o resultado que tenho é sempre o echo "$num_rows\n"; em branco. Mesmo depois de atualizar o "mysql" para "mysqli". Arquivo "controles/conexao.php" <?php // DADOS DA HOSPEDAGEM $endereco = "localhost"; $usuario = "root"; $senha = ""; $banco = "teste"; // CONEXÃO DASHBOARD $link = mysql_connect($endereco, $usuario, $senha); mysql_select_db($banco, $link); ?> Arquivo "dashboard.php" <?php include("controles/conexao.php"); //BUSCAR USUARIO $buscarusuario = mysql_query("SELECT * FROM usuario WHERE estado_usuario = 0 AND vendedor = 1", $link); //PEGAR QUANTIDADE $num_rows = mysql_num_rows($buscarusuario); //MOSTRAR QUANTIDADE echo "$num_rows\n"; ?> -
$q = "SELECT documentos.codigo, documentos.nome_arquivo, Date_Format(documentos.data_cadastro, '%d/%m/%Y') AS data, documentos.data_cadastro, documentos.descricao, cliente.nome, usuario.nome AS usuario_nome, usuario.tipo, usuario_cliente.usuario_codigo FROM documentos INNER JOIN cliente ON documentos.cliente_codigo = cliente.codigo INNER JOIN usuario ON documentos.usuario_codigo = usuario.codigo WHERE documentos.cliente_codigo = {$_SESSION['']}"; //$linha_cliente->fetch(PDO::FETCH_OBJ); $where = " usuario.tipo='interno' "; if ($_POST['searchPhrase']!=''){ $where .= " AND (documentos.codigo LIKE '%{$_POST['searchPhrase']}%' OR nome_arquivo LIKE '%{$_POST['searchPhrase']}%' OR data_cadastro LIKE '%{$_POST['searchPhrase']}%' OR descricao LIKE '%{$_POST['searchPhrase']}%'OR cliente.nome LIKE '%{$_POST['searchPhrase']}%')"; } Eu tenho que inserir um SESSION para buscar o código do usuário logado no sistema, mas não sei como faço isso
-
Olá, sou novo aqui, tipo acabei de criar uma conta. E já quero perguntar como posso fazer um sistema de UPDATE e de DELETE com esse script aqui que peguei de um tutorial gringo colocarei aqui em baixo o script completo + o script de conexão ao banco de dados. Em relação a formulário, ta tudo de boas eu crio, o dilema mesmo é o código de cadastrar que quero usar como base para o de editar e o deletar, se alguém poder pegar esse código e modificar, e depois colocar aqui mostrando como fica, eu agradeço muito. Código de validação(o que quero usar para fazer o sistema de UPDATE e de DELETE) <?php $data = $_POST; session_start(); if (empty($data['nome']) || empty($data['sobrenome']) || empty($data['email']) || empty($data['senha']) || empty($data['repetirsenha'])) { $_SESSION['messages'] [] = 'Por Favor preencha todos os campos!'; header('Location: /create_account'); exit; } if ($data['senha'] !== $data['repetirsenha']) { $_SESSION['messages'] [] = 'As senhas não estão iguais!'; header('Location: /create_account'); exit; } require_once 'config.php'; $statement = $connection->prepare('SELECT * FROM users WHERE nome = :nome OR email = :email'); if($statement){ $statement->execute([ ':nome' => $data['nome'], ':email' => $data['email'], ]); $result = $statement->fetchAll(PDO::FETCH_ASSOC); if(!empty($result)){ $_SESSION['messages'][] = 'Este email já está cadastrado!'; header('Location: /create_account'); exit; } } $statement = $connection->prepare('INSERT INTO users(nome, sobrenome, email, senha, repetirsenha) VALUES (:nome, :sobrenome, :email, :senha, :repetirsenha)'); if($statement){ $result = $statement->execute([ ':nome' => $data['nome'], ':sobrenome' => $data['sobrenome'], ':email' => $data['email'], ':senha' => $data['senha'], ':repetirsenha' => $data['repetirsenha'], ]); if($result){ $_SESSION['messages'] [] = 'Bem-Vindo Ao Aquinoflix, Agora você pode desfrutar de um vasto conteúdo de filmes e séries'; header('Location: /browser'); exit; } } ?> E aqui o que faz a conexão com o banco: <?php // Site link geral // connection with mysqli important! $dsn = 'mysql:dbname=install;host=localhost'; $user = 'root'; $password = ''; try{ $connection = new PDO($dsn, $user, $password); } catch(PDOException $exception){ $_SESSION['messages'] [] = 'Connection Failed: ' . $exception->getMessage(); header('Location: /index.php'); exit; } ?> Obrigado dede já quem poder ajudar