Bonjour la famille ,
j'aimerais faire un script qui va vérifier chaque semaine un échanges de liens entre deux webmasters , et si l'un des deux webmasters a rompu l'echanges une notification par mail va etre envoyer au webmaster concerne .

j'ai besoin d'exemple ou d'idée et de comment faire ce System qui va vérifier chaque semaine une table de ma BDD

MERCI

12 réponses


antho07
Réponse acceptée

Tu peux tenter
crontab -e

dedans tu mets

0 0 * * 0 wget("tapage.php")

et tenregistre

coloo
Réponse acceptée

Tu as un tuto pour les tâches planifié ici

Grace à cela tu vas pouvoir planifier l’exécution d'une page php où tu pourras checker ta ligne.

Pour la deuxième question, le plus simple est de tester s'il y a le dit lien et je t'ai donné la réponse plus haut. Après tu peux toujours regarder en faisant des test du genre :

<?php
$mystring = file_get_contents('lapageouilyalelien.fr');
$findme = '<divid="nomDiv"><ahref="http://www.adressesite.fr/"><imgsrc="http://adressesite.fr/logo-new4566.png"alt="alt"width="183"height="290"></a></div>';
$mystring = str_replace("\r\n",'', $mystring);
$mystring = str_replace("\r",'', $mystring);
$mystring = str_replace("\n",'', $mystring);
$mystring = str_replace("\n\r",'', $mystring);
$mystring = str_replace(" ",'', $mystring);
$pos = strpos($mystring, $findme);

if ($pos === false) {
    echo "Le lien ".$findme." ne se trouve sur lapageouilyalelien.fr";
} 
?>

J'enlève les retraits de lignes et les espaces...

++

hey coucou,

<?php
$mystring = file_get_contents('lapageouilyalelien.fr');
$findme = 'monlien.fr';
$pos = strpos($mystring, $findme);
if ($pos === false) {
    echo "Le lien ".$findme." ne se trouve sur lapageouilyalelien.fr";
} 
?>

tu fais un send mail dans le if.

Bonne journée ;)

Il faudrait trouver un moyen de lancer le script chaque semaine justement et sans visiter la page du script cela va être impossible.
Tu peux donc aller voir du côté des tâches Cron:
https://craym.eu/tutoriels/developpement/tache_cron_script_php.html
Et tu précises la tâche pour chaque semaine je ne sais pas si tu peux mais au pire il doit y avoir possibilité dans ton script php de réécrire la date en y rajoutant 1 semaine lorsque le script a été lancé.

Bonjour;
Bah on peut mettre l'appel de la page dans une crontab , ça lancera le script

Merci poour vorte reponse tout le monde ,
Antho07 peut tu m'expliquer c'est quoi une Crontab et comment je vais appeller ma page ,(je crois que c'est seulement pour linux dapres ma petite recherche )

Merci

Tu héberges sur quoi ?

Bonjour Coloo , sur linux

un dédié, un mutualisé ?

un serveur dédié

re bonjour Coloo , pour ton premier commentaire est ce que je peux verfier si un code html existe (une banniere html ) grace a le file get content , je te remercie pour les efforts que vous fournis toutes la famille grafikart c 'est vrai plus qu'on partage plus qu'on possede merci merci

c'est nickel j'ai reussi je vous remercie tout le monde et voici l'esemble de mon code pour le partage (et si ya quoi améliorer :D )

<?php 

$controler_sug = file_get_contents($page_sug);
$controler_client= file_get_contents($page_client);
$page_sug = str_replace(" ", "", strtr($page_sug, "\r\n\t", " "));
$page_client = str_replace(" ", "", strtr($page_client, "\r\n\t", " "));
$banner_client = str_replace(" ", "", strtr($banner_client, "\r\n\t", " "));
$banner_sug = str_replace(" ", "", strtr($banner_sug, "\r\n\t", " "));
$controler_sug = str_replace("\r\n",'', $controler_sug);
$controler_sug = str_replace("\r",'', $controler_sug);
$controler_sug = str_replace("\n",'', $controler_sug);
$controler_sug = str_replace("\n\r",'', $controler_sug);
$controler_sug = str_replace(" ",'', $controler_sug);
$controler_client = str_replace("\r\n",'', $controler_client);
$controler_client = str_replace("\r",'', $controler_client);
$controler_client = str_replace("\n",'', $controler_client);
$controler_client = str_replace("\n\r",'', $controler_client);
$controler_client = str_replace(" ",'', $controler_client);

if (strpos($controler_sug, $banner_client) === false ) 
{
   mail($email_sug, $sujet, $message, $entete) ;
   mail($email_client, $sujet_alert, $message_client, $entete) ;
   }
else { 
   echo 'OK VERIFE 1'; 
}
if (strpos($controler_client, $banner_sug )=== false)
     {
        mail($email_client, $sujet, $message, $entete) ;
        mail($email_sug, $sujet_alert, $message_sug, $entete) ;
    }
    else { 
   echo 'OK VERIFE 2'; 
}
?>