J'essaye de faire un petit système pour m'aider dans mon travail. En lisant certains articles d'ici, de tester et de ne pas, je fait ce travail de code:file_get_contents dernier enregistrement
error_reporting(error_reporting() & ~E_NOTICE);
header("Content-Type: text/html; charset=ISO-8859-1", true);
$opts = array('http'=>array('method'=>"GET",
'header'=>"Accept-Language: pt-BR\r\n" .
"Cookie: ASPSESSIONIDSCSSRCRA=MHFGEDNDPHHBJDHGCMJKPDKN; ASPSESSIONIDQCSTTDRB=EKJNDDNDGGFMAHBFJABMJNAM".session_name()."=".session_id()."\r\n"));
$context = stream_context_create($opts);
session_write_close(); // unlock the file
$url = "http://www.comprasnet.gov.br/pregao/fornec/mensagens_acomp.asp?prgcod=622924";
$contents = file_get_contents($url, false, $context);
session_start(); // Lock the file
echo ($contents);
// Função para procura várias palavras em uma string
function procpalavras01 ($contents, $palavras, $resultado = 0) {
foreach ($palavras as $key => $value) {
$pos = stripos($contents, $value);
if ($pos !== false) {
$palavras_encontradas[] = $value; }
}
if (is_array($palavras_encontradas)) {
$palavras_encontradas = implode(",",$palavras_encontradas);
}
return $palavras_encontradas;
}
$palavras = array ("Ilma Chaves Pereira","19.026.964/0001-37","origina","correio","@");
$resultado = procpalavras01($contents, $palavras);
//Variáveis
$nome = ('ACLicita');
$mensagem = ('Pregoeiro chama no pregão');
$pregao = ('72016');
$uasg = ('160019');
$data_envio = date('d/m/Y');
$hora_envio = date('H:i:s');
// Compo E-mail
$arquivo = "
<style type='text/css'>
body {
margin:0px;
font-family:Verdane;
font-size:12px;
color: #666666;
}
a{
color: #666666;
text-decoration: none;
}
a:hover {
color: #FF0000;
text-decoration: none;
}
</style>
<html>
<table width='510' border='1' cellpadding='1' cellspacing='1' bgcolor='#CCCCCC'>
<tr>
<td>
<tr>
<td width='500'>Nome:$nome</td>
</tr>
<tr>
<td width='320'>Mensagem:$mensagem</td>
</tr>
<tr>
<td width='320'>Pregão:$pregao</td>
</tr>
<tr>
<td width='320'>Uasg:$uasg</td>
</tr>
<tr>
<td width='320'>Palavra Encontrada:$resultado</td>
</tr>
</td>
</tr>
<tr>
<td>Este e-mail foi enviado em <b>$data_envio</b> às <b>$hora_envio</b></td>
</tr>
</table>
</html>
";
//enviar
// emails para quem será enviado o formulário
$emailenviar = "[email protected]";
$destino = $emailenviar;
$assunto = "Atenção ao Pregão: " . $pregao . " Uasg: " . $uasg;
// É necessário indicar que o formato do e-mail é html
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ACLicita';
//$headers .= "Bcc: $EmailPadrao\r\n";
if ($resultado === null) {
} else {
$enviaremail = mail($destino, $assunto, $arquivo, $headers);
}
Il fonctionne très bien, mais je veux que ce vérifier que le dernier message sur le lien (par date et heure), et si elle est déjà envoyé ne pas l'envoyer à nouveau. Le site a un système d'actualisation, donc mon code se rafraîchit à chaque actualisation du site, en envoyant un autre mail si les mots dans $ palavras sont trouvés. Aidez-moi ou montrez-moi le chemin, un peu de lumière comment puis-je corriger cela. Je ne sais pas si je me suis fait clair.
Edit 1: Code essayant de inserto dans la table:
if ($resultado === null) {
} else {
$enviaremail = mail($destino, $assunto, $arquivo, $headers);
$sql = "INSERT INTO Licita (date, assunto, arquivo, email)
VALUES ('$date', '$assunto', '$arquivo', '$emailenviar')";
}
Comment pouvons-nous dire si elle a été envoyée ou non? –
C'est ce que je veux savoir aussi. Comme je l'ai dit avant, je ne sais rien sur PHP. Tout ce que je sais, c'est que le courrier arrive si un mot est trouvé dans le lien. –
Vous avez dit "je veux que ceci vérifie seulement le dernier message sur le lien (par date et heure), et s'il est déjà envoyé n'envoie pas par mail", comment peut-on dire s'il a été envoyé? Y at-il un mot spécifique dans le td qui dit qu'il a été envoyé? –