Jump to content

Search the Community

Showing results for tags 'php'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica e Automação Industrial
    • Matemática
    • Software de Contabilidade e Finanças
    • Dúvidas e Discussão de Programação
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


GitHub


LinkedIn


Twitter


Facebook

  1. sergio.costa

    PHP e PDO

    Boas noites pessoal. Comecei agora a usar PHP e estou com dificuldade em perceber um erro que me está a acontecer. Ando a criar uns exemplos para praticar a linguagem e deparei-me com o seguinte erro: Sempre que chamo a função dá este erro. Se eu colocar as variáveis dentro da função funciona bem mas se forem declaradas fora diz que o objeto $pdo_user não esta definido. Estou certo que um erro de principiante e não estou a chegar lá. <?php // Definir Comunicação //Definir Credenciais $HOST_NAME ="localhost"; $DB_NAME="secure-login"; $DB_USER="root"; $DB_PASSWORD=""; // Instanciar Conexão PDO $pdo_user = new PDO( "mysql: host=$HOST_NAME; dbname=$DB_NAME;", $DB_USER, $DB_PASSWORD); //Verificar tentativas de login falhadas function Verificar_tentativas ($user){ //Uma hora atras $hora_Atras = time() - 60; //preparar query // $query = "SELECT COUNT(`User`) FROM login_attemps WHERE `User` = :User AND `Time` > :Hora;"; $query = "SELECT * FROM login_Attempts;"; $stmt = $pdo_user->prepare($query); //Preparar Valores // $stmt->bindValue("User", $User); // $stmt->bindValue("Hora", $hora_Atras); //Executar $stmt->execute(); if ($stmt->rowCount() >= 1){ $result = $stmt->fetchAll(PDO::FETCH_ASSOC); // if($result['COUNT(`User`)']>= 5){ // } } return $result; } ?> Fico desde já agradecido a qualquer ajuda que me possam dar. Sem mais Sérgio Costa
  2. Olá. Depois de alguns anos parcialmente desligado das lides da programação, noto que deixou de haver interesse no desenvolvimento de websites em PHP puro. Passou a usar-se frameworks mais que nunca, soluções "chave na mão". Acredito que a utilização de frameworks simplifique o desenvolvimento e que ao mesmo tempo exija dos programadores uma atualização constante dos seus conhecimentos, mas deixou de haver lugar para os puristas? Ou será que outras linguagens de programação tornaram-se mais populares? Fóruns outrora de renome nacional, estão completa ou parcialmente abandonados. O que aconteceu? Para onde "foram" as pessoas? A que se dedicaram elas? Deixou de haver interesse na programação PHP em Portugal? Deixou de haver tantas pessoas interessadas em "faça você mesmo" e tornou-se mais fácil comprar serviços no Fiverr por exemplo? Ou apareceram editores WYSIWYG fenomenais que deixou de ser necessário programar? Gostava de ler meia dúzia de opiniões... digo meia dúzia porque, pelo andar da carruagem, está difícil obter mais que isso... 😉
  3. PHP + MYSQL Estou com um problema, atendendo que o formato da hora hh:mm tenho de somar as horas mas acontece que nalguns registos ultrapassa as 99:99 ou seja tenho somas de 125:35 horas como representar essas horas? Converter em dias? Alguém já passou por isso? Sugestão?
  4. Boa tarde a todos, Ver se consigo explicar-me: Tenho uma tabela de contactos (tbl_contactos) em que tem vários campos, um deles o email_principal. Faço um SELECT tbl_contactos.email_principal FROM tbl_contactos. A minha ideia é em PHP/MYSQLI passar as colunas, dos email, mas em linhas em que cada email fica separado por ponto e virgula (;) para posteriormente poder utilizar uma botão, que vai abrir o outlook através a <a href="mailto:$variavel_com_o_emails_todos">ENVIAR EMAIL</a> A minha duvida é como consigo colocar todos os email do SELECT separados por ponto e virgula e passar para a variável para posteriormente remeter para todos os destinatários SELECCIONADOS. Obrigado pela vossa ajudar, se conseguirem.
  5. Olá a todos, Estou a ter uma dificuldade, ver se consigo explicar. Tenho um DASHBOARD que vai buscar dados ao mysql. Por sua vez este mysql é alimentado através de um backoffice. A minha dificuldade neste momento é quando insiro dados no mysql através do backoffice, como consigo atuaizar o dashboard logo automaticamente esteja ele aberto onde for, no meu pc ou noutro?
  6. Bbruno

    PHP Webservice INE

    Boa tarde, estou a tentar enviar um inquérito para o INE utilizando o SOAP em PHP, alguém com experiência neste caso que me possa ajudar? Obrigado
  7. Boa tarde, estou a tentar enviar um inquérito para o INE utilizando o SOAP em PHP, alguém com experiência neste caso que me possa ajudar? Obrigado
  8. Bom dia, tenho uma tarefa que penso que consigo ter a lógica de como resolver, mas não estou a aplicar com certeza da melhor forma. Numa pequena loja online, tenho que inserir no base de dados o novo resultado da quantidade de stock (UPDATE), que já está reduzida com os valores comprados do carrinho de compras. Criei no código um input que ficará como type="hidden" com o valor atualizado com stock, e apenas consigo fazer UPDATE a um valor, se for mais que um produto, não consigo atualizar mais que um campo. Agradecia imenso ajuda. $produto_id = $_POST['produto_id']; $resultado_stock = $_POST['resultado-stock']; $arr = array($resultado_stock); foreach($arr as $value) { $value = mysqli_query($con, "UPDATE products SET quantidade='$resultado_stock' WHERE id='$produto_id'"); };
  9. Olá pessoal, O problema é o seguinte: Eu tenho de obter os dados da longitude e latitude quando faço download de imagens do fickr através do php. O problema é que quando tento obter a API do flickr dá-me erro de permissões. Já vi alguns fóruns o mesmo erro, como por exemplo neste: https://www.flickr.com/groups/api/discuss/72157627974094749/ Mas não funcionou… Tenho a $key e o $secret do flickr da minha conta. Já pensei que pode ser por não ter conta PRO. Alguém já teve uma tarefa deste género e que tenha conseguido? Obrigado malta!
  10. Tenho 2 duas funções que convertem datas de um formulário, que estão a funcionar perfeitamente convertem bem. // converter campo v_reg_exp_date do formulário para a BD no formato Y-m-d private function date_to_db($date){ $dateTime = DateTime::createFromFormat('d-m-Y', $date); $db_date = date_format($dateTime,"Y-m-d"); return $db_date; } // converter campo v_reg_exp_date da BD para formulário em formato d-m-Y private function db_to_date($date){ $dateTime = DateTime::createFromFormat('Y-m-d', $date); $db_date = date_format($dateTime,"d-m-Y"); return $db_date; } Depois tenho uma função que mostra os meus dados numa tabela que vêm da BD mas não estou a conseguir mostrar a data no formato que estou a converter: // função que apresenta os dados do veículo public function getall_vehicle() { $this->db->select("*"); $this->db->from('vehicles'); $this->db->join('vehicle_group','vehicle_group.gr_id=vehicles.v_group','LEFT'); $this->db->order_by('v_id','desc'); $query = $this->db->get(); $vehicles = $query->result_array(); foreach ($vehicles as $row) { $row['v_reg_exp_date'] = $this->db_to_date($row['v_reg_exp_date']); } // print_r($row['v_reg_exp_date']); // exit; return $vehicles; } Apresenta-me sempre a data em 2022-07-14 e não o inverso. Alguém poderia dar uma dica de onde estará o erro?
  11. Boas, estou a tentar fazer o login do meu projeto da pap, mas sempre q tento entrar diz que o Nome de Utlizador e Password estao incorretas. Alguem me podia ajudar? LOGIN.PHP <?php session_start(); include("config.php"); include("functions.php"); if($_SERVER['REQUEST_METHOD'] == "POST") { //something was posted $NomeUtilizador = $_POST['NomeUtilizador']; $password = $_POST['Password']; if(!empty($NomeUtilizador) && !empty($password) && !is_numeric($NomeUtilizador)) { //read from database $query = "select * from utilizadores where NomeUtilizador = '$NomeUtilizador' limit 1"; $result = mysqli_query($sqli, $query); if($result) { if($result && mysqli_num_rows($result) > 0) { $user_data = mysqli_fetch_assoc($result); if($NomeUtilizador['Password'] === $password) { $_SESSION['id_user'] = $user_data['id_user']; header("Location: index.php"); die; } } } echo "wrong username or password!"; }else { echo "wrong username or password!"; } } ?> <!DOCTYPE html> <html> <head> <title>Login</title> </head> <body> <style type="text/css"> #text{ height: 25px; border-radius: 5px; padding: 4px; border: solid thin #aaa; width: 100%; } #button{ padding: 10px; width: 100px; color: white; background-color: lightblue; border: none; } #box{ background-color: grey; margin: auto; width: 300px; padding: 20px; } </style> <div id="box"> <form method="post"> <div style="font-size: 20px;margin: 10px;color: white;">Login</div> <input id="text" type="text" name="NomeUtilizador"><br><br> <input id="text" type="password" name="Password"><br><br> <input id="button" type="submit" value="Login"><br><br> <a href="signup.php">Clica aqui para te Registar</a><br><br> <a href="index.php"> Clica aqui para Voltares ao inicio</a><br><br> </form> </div> </body> </html> CONFIG.PHP <?php // variáveis para conexão com banco de dados $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'pap'; // estabelecer conexão com o mysql $sqli = new mysqli($dbhost, $dbuser, $dbpass); // verificar se houve erro na conexão if ($sqli->connect_error) { // se houve erro, mostra erro na tela die("<p><b>Erro!</b> Falha na conexão:<br>$sqli->connect_error</p>"); } // alterar o tipo de codificação da conexão com o banco de dados, para utf8 if (!$sqli->set_charset('utf8')) { die("<p>O charset não é utf8: $sqli->error</p>"); } // se não abrir o banco de dados para trabalhar if (!$sqli->select_db($dbname)) { die("<p class='error'><b>Erro!</b> Não foi possível abrir o banco de dados: <b>$database</b><br>$sqli->error</p>"); } ?> Podem me ajudar?
  12. Boas, sou novo na área de programação e não sei se isto é possível fazer ou não mas aí vai. Estou a fazer uma página web com um sistema de adicionar e remover , pediram-me para não usar SQL e sim ficheiros de texto (até hoje ainda não percebi porque), eu fiz um loop que percorre a pasta onde estão os ficheiros de texto e imprimi-os na página. Peço desculpa desde já se a programação não for a melhor. $i=file_get_contents('cantico/1entrada/entrada1/ncant.txt'); $b=$i; while ($b>0){ $cant="cantico/1entrada/entrada1/cantico$b.txt"; $cantico="cantico$b"; if (file_exists($cant)){ echo "<div class='conteudo'>"; echo $cant; $txt_file = fopen($cant,'r'); $a = 0; while ($line = fgets($txt_file)) { $a++; echo "<br>"; if ($a==1){ echo "<p class ='titcant2'>$line<br><br><br></p>"; } elseif ($a==2){ echo "<p class ='titcant3'>$line<br><br><br></p>"; } else{ echo "<p class='txtcant'>$line<br><br></p>" ; } } fclose($txt_file); echo "</div>"; echo "<br>"; } $b--; } Até aqui está tudo a funcionar como deve ser, mas quando vou para a parte de remover não sei como remover um ficheiro especifico o máximo que consegui fazer foi apagar ou o último ou todos os que estavam na pasta, se alguém me poder ajudar agradecia 🙂 .
  13. Tiagoinf

    format date sql

    Ola a todos, Estou a fazer um SELECT com um filtro por datas, acontece que a data esta a ser guardada da seguinte forma: 20/JUN/2022 que na realidade é 20/06/2022. Como é que posso fazer para no select ele mostrar a data assim "20/06/2022" para depois poder filtrar por data? $query = "SELECT datacompra, dataVencimentocompra from $table WHERE active=1 and datacompra>= '$inicio' AND datacompra<= '$fim';"; Ja uso uma funçao para me identificar o mes mas nao sei como a posso usar no select. function parseDate($date = null, $order = null) { if (empty($date)) { $today = date_create('now', new DateTimeZone('Europe/Lisbon')); $date = $today->format("d/m/Y"); } $arrayDatePayment= explode("/",$date); $invoiceDay = $arrayDatePayment[0]; $invoiceMonth = $arrayDatePayment[1]; $invoiceYear = $arrayDatePayment[2]; $parsedMonth = ""; switch ($invoiceMonth) { case "JAN": $parsedMonth = "01"; break; case "FEV": $parsedMonth = "02"; break; ..... default: $parsedMonth = $invoiceMonth; break; } $newInvoiceDate= $invoiceDay."-".$parsedMonth."-".$invoiceYear; return $newInvoiceDate; } alguem por ai que pode ajudar?
  14. Olá, Preciso enviar os 10 ultimos itens de um mysql para todos os e-mails cadastrados, com codigo abaixo não acontece nada. <?php $conn = new mysqli("localhost","user","pass","db"); $sql = mysqli_query($conn, "SELECT * FROM jobs"); $numRows = mysqli_num_rows($sql); $mail_body = ''; while($row = mysqli_fetch_array($sql)){ $id = $row["id"]; $salary = $row["salary"]; $cargo=$row["title"]; $description = $row["plot"]; $mail_body = ''; } //colocar a chamada mail dentro do loop que itera sobre os clientes: $sql = mysqli_query($conn, "SELECT email FROM subscriptions WHERE id=4168"); $numRows = mysqli_num_rows($sql); $subject = "New jobs"; $headers = "From:info@umsite.com\r\n"; $headers .= "Content-type: text/html\r\n"; while($row = mysqli_fetch_array($sql)){ $email = $row["email"]; $name = $row["firstname"]; $mail_result = mail($email, $subject, $mail_body, $headers); if ($mail_result) { echo 'ok'; } } ?> grato por qualquer ajuda
  15. Numa tabela com as datas das consultas queria que não fosse permitido ao utilizador alterar os dados da consulta a menos de 72 horas da data da consulta marcada. O projeto de avaliação que estou a fazer esta tabela é gerada em php diretamente da base de dados. Mas para exemplificar resumi a uma tabela. Já tentei fazer um loop mas não estou a conseguir, apenas consegui umas dicas com o código a seguir: <!DOCTYPE html> <html lang="pt"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> table td { padding: 15px; } </style> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <table> <thead> <tr> <th>ID_CONSULTA</th> <th>UTILIZADOR</th> <th>DATA</th> <th>OBSERVAÇÕES</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>marco</td> <td id="data-consulta">2022-06-16</td> <td>marcação1</td> <td><button id="editar">Editar</button></td> </tr> <tr> <td>2</td> <td>martim</td> <td id="data-consulta">2022-06-20</td> <td>marcação2</td> <td><button id="editar">Editar</button></td> </tr> <tr> <td>3</td> <td>carlos</td> <td id="data-consulta">2022-06-15</td> <td>marcação3</td> <td><button id="editar">Editar</button></td> </tr> </tbody> </table> <script src="script.js"></script> </body> </html> var inputConsulta = document.querySelector('#data-consulta'); var editar = document.querySelector('#editar'); function calcularDiferenca() { var dataConsulta = inputConsulta.innerHTML; //var dataAtual = inputAtual.value; var dataAtual = new Date().toISOString().slice(0, 10); dataConsulta = new Date(dataConsulta).toISOString().slice(0, 10); //dataConsulta = new Date(dataConsulta); //dataAtual= new Date(dataAtual); var diffInTime = Math.abs(dataConsulta - dataAtual); var timeInOneDay = 1000 * 60 * 60 * 24; var diffInDays = diffInTime / timeInOneDay; if (diffInDays >= 3) { alert('Você escolher alterar a marcação!'); } else { alert('O prazo de 72 para alterar a marcação expirou!'); } } editar.addEventListener('click', () => { var diffInDays = calcularDiferenca(); if (diffInDays >= 3) { ('#editar').prop('disabled', false); alert('Você escolheu alterar uma marcação!'); } else { $('#editar').prop('disabled', true); alert('O prazo para alterar a marcação foi expirado!\nPor favor, entre em contacto com a empresa!'); } });
  16. Eu queria depois de validar o login para redirecionar para a página dependendo do nível de acesso, agradeceria que alguem me ajudasse o mais rápido possível, obrigado aqui está a página de login de validação: <?php session_start(); include ("config.php"); if(isset($_POST['submit'])){ $Nmutilizador = mysqli_real_escape_string($conn, $_POST['username']); $pass = md5($_POST['Password']); $lvlacesso = $_POST['NivelAcesso']; $select = " SELECT * FROM users WHERE NmUtilizador = '$Nmutilizador' && PalavraPasse = '$pass' "; $result = mysqli_query($conn, $select); if(mysqli_num_rows($result) > 0){ $row = mysqli_fetch_array($result); if ($_SESSION['NivelAcesso'] == '1') { // check the value of the 'status' in the db //go to admin area header("Location: indexadmin.php"); } else { //go to members area header("Location: indexposlogin.php"); } }else{ $error[] = 'incorrect email or password!'; } }; ?> pagina de login: <?php session_start(); echo '<!doctype html> <html lang="en"> <head> <title>Página de Login</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700&display=swap" rel="stylesheet"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="stylesheet" href="css/stylelogin.css"> <style> h3{ text-align: center; } .disclaimer{ visibility: hidden; } </style> </head> <body> <section class="ftco-section"> <div class="container"> <div class="row justify-content-center"> <div class="col-md-6 text-center mb-5"> <h2 class="heading-section">Inicie sessão</h2> </div> </div> <div class="row justify-content-center"> <div class="col-md-7 col-lg-5"> <div class="wrap"> <div class="img" style="background-image: url(Imagens/imagemlogin.png);"></div> <div class="login-wrap p-4 p-md-5"> <div class="d-flex"> <div class="w-100"> <h3 class="mb-4">Login</h3> </div> </div> <form action="validalogin.php" class="signin-form"> <div class="form-group mt-3"> <input name="username" type="text" class="form-control" required> <label class="form-control-placeholder" for="username">Nome de Utilizador</label> </div> <div class="form-group"> <input name="pass" id="password-field" type="password" class="form-control" required> <label class="form-control-placeholder" for="password">Palavra-Passe</label> <span toggle="#password-field" class="fa fa-fw fa-eye field-icon toggle-password"></span> </div> <div class="form-group"> <button type="submit" class="form-control btn btn-primary rounded submit px-3">Entrar</button> </div> <div class="form-group d-md-flex"> <div class="w-50 text-left"> <label class="checkbox-wrap checkbox-primary mb-0">Lembrar me <input type="checkbox" checked> <span class="checkmark"></span> </label> </div> <div class="w-50 text-md-right"> <a href="#">Esqueci me da palavra-passe</a> </div> </div> </form> <p class="text-center">Não és membro? <a data-toggle="tab" href="registar.php">Registar me</a></p> <p class="text-center"><a data-toggle="tab" href="https://ingamept.000webhostapp.com/">Voltar</a></p> </div> </div> </div> </div> </div> </section> <script src="js/jquery.min.js"></script> <script src="js/popper.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/main.js"></script> </body> </html>
  17. Bom dia. Sou recente no fórum e estou a precisar de auxílio pois, caso contrário, desconfio que vou perder dias à volta deste problema, e não tenho esse tempo... Passa-se o seguinte: desenvolvi um site em PHP e MySQL, ainda em http, e em produção há meses sem problema. Recentemente teve de se instalar certificado para operara em https... e continuou sem problemas... Há poucos dias pediram-me para acrescentar uma funcionalidade e eu, no meu novo portátil Lenovo, recriei, em localhost, o ambiente de produção. Quando corro a primeira pagina, a de login, não acontece nada!!!!! Coloquei umas mensagens de depuração e percebi que o $_POST não está preenchido quando o submit é pressionado e o módulo php associado ao form action é despoletado. E não percebo porque funciona em todo o lado menos no meu ambiente de localhost... Será que me podem ajudar a perceber porquê? Obrigado desde já.
  18. Boas tardes nao consigo validar os dados quando se faz o login: validalogin.php: <?php session_start(); // se username e pass foram postados if (isset($_POST['username']) && isset($_POST['pass'])) { // conecta ao database require 'config.php'; // escapa as string pra evitar scripts maliciosos $uname = $conn->real_escape_string($_POST['username']); $passw = $conn->real_escape_string($_POST['pass']); $lvlacesso = $conn->real_escape_string($_POST['NivelAcesso']); // guarda o uname na sessão $_SESSION['NmUtilizador'] = $uname; $_SESSION['NivelAcesso'] = $lvlacesso // define a consulta a ser realizada $query = "SELECT * FROM users where NmUtilizador='$uname' and PalavraPasse='$passw' and NivelAcesso='$lvlacesso'"; // executa a consulta e guarda o resultado em $result $result = $conn->query($query); // verifique se houve alguma falha durante a execução da consulta if ($sqli->error) { // exibe mensagem: die('<p class="error">Falha na consulta: ' . $conn->error . '</p>'); // se não houve falha e há algum resultado } else if ($result->num_rows) { // direciona a outra página header('location:indexposlogin.php'); // se não houve nenhuma falha, mas nada foi encontrado } else { // carrega a página de login include('site/login.html'); // com essa mensagem de erro echo '<h1 class="bad">Erro de Autenticacao</h1>'; } } // se username ou pass não foram postados echo '<h1 class="bad">Envie Username and pass</h1>'; // o mysqli $sqli é encerrado automagicamente ao fim da execução de cada request if ($_SESSION['NivelAcesso'] == '1') { // check the value of the 'status' in the db //go to admin area header("Location: indexadmin.php"); } else { //go to members area header("Location: indexposlogin.php"); } login.php <!doctype html> <html lang="en"> <head> <title>Página de Login</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700&display=swap" rel="stylesheet"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="stylesheet" href="css/stylelogin.css"> <style> h3{ text-align: center; } .disclaimer{ visibility: hidden; } </style> </head> <body> <section class="ftco-section"> <div class="container"> <div class="row justify-content-center"> <div class="col-md-6 text-center mb-5"> <h2 class="heading-section">Inicie sessão</h2> </div> </div> <div class="row justify-content-center"> <div class="col-md-7 col-lg-5"> <div class="wrap"> <div class="img" style="background-image: url(Imagens/imagemlogin.png);"></div> <div class="login-wrap p-4 p-md-5"> <div class="d-flex"> <div class="w-100"> <h3 class="mb-4">Login</h3> </div> </div> <form action="validalogin.php" class="signin-form"> <div class="form-group mt-3"> <input type="text" class="form-control" required> <label class="form-control-placeholder" for="username">Nome de Utilizador</label> </div> <div class="form-group"> <input id="password-field" type="password" class="form-control" required> <label class="form-control-placeholder" for="password">Palavra-Passe</label> <span toggle="#password-field" class="fa fa-fw fa-eye field-icon toggle-password"></span> </div> <div class="form-group"> <button type="submit" class="form-control btn btn-primary rounded submit px-3">Entrar</button> </div> <div class="form-group d-md-flex"> <div class="w-50 text-left"> <label class="checkbox-wrap checkbox-primary mb-0">Lembrar me <input type="checkbox" checked> <span class="checkmark"></span> </label> </div> <div class="w-50 text-md-right"> <a href="#">Esqueci me da palavra-passe</a> </div> </div> </form> <p class="text-center">Não és membro? <a data-toggle="tab" href="registar.php">Registar me</a></p> <p class="text-center"><a data-toggle="tab" href="https://ingamept.000webhostapp.com/">Voltar</a></p> </div> </div> </div> </div> </div> </section> <script src="js/jquery.min.js"></script> <script src="js/popper.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/main.js"></script> </body> </html>
  19. Toninho

    Quebra de linha

    Olá, como fazer quebra de linha em um texto igual a esse? tentei nl2br e /n Grato
  20. Olá, aqui a parte de um var_dump de uma variavel $result, preciso pegar somente o title, tentei: $result->title $result[0]->title $result[0]['title'] string(1846) "{"result":{"title":"ALMOXARIFE I","company":"","rating":"4","reviews_count":"1242" agradeço qualquer ajuda.
  21. Olá boa tarde, eu peço a vossa ajuda caso consigam da melhor forma. É o seguinte, eu gostaria de configurar o método de pagamento MBWAY da empresa Ifthenpay numa loja online feita à base de PhP. O Site já tem em funcionamento o método de pagamento em Multibanco da ifthenpay. ( já estava configurada) Encontrei no GITHUB da ifthenpay um exemplo do código para pagamentos MBWAY que pode ser usado no site. Analisado os ficheiros do site encontrei o código do de multibanco, e a minha questão é se basta inserir lá este cambo de código para a coisa começar a funcionar. Julgo que pela lógica ainda tenho de adicionar algo na forma de pagamento para isto aparecer e já o fiz e dei o nome de Mbway, tal e qual como o inicio da "Class". Se alguém me poder ajudar para fazer esta configuração seria uma grande ajuda, Obrigado. PS: Eu não sou programador e não tenho muitos conhecimentos de PHP para poder confirmar se basta fazer só isto... (tenho alguns conhecimentos devido a coisas do trabalho que vão acontecendo.) <?php /* * Exemplo pagamentos por Mbway * */ class MbWay { // webservice MBWay private $mbwayApi = 'https://mbway.ifthenpay.com/IfthenPayMBW.asmx/'; // A sua Mbway key fornecida pela ifthepay private $mbwaykey = 'AAA-123456'; // chave anti-phishing definida private $chaveAntiPhishing = 'f261aebfa55138c20caf18556e17cd29'; // no caso desta API terá de ter sempre o valor constante “03” private $canal = '03'; // se pretende que o formato devolvido seja em JSON private $json; // id gerado automaticamente (SetPedido/SetPedidoJSON), poderá ser guardado para consulta posterior do estado do pedido private $idsPagamento; // Identificador do pagamento a definir pelo cliente (ex. número da fatura, encomenda, etc…); Máximo 25 caracteres. private $referencia; private $telemovel; // tipo de pagamento, que poderá ser guardado na base de dados para identificar o tipo de pagamento. private $paymentType = 'ifthenpaymbway'; // método para construir a query para os métodos SetPedido/SetPedidoJSON private function buildQuery(array $config) { return http_build_query($config); } // método para obter o id de pagamento public function getIdPedido() { return $this->idsPagamento; } // método para efectuar o envio de pedidos de pagamentos MBWay public function setPedido(bool $json, string $referencia, string $valor, string $telemovel, string $email) { $this->json = $json; $this->referencia = $referencia; $this->telemovel = $telemovel; $opts = array('http' => array( 'method' => 'POST', // pode ser GET || POST 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $this->buildQuery( array( 'MbWayKey' => $this->mbwaykey, // parametro (Obrigatório) 'Canal' => $this->canal, // parametro (Obrigatório) 'Referencia' => $referencia, // parametro (Obrigatório) 'valor' => $valor, // parametro (Obrigatório) 'nrtlm' => $telemovel, // parametro (Obrigatório) 'email' => $email, 'descricao' => $referencia // parametro (Obrigatório) ) ), ) ); // criar um stream context $context = stream_context_create($opts); // construção do url, se $json = true SetPedidoJSON caso contrário SetPedido $url = $json ? $this->mbwayApi . 'SetPedidoJSON' : $this->mbwayApi . 'SetPedido'; // obter o conteúdo do webservice $result = file_get_contents($url, false, $context); // conversão do resultado $result = $json ? json_decode($result) : new SimpleXMLElement($result); $this->idsPagamento = $json ? $result->IdPedido : (string) $result->IdPedido; // output do resultado no browser $this->render($result); } // método para consultar o estado do(s) pedido(s) public function getEstadoPedido(bool $json, string $idsPagamento) { $this->json = $json; $opts = array('http' => array( 'method' => 'POST', // pode ser GET || POST 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $this->buildQuery( array( 'MbWayKey' => $this->mbwaykey, 'Canal' => $this->canal, 'idspagamento' => $idsPagamento, ) ), ) ); // criar um stream context $context = stream_context_create($opts); // construção do url, se $json = true EstadoPedidosJSON caso contrário EstadoPedido $url = $json ? $this->mbwayApi . 'EstadoPedidosJSON' : $this->mbwayApi . 'EstadoPedido'; // obter o conteúdo do webservice $result = file_get_contents($url, false, $context); // conversão do resultado $result = $json ? json_decode($result) : new SimpleXMLElement($result); // condição que testa se existem erros if (empty($result->EstadoPedidos) && $result->Estado === '901') { echo $result->MsgDescricao; } return $result; } // método que permite apresentar o resultado do método setPedido private function render($result) { if ($result->Estado == '000') { // apenas esconde o formulário echo '<script type="text/javascript"> document.getElementsByTagName("form")[0].style.display = "none"; </script>'; echo '<div><table style="width: auto;min-width: 280px;max-width: 320px;padding: 5px;font-size: 11px;color: #374953;border: 1px solid #dddddd; margin-top: 10px;"><tbody><tr><td style="padding: 5px;" colspan="2"><div align="left"><img src="https://ifthenpay.com/img/mbway.png" alt="mbway"></div></td></tr><tr><td align="left" style=" padding:10px; font-weight:bold; text-align:left">Telem&oacute;vel:</td><td align="left" style=" padding:10px; text-align:left">' . $this->telemovel . '</td></tr><tr><td align="left" style=" padding:10px; padding-top:10px; font-weight:bold; text-align:left">Encomenda:</td><td align="left" style=" padding:10px; padding-top:10px; text-align:left">#' . $this->referencia . '</td></tr><tr><td align="left" style="padding:10px; padding-bottom:15px; padding-top:10px; font-weight:bold; text-align:left">Valor:</td><td style="padding:10px; padding-bottom:15px; padding-top:10px; text-align:left">' . number_format($this->json ?$result->Valor : (string) $result->Valor, 2) . ' EUR</td></tr><tr><td style="font-size: x-small; padding:0; border: 0px; text-align:center;" colspan="2">Por favor verifique na App MBWAY e proceda ao pagamento da sua encomenda. <br>Processado por <a href="https://www.ifthenpay.com" target="_blanck">Ifthenpay</a></td></tr></tbody></table></div>'; } else { echo 'Ocorreu um erro: ' . $result->MsgDescricao . '. <br/>Não foi possível concluir o pagamento.'; } } // método para o callback public function callback(array $http_get) { //chave=[CHAVE_ANTI_PHISHING]&referencia=[REFERENCIA]&idpedido=[ID_TRANSACAO]&valor=[VALOR]&estado=[ESTADO] $chave_ap_ext = $http_get['chave']; $idpedido = $http_get['idpedido']; $order_id = $http_get['referencia']; $valor = $http_get['valor']; $estado = $http_get['estado']; $orderTotal = '5.00'; // simula o valor da encomenda, este valor noemalmente é retirado da base de dados. //verifica se a chave anti-phishing devolvida pela ifthen corresponde � chave definida e se o pagamento é do tipo mbway if($this->chaveAntiPhishing === $chave_ap_ext && $this->paymentType == 'ifthenpaymbway') { // esconder formulário e tabela do resultado do método setPedido echo '<script type="text/javascript"> document.getElementsByTagName("table")[0].style.display = "none"; document.getElementsByTagName("form")[0].style.display = "none"; </script>'; // verifica se o valor no callback corresponde ao valor da encomenda if ($valor === $orderTotal) { echo "Encomenda PAGA"; http_response_code(200); } else { echo "Valor inválido"; http_response_code(200); } } else { echo "Chave inválida"; http_response_code(200); } exit(); } }
  22. Boa tarde, Já levo umas horas valentes a tentar encontrar o erro, ou uma solução o que acontece é o seguinte: eu tenho uma tabela que, com a instrução onchange atualiza os valores de base de dados, mas, graficamente tanto muda como não muda o conteúdo, se fizer o refresh/F5 manual fica tudo ok, mas o objetivo era ser automático. As instruções funcionam o graficamente não, isso é que me esta a intrigar. function CriarProcesso(){ var NomeProcesso = document.getElementById("NomeProcesso").value; var dadosajax = { 'NomeProcesso' : NomeProcesso }; pageurl = 'URL/CriarProcesso.php'; $.ajax({ url: pageurl, data: dadosajax, type: 'POST', dataType: "text", cache: false, error: function(){ toastr.danger('Erro: Inserir Registo!!'); }, success: function(result){ if($.trim(result) == '1'){ toastr.success('O registo foi editado com sucesso'); $("#table-custo").load(location.href + " #table-custo"); } else{ toastr.danger('Não é possível registar.Tente mais tarde.'); } } }); } Mesmo com load em divs diferentes ou mesmo o Append, não estão a fazer o refresh.
  23. Olá a todos , Preciso aqui de uma ajuda pois não estou mesmo a perceber este erro. Estou a usar o storage:link do laravel. Na minha página tenho um botão para fazer o upload do ficheiro e o documento vai para ao local certo. Até aqui tudo bem. Mas quando tento abrir o ficheiro da seguinte forma : <a href="{{url('storage',$doc->ficheiro)}}" target="_blank"> Na BD o ficheiro e guardado no seguinte caminho : public/documentacao_interna/dfht9Wx1EaqZpmmW4s5ireOznRR7JYtEmsf4PExO.pdf Ao tentar abri o link ele abre o seguinte /storage/public%2Fdocumentacao_interna%2Fdfht9Wx1EaqZpmmW4s5ireOznRR7JYtEmsf4PExO.pdf Mas só consigo abrir o anexo se retirar o 'public' do link acima. ficando assim o link : /storage/documentacao_interna%2Fdfht9Wx1EaqZpmmW4s5ireOznRR7JYtEmsf4PExO.pdf Não estou a perceber onde estou errar . Deixo aqui também o código do caminho que o ficheiro faz : $PDFPath = $request->ficheiro->store('public/documentacao_interna'); EDIT: Do que consegui perceber : ele é guardado aqui : public\storage\documentacao_interna e esta a tentar mostrar os documentos desta pasta : storage\public\public\documentacao_interna
  24. Olá a todos,Tenho andado aqui ás voltas a tentar implementar, sem sucesso, o Webservice dos CTT via SOAP em PHP para gerar um envio. Deveria restornar dos CTT um XML com o tracking number, mas não retorna nada. Precisava de uma ajuda para perceber o que estou a fazer de errado. Os CTT enviaram-me alguns exemplos de requests, acompanhado do url do Webservice que deveria usar para testar: http://logistica.cttexpresso.pt:8082/CTTExpressoWSQ/CTTShipmentProviderWS.svc, mais a SOAPAction: http://tempuri.org/ICTTShipmentProviderWS/CreateShipment\. Já testei via CURL e __doRequest mas sem sucesso. O request é efetuado, fica ali a remoer durante alguns segundos e não devolve no final qualquer tipo de dados. Exemplo de um dos requests que me enviaram para testes: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ctt="http://schemas.datacontract.org/2004/07/CTTExpressoWS" xmlns:ctt1="http://schemas.datacontract.org/2004/07/CTTExpressoWS.Models.ShipmentProvider" xmlns:ctt2="http://schemas.datacontract.org/2004/07/CTTExpressoWS.Models.ShipmentProvider.SEPs"> <soapenv:Header/> <soapenv:Body> <tem:CreateShipment> <!--Optional:--> <tem:Input> <ctt:AuthenticationID>###########</ctt:AuthenticationID> <ctt:DeliveryNote> <ctt1:ClientId>#####</ctt1:ClientId> <ctt1:ContractId>###</ctt1:ContractId> <ctt1:DistributionChannelId>##</ctt1:DistributionChannelId> <!--Optional:--> <ctt1:ExtData>?</ctt1:ExtData> <ctt1:ShipmentCTT> <!--Zero or more repetitions:--> <ctt1:ShipmentCTT> <!--Optional:--> <ctt1:HasSenderInformation>false</ctt1:HasSenderInformation> <ctt1:ReceiverData> <ctt1:Address>####</ctt1:Address> <ctt1:City>####</ctt1:City> <ctt1:ContactName>####</ctt1:ContactName> <ctt1:Country>####</ctt1:Country> <ctt1:Door>####</ctt1:Door> <ctt1:Email>####</ctt1:Email> <ctt1:Name>####</ctt1:Name> <ctt1:NonPTZipCode>####</ctt1:NonPTZipCode> <ctt1:NonPTZipCodeLocation>####</ctt1:NonPTZipCodeLocation> <ctt1:Phone>####</ctt1:Phone> <ctt1:Type>Receiver</ctt1:Type> </ctt1:ReceiverData> <!--Optional:--> <ctt1:SenderData> <ctt1:Address>Morada do remetente</ctt1:Address> <ctt1:City>Local do remente</ctt1:City> <ctt1:ContactName>Nome do remetente</ctt1:ContactName> <ctt1:Country>PT</ctt1:Country> <ctt1:Door>3</ctt1:Door> <ctt1:Email>Email do remetente para receber alertar</ctt1:Email> <ctt1:MobilePhone>Telefonedo remetente para receber alertar</ctt1:MobilePhone> <ctt1:Name>Nome do remetente</ctt1:Name> <ctt1:NonPTZipCodeLocation>Lisboa</ctt1:NonPTZipCodeLocation> <ctt1:PTZipCode3>###</ctt1:PTZipCode3> <ctt1:PTZipCode4>###</ctt1:PTZipCode4> <ctt1:PTZipCodeLocation>Lisboa</ctt1:PTZipCodeLocation> <ctt1:Phone>###</ctt1:Phone> <ctt1:Type>Sender</ctt1:Type> </ctt1:SenderData> <ctt1:ShipmentData> <ctt1:ClientReference>###</ctt1:ClientReference> <ctt1:ExportType>#</ctt1:ExportType> <ctt1:IsDevolution>false</ctt1:IsDevolution> <ctt1:Observations>International</ctt1:Observations> <ctt1:Quantity>1</ctt1:Quantity> <ctt1:UPUCode>Samples</ctt1:UPUCode> <ctt1:Weight>1000</ctt1:Weight> </ctt1:ShipmentData> </ctt1:ShipmentCTT> </ctt1:ShipmentCTT> <ctt1:SubProductId>###</ctt1:SubProductId> </ctt:DeliveryNote> <ctt:RequestID>###</ctt:RequestID> <!--Optional:--> <ctt:UserID>#</ctt:UserID> </tem:Input> </tem:CreateShipment> </soapenv:Body> </soapenv:Envelope> Teste 1 via CURL: <?php $soapUrl = "http://logistica.cttexpresso.pt:8082/CTTExpressoWSQ/CTTShipmentProviderWS.svc"; $xml_post_string = <<<EOT <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ctt="http://schemas.datacontract.org/2004/07/CTTExpressoWS" xmlns:ctt1="http://schemas.datacontract.org/2004/07/CTTExpressoWS.Models.ShipmentProvider" xmlns:ctt2="http://schemas.datacontract.org/2004/07/CTTExpressoWS.Models.ShipmentProvider.SEPs"> <soapenv:Header/> <soapenv:Body> <tem:CreateShipment> .... .... .... EOT; $headers = array( "Content-type: text/xml;charset=\"utf-8\"", "Accept: text/xml", "Cache-Control: no-cache", "Pragma: no-cache", "SOAPAction: http://tempuri.org/ICTTShipmentProviderWS/CreateShipment", "Content-length: ".strlen($xml_post_string), ); $url = $soapUrl; // PHP cURL for https connection with auth $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); // the SOAP request curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); curl_close($ch); $parser = simplexml_load_string($response); echo $parser; ?> Teste 2 via __doRequest <?php $client = new SoapClient(null, array('uri'=>'', 'location'=>'')); $request = <<<EOT <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ctt="http://schemas.datacontract.org/2004/07/CTTExpressoWS" xmlns:ctt1="http://schemas.datacontract.org/2004/07/CTTExpressoWS.Models.ShipmentProvider" xmlns:ctt2="http://schemas.datacontract.org/2004/07/CTTExpressoWS.Models.ShipmentProvider.SEPs"> <soapenv:Header/> <soapenv:Body> <tem:CreateShipment> .... .... .... EOT; $url = "http://logistica.cttexpresso.pt:8082/CTTExpressoWSQ/CTTShipmentProviderWS.svc"; $action = "http://connecting.website.com/WSDL_Service/GetPrice" $response = $client->__doRequest($request,$url,$action,SOAP_1_1); echo("Response:\n"); var_dump($response); ?> Agradeço qualquer ajuda do que posso estar a fazer de errado.
  25. Olá a todos, Tenho aqui uma duvida em relação a alterar dados em duas tabelas em public function editar_perfil(Request $request, funcionario $item){ $item->nome = $request->nome; $item->email = $request->email; $item->telefone = $request->telefone; //$item->foto = $request->foto; $item->data_nasc = $request->data_nasc; $item->nacionalidade = $request->nacionalidade; $item->n_cartao_cc = $request->n_cartao_cc; $item->nif = $request->nif; $item->morada = $request->morada; $item->n_porta = $request->n_porta; $item->localidade = $request->localidade; $item->concelho = $request->concelho; $item->distrito = $request->distrito; $item->cp = $request->cp; $item->data_entrada = $request->data_entrada; $item->funcao = $request->funcao; $item->estado = $request->estado; //$item->n_ferias_disponiveis = $request->n_ferias_disponiveis; //$item->data_registo = $now; $item->save(); O que quero agora fazer é que a linha $item->n_ferias_disponiveis = $request->n_ferias_disponiveis; Seja alterado numa outra tabela 'Ferias' Existe forma de fazer diretamente ? Obrigado!
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.