Chopin Posté 9 Juillet 2007 Partager Posté 9 Juillet 2007 (modifié) Salut à tous ! Je suis à la recherche d'un script qui vérifie la présence d'un backlink. J'en ai trouvé quelques un mais ils ne fonctionnent pas comme je le voudrais. Je m'explique, ce que je souhaite faire c'est que lors d'une validation d'un formulaire, qu'il y est un champ réservé pour y entrer l'url d'une page contenant le lien réciproque pointant vers mon site et que le post ne soit pas posté si le lien retour n'est pas trouvé. Cela a l'aire plutôt simple mais je galère depuis plusieurs heures la dessus, je remercie donc ceux qui seront m'aider à l'avance. Modifié 9 Juillet 2007 par Chopin Lien vers le commentaire Partager sur d’autres sites More sharing options...
amauryk Posté 10 Juillet 2007 Partager Posté 10 Juillet 2007 Tu vas insérer cette fonction dans ton code PHP : function verify_link($url,$link){ $handle = _AT_fopen($url,"r"); if ($handle) { $contenu = file_get_contents($handle); fclose($handle); if (strstr($contenu,$link)) return true; else return false; } else return false;}$url = URL de la page à contrôler$link = Lien dont la présence doit etre vérifiée Exemple d'utilisation : <?php$url = 'http://www.lesiteàvérifier.com';$link = 'http://www.tonsite.com';$lib = 'Ton nom et prénom';$txt = 'Ton site';if(verify_link($url,$link)) echo '<a href="'.$url.'" target="_blank" title="'.$txt.'">'.$lib.'</a>';?> Si ton lien a été supprimé, le lien retour n'est pas affiché ! (dans l'exemple ci-dessus, c'est OK) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chopin Posté 10 Juillet 2007 Auteur Partager Posté 10 Juillet 2007 Merci beaucoup pour ta réponse. J'ai mis directement sa dans ma page de validation <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?phpfunction verify_link($url,$link){$url = '$_POST['url-retour']';$link = 'http://www.tchaikowsky.free.fr';if(verify_link($url,$link))echo 'Aucun lien retour !';}?></div> Mais je voudrais que le "echo 'Aucun lien retour !'" ne s'affiche que lorsque le lien n'est pas trouvé, je voudrais également que le code ci-dessous ne soit pas non plus validé tant que le lien retour n'est pas trouvé. <div class='codetop'>CODE</div><div class='codemain' style='height:200px; white-space:pre; overflow:auto'><?php if(isset($_POST['pseudo'])) $nom=$_POST['pseudo'];else $pseudo="";if(isset($_POST['email'])) $email=$_POST['email'];else $email="";if(isset($_POST['flags'])) $icq=$_POST['flags'];else $flags="";if(isset($_POST['description'])) $icq=$_POST['description'];else $description="";if(isset($_POST['titre'])) $titre=$_POST['titre'];else $titre="";if(isset($_POST['url'])) $url=$_POST['url'];else $url="";if(empty($pseudo) OR empty($description) OR empty($email) OR empty($titre) OR empty($url)) { echo '<font color="red">Attention, tous les champs sont obligatoires !</font><br><a href="devenir-partenaire.php">Retour au Formulaire</a>'; } else { mysql_select_db('tchaikowsky',$db) or die('Erreur de selection '.mysql_error()); $sql = "INSERT INTO zone_part(id, pseudo, flags, titre, url, description, email) VALUES('','$pseudo','$flags','$titre','$url','$description','$email')"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); echo 'Vos infos on été ajoutées.'; mysql_close(); } ?></div> En faite j'ai ma petite idée pour placer le "$_POST['url-retour']" mais je ne suis pas du tout sur de moi. Si tu as une idée je suis preneur Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chopin Posté 10 Juillet 2007 Auteur Partager Posté 10 Juillet 2007 Bon j'ai modifié le code et je les mélanger avec le mien. <?php if(isset($_POST['pseudo'])) $nom=$_POST['pseudo'];else $pseudo="";if(isset($_POST['email'])) $email=$_POST['email'];else $email="";if(isset($_POST['flags'])) $flags=$_POST['flags'];else $flags="";if(isset($_POST['description'])) $description=$_POST['description'];else $description="";if(isset($_POST['titre'])) $titre=$_POST['titre'];else $titre="";if(isset($_POST['url'])) $url=$_POST['url'];else $url="";if(isset($_POST['retour'])) $retour=$_POST['retour'];else $retour="";if(empty($pseudo) OR empty($description) OR empty($email) OR empty($titre) OR empty($url) OR empty($retour)) { echo '<font color="red">Attention, tous les champs sont obligatoires !</font><br><a href="devenir-partenaire.php">Retour au Formulaire</a>'; } else { mysql_select_db('tchaikowsky',$db) or die('Erreur de selection '.mysql_error()); $sql = "INSERT INTO zone_part(id, pseudo, flags, titre, url, description, email) VALUES('','$pseudo','$flags','$titre','$url','$description','$email')"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); echo 'Votre site a été ajouté.'; mysql_close(); } function verify_link($url,$link){$url = '$retour=""';$link = 'http://www.tchaikowsky.free.fr';if(verify_link($url,$link))echo 'Aucun lien retour !';} ?> Je peux toujours valider le formulaire, le champ retour doit être remplie sinon le formulaire n'est pas validé mais le lien retour n'est pas vérifié, en gros ces lignes la ne font rien du tout function verify_link($url,$link){$url = '$retour=""';$link = 'http://www.tchaikowsky.free.fr';if(verify_link($url,$link))echo 'Aucun lien retour !';} Une idée ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
NorSeb Posté 10 Juillet 2007 Partager Posté 10 Juillet 2007 Bonjour, Tu as complètement "déformé" ce qu'amauryk t'a donné en exemple Il t'a d'abord donné une fonction : function verify_link($url,$link){ $handle = _AT_fopen($url,"r"); if ($handle) { $contenu = file_get_contents($handle); fclose($handle); if (strstr($contenu,$link)) return true; else return false; } else return false;} puis un exemple d'utilisation. Il ne te reste plus qu'a prendre le code de la fonction (ci-dessus), à le coller dans ton script et ensuite, appeler la fonction où tu en as besoin dans ton script en suivant éventuellement l'exemple d'utilisation... [edit]C'est pas un mélange qu'il faut faire, c'est une intégration [/edit] Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chopin Posté 10 Juillet 2007 Auteur Partager Posté 10 Juillet 2007 Merci pour ta réponse ! En faite j'avais essayé avant de faire un mélange de code et j'obtiens cette erreur Fatal error: Call to undefined function: _at_fopen() in /mnt/119/sdc/8/c/tchaikowsky/join_forum/new-version/devenir-partenaire2.php on line 76 C'est pour sa qu'après j'ai fait un petit mélange. Je suis sur un hébergement "Free" cela pourrait venir du serveur ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 10 Juillet 2007 Partager Posté 10 Juillet 2007 De mémoire, free ne permet pas le url_fopen() ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chopin Posté 10 Juillet 2007 Auteur Partager Posté 10 Juillet 2007 Oki, il n'y aurait pas une autre solution afin de vérifier automatiquement l'existance d'un lien retour l'ors d'un poste ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chopin Posté 11 Juillet 2007 Auteur Partager Posté 11 Juillet 2007 Re ! Apparamment en mettant ça <?function verify_link($url,$link){ $contenu = file_get_contents($url); if (strstr($contenu,$link)) return true; else return false;}?> Et en mettant ça pour appeler la fonction <?php$url = 'http://tchaikowsky.free.fr';$link = 'http://teste';if(verify_link($url,$link))echo ''.$link.'';?> Sa fonctionne. Quand il ne me trouve pas le backlink il ne m'echo pas le lien (echo '.$link.'). Donc un grand merci pour votre aide maintenant il ne me reste plus qu'a faire en sorte que le formulaire soit validé mais je pense pouvoir m'en sortir. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chopin Posté 11 Juillet 2007 Auteur Partager Posté 11 Juillet 2007 Voila j'ai intégré le code au mien mais il me reste un léger détail à régler. <?php if(isset($_POST['pseudo'])) $nom=$_POST['pseudo'];else $pseudo="";if(isset($_POST['email'])) $email=$_POST['email'];else $email="";if(isset($_POST['flags'])) $flags=$_POST['flags'];else $flags="";if(isset($_POST['description'])) $description=$_POST['description'];else $description="";if(isset($_POST['titre'])) $titre=$_POST['titre'];else $titre="";if(isset($_POST['url'])) $url=$_POST['url'];else $url="";if(isset($_POST['retour'])) $_POST['retour'];else $retour="";if(empty($pseudo) OR empty($description) OR empty($email) OR empty($titre) OR empty($url) OR empty($retour)) { echo '<font color="red">Attention, tous les champs sont obligatoires !</font><br><a href="devenir-partenaire.php">Retour au Formulaire</a>'; } else { mysql_select_db('tchaikowsky',$db) or die('Erreur de selection '.mysql_error()); $sql = "INSERT INTO zone_part(id, pseudo, flags, titre, url, description, email) VALUES('','$pseudo','$flags','$titre','$url','$description','$email')"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); echo 'Votre site a été ajouté.'; mysql_close(); } //fonctionfunction verify_link($url,$link){ $contenu = file_get_contents($url); if (strstr($contenu,$link)) return true; else return false;}//appel de la fonction$url = ''.$retour.'';$link = 'http://www.bpzik.com';if(verify_link($url,$link))?> Quand je valide le formulaire avec une URL invalide du genre http://teste.te sa me donne cette erreur Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /mnt/119/sdc/8/c/tchaikowsky/join_forum/new-version/devenir-partenaire2.php on line 75 Warning: file_get_contents(http://www.) [function.file-get-contents]: failed to open stream: Success in /mnt/119/sdc/8/c/tchaikowsky/join_forum/new-version/devenir-partenaire2.php on line 75 Ce que je voudrais c'est voir apparaitre un petit message du style "L'URL n'a pas été trouvé" à la place de ce message d'erreur. Et enfin mon dernier des soucis c'est que je voudrais que le poste total ne soit pas validé si mon lien retour n'est pas trouvé car la je peux mettre n'importe quoi en lien il me valide quand même le poste et donc les données "id, pseudo, flags, titre, url, description et email" sont enregistré dans sql. Encore merci par avance à ceux qui m'aiderons ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chopin Posté 13 Juillet 2007 Auteur Partager Posté 13 Juillet 2007 Re salut tous le monde ! Sa yé tous fonctionne correctement, j'ai juste un dernier détail à réglé, je voudrais que le post soit validé uniquement si le lien retour détecté sois du même domaine que le site inscrit dans le champ poste if(isset($_POST['url'])) $url=$_POST['url']; else $url=""; Juste pour m'assurer que le backlink et sur le même site de l'inscrit. Voici mon code complet actuel. <div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?php //recup du postif(isset($_POST['pseudo'])) $nom=$_POST['pseudo'];else $pseudo="";if(isset($_POST['email'])) $email=$_POST['email'];else $email="";if(isset($_POST['flags'])) $flags=$_POST['flags'];else $flags="";if(isset($_POST['description'])) $description=$_POST['description'];else $description="";if(isset($_POST['titre'])) $titre=$_POST['titre'];else $titre="";if(isset($_POST['url'])) $url=$_POST['url'];else $url="";if(isset($_POST['retour'])) $_POST['retour'];else $retour="";if(empty($pseudo) OR empty($description) OR empty($email) OR empty($titre) OR empty($url) OR empty($retour)) { echo '<font color="red">Attention, tous les champs sont obligatoires !</font><br><a href="devenir-partenaire.php">Retour au Formulaire</a>'; } else {$url = ''.$retour.'';$link = 'http://www.bpzik.com';if( !verify_link($url,$link) ) echo 'Lien non présent'; else{ mysql_select_db('tchaikowsky',$db) or die('Erreur de selection '.mysql_error()); $sql = "INSERT INTO zone_part(id, pseudo, flags, titre, url, description, email) VALUES('','$pseudo','$flags','$titre','$url','$description','$email')"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); echo 'Votre site a été ajouté.'; mysql_close(); } }//fonctionfunction verify_link($url,$link){ $contenu = _AT_file_get_contents($url); if ( $contenu !== false && strstr($contenu,$link)) return true; else return false;}?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
tycoons Posté 11 Septembre 2009 Partager Posté 11 Septembre 2009 Bonjour , a tous Voila j essaye j'essaye d intégrer le srcipt de vérification de lien retour sur mon annuaire.Sans succès les sites se valide toujours alors que je voudrais qu' il ne se valide pas sans le lien retour je met la fonction : function verify_link($url,$link){ $handle = _AT_fopen($url,"r"); if ($handle) { $contenu = file_get_contents($handle); fclose($handle); if (strstr($contenu,$link)) return true; else return false; } else return false;}$url = "";$link = http://www.monsite.com puis je place le reste du script dans l annuaire j ai déjà un variable url donc je n ai pas besoin de la redéfinir mon annuaire est sous catégorizore alors si vous avez une petite idée pour l instal merci je suis perdu la Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dax Posté 17 Septembre 2009 Partager Posté 17 Septembre 2009 Sinon il y a ce site qui vous permet de vérifier si vos partenaires respectent vos échanges de liens Lien vers le commentaire Partager sur d’autres sites More sharing options...
BonBackLink Posté 18 Septembre 2009 Partager Posté 18 Septembre 2009 Post très intéressant a recommander. Merci des info. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant