Vérifier si 1 adresse internet (lien) existe

Résolu/Fermé
Lcf.vs Messages postés 144 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 10 avril 2010 - 25 nov. 2007 à 10:19
Lcf.vs Messages postés 144 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 10 avril 2010 - 25 nov. 2007 à 23:51
Bonjour,

bon, voilà, je vais être franc, je n'ai testé que la fonction gethostbyname, car c'est la seule que je pense arriver à comprendre avec le niveau que j'ai, ben vi, suis un tit noob... et qui puisse me mener au résultat espéré...

alors, j'ai vraiment passé beaucoup de temps dessus mais je doute de ma façon de procéder...

dans ma page index, que vous pouvez voir ici: http://www.emarketstudy.com, j'ai un formulaire placé sous mon iframe, ce formulaire (dont l'action est dans ma page index) doit permettre d'ouvrir la page du site de son choix dans l'iframe, donc vérification de la chaîne, jusque là, tout va bien, mais aussi de l'existence du site, et là,



Code :

if (isset($_POST['url']) && preg_match("#^http://[^\\,\"\'\@\*\~\:\!\?\<\>\(\)\[\]\{\}\#\|\`\^\¨\´]{3,}#", $_POST['url']))
{
if (gethostbyname($url)!=$url)
{
echo' page html comprenant le formulaire et une iframe qui ouvre l'url demandée' // ça, ça marche, vous pouvez tester sur mon site...

}
else
{
*//que je mette un echo avec le contenu de mon index ou que je fasse un header vers index, je me retrouve avec une ouverture en chaîne :aie:
}
}
else
{
ma page php d'acceuil // et ça, ça marche aussi
}

alors, petite note supp, que je mette gethostbyname($url)!=$url) ou gethostbyname($url)==$url), ça marche... comment se fait-ce?

avez-vous des idées, svp?

désolé de compter un peu sur vous mais je suis débutant et ai un délai de production assez court si je veux avoir l'octroi de la bourse à laquelle je pourrais prétendre si j'ai fini à temps... c'est mon avenir que je construis... merci...

je sais, je sais, triturage de cerveau un dimanche matin, mais je suis dessus depuis hier soir non-stop... :s
A voir également:

4 réponses

Salut,

une petite astuce simple pour tester si un lien n'est pas mort:
(récupéré là :http://www.phpscripts-fr.net/portions/portion.php?id=43)
<?php
$site = "http://www.phpscripts-fr.net";

$file = @fopen($site, 'r'); 
if ($file) {echo 'Lien valide !';} 
else {echo 'Lien mort !';} 
?> 


ou vas voir ce topic:

http://www.commentcamarche.net/forum/affich 226610 php comment verifier qu une url est valide
2
Lcf.vs Messages postés 144 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 10 avril 2010 36
25 nov. 2007 à 11:49
merci beaucoup, pas mal, j'cherchais loin, moi... lol

et aurais-tu une idée de comment en cas d'erreur, je peux réouvrir mapage index dans l'iframe sans générer un chargement en chaîne, stp?

en tous cas, merci beaucoup
0
Salut,

par un header( location:index.html);

attention il ne doit y avoir aucune balise ou texte html avant
0
Lcf.vs Messages postés 144 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 10 avril 2010 36
25 nov. 2007 à 23:51
merci beaucoup Alain,

en fait, ta fonction marche à merveille, mais pour ce qui est du header, je ne peux pas, comme je l'ai précisé plus haut mais en modifiant la structure de mon code, j'y suis tout de même arrivé...

si le coeur t'en dit, teste donc ce à quoi tu m'as aidé... ;)

bonne soirée...


ps: je viens de remarquer que mon lien plus haut est faussé par une virgule...

https://emarketstudy.com/


j'ai encore un petit bug de css mais sinon, ça fonctionne...
0