Verification d'url et parcour du code source

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Verification d'url et parcour du code source

par mali_67 » 25 févr. 2008, 17:46

Merci du conseil sa fait 1 mois que je suis sur php alor je n'ai pas encor la bonne logique par contre la recherche que je doit effectuer dans le code source de mon url ne fonctionne toujour pas je cherche des reponses un peu partout mais sans succée quequ'un peu m'aider :(

par d0m » 25 févr. 2008, 17:42

enlever les @ c'est pratique pour un affichage propre, mais lorsqu'on débogue il vaut mieux les enlever. Les messages d'erreurs t'éviteront de t'arracher les cheveux pendant des heures.
Une fois le problème identifié et résolu, tu pourras toujours les enlever si c'est la consigne...

par mali_67 » 25 févr. 2008, 17:32

j'ai bien verifier dans le code source si le code na pas changer(c'est toujour le même) c'est surement a cette ligne qu'il y a un probleme et j'ai laisser le @ pour pas qu'un message d'erreur ne s'affiche mais juste mon url en rouge(ce sont les consignes)
if(eregi("^<a href=(.*)</a>$",$page,$regs)==$Tab[CodeLienPartenaire]) //on isole le code

par h0_noMan » 25 févr. 2008, 17:27

Enlèves le @devant fopen() comme cela tu pourras voir les éventuels erreur d'ouverture.

Ensuite, vérifie que dans la page que tu ouvres, le code source ou tu récupères ton hyperlien n'a pas changé.

Verification d'url et parcour du code source

par mali_67 » 25 févr. 2008, 17:22

Bonjour j'ai créer un formulaire avec un tableau, dans ce tableau sont repertorié plusieur renseignement.
Les renseignement qui nous interresse sont la colonne url(LibelleLienSprice) du type

Code : Tout sélectionner

http://carnet-de-voyage.sprice.com/index.php/
et la colonne code hyperlien(CodeLienSprice) du type

Code : Tout sélectionner

<a href="http://sejours.fr.sprice.com/searchvacation/list/continent_destination:Asie,pays_destination:Chine" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a>
Dans un premier temps je verifie si mon url est accesible grace a la fonction fopen que j'ai trouver sur php.net puis je soihaite parcourir le code source de cette url afin de verifier si le code de mon hyperlien si trouve bien, la partie pour verifier que l'url est accesible fonctionne bien par contre pour le parcour du code source et trouver le code de l'hyperlien de mon tableau,
sa ne fonctionne pas
je laisse en commentaire ce qui doit ce passer
<?php
$bool='true';
while ($Tab= mysql_fetch_array($result))
	{
?>
<tr>

<td>
<?php     //voici le code qui me permet de verifier si l'url existe(trouver sur php.net)
if (isset($_POST['Verification']))
{
if (!$fp = @fopen(''.$Tab[LibelleLienSprice].'',"r")) 
{
echo '<span style="color:red;">'.$Tab['LibelleLienSprice'].'</span>';
$bool='false';
}
else 
{
echo '<span style="color:green;">'.$Tab['LibelleLienSprice'].'</span>';
$bool='true';
}
}
else
{
 echo $Tab['LibelleLienPartenaire'];
}
?>
</td>
<td style="width:150"px;"">
<?php      /*voici le code qui me permet de lire le code source de mon url(www.php.net) j'ai juste rajouter une condition afin de dire si oui ou non mon hyperlien es dans ce code source mais sa ne marche pas*/
if (isset($_POST['Verification']))
{
if($bool=='true')
{
$fp = @fopen(''.$Tab[LibelleLienSprice].'',"r"); //lecture du fichier
while (!feof($fp)) { //on parcourt toutes les lignes
  $page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
if(eregi("^<a href=(.*)</a>$",$page,$regs)==$Tab[CodeLienSprice]) //on isole les titre
{
echo '<span style="color:green;">'.htmlentities($Tab[CodeLienSprice]).'</span>';	
}
else
{
echo '<span style="color:red;">'.htmlentities($Tab[CodeLienSprice]).'</span>';	
}
}
else
{
echo '<span style="color:red;">'.htmlentities($Tab[CodeLienSprice]).'</span>';	
}
}
else
{
echo htmlentities($Tab[CodeLienPartenaire]);	
}
?>
</td>
 
<td>
<?php     //voici le code qui me permet de verifier si l'url existe(trouver sur php.net)
if (isset($_POST['Verification']))
{
if (!$fp = @fopen(''.$Tab[LibelleLienPartenaire].'',"r")) 
{
echo '<span style="color:red;">'.$Tab['LibelleLienPartenaire'].'</span>';
$bool='false';
}
else 
{
echo '<span style="color:green;">'.$Tab['LibelleLienPartenaire'].'</span>';
$bool='true';
}
}
else
{
 echo $Tab['LibelleLienPartenaire'];
}
?>
</td>
<td style="width:150"px;"">
<?php       /*voici le code qui me permet de lire le code source de mon url(www.php.net) j'ai juste rajouter une condition afin de dire si oui ou non mon hyperlien es dans ce code source mais sa ne marche pas*/
if (isset($_POST['Verification']))
{
if($bool=='true')
{
$fp = @fopen(''.$Tab[LibelleLienPartenaire].'',"r"); //lecture du fichier
while (!feof($fp)) { //on parcourt toutes les lignes
  $page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
if(eregi("^<a href=(.*)</a>$",$page,$regs)==$Tab[CodeLienPartenaire]) //on isole les titre
{
echo '<span style="color:green;">'.htmlentities($Tab[CodeLienPartenaire]).'</span>';	
}
else
{
echo '<span style="color:red;">'.htmlentities($Tab[CodeLienPartenaire]).'</span>';	
}
}
else
{
echo '<span style="color:red;">'.htmlentities($Tab[CodeLienPartenaire]).'</span>';	
}
}
else
{
echo htmlentities($Tab[CodeLienPartenaire]);	
}
?>
</td>

</tr>
<?php
}
?>
si quelqu'un peu m'aider
[/url]