IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème n'arrive pas à vérifié si une URL est valide ou non [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Points : 29
    Points
    29
    Par défaut Problème n'arrive pas à vérifié si une URL est valide ou non
    Bonjour,

    J'ai fais un petit module pour faire une recherche par ID Site pour la boite dans laquel je travail.
    Malheureusement, j'aimerai vérifié une condition, que l'url soit valide.
    J'ai pondu une page , mais le controle de l'url renvoi toujours une erreur, voici la source



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
    /* Correction de l'id site possible suite à faute de frappe ou copier coller */
      $search = array(' ', '.');
      $replace = array('', '');
    /* Si l'id site à été posté par le formulaire, on corrige les fautes de frappes */
      if( isset($_POST['idsite']) )
      {
        $idsite = $_POST["idsite"];
        $idsite = str_replace($search, $replace, $idsite);
      }
    ?>
        <!-- Je crée un formulaire qui postera sur cette même page -->
        <FORM action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
          <table width="300" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td width="60" align="right" valign="middle">
                ID Site :
              </td>
              <td width="60" valign="top">
                <!-- si un idsite à déjà été poster je le garde dans la text bar -->
                <INPUT name="idsite" type="text" id="idside" value="<?php if( isset($idsite) ) echo $idsite ;?>" size="8">
              </td>
              <td>
                <input type="submit" value="Recherche" class="submit">
              </td>
            </tr>
          </table>
    	</FORM>
        <?php
    	  /* Si un idsite à été posté je vérifie qu'il existe bien */
          if(isset($_POST['idsite']))
    	  {
    	    if (!isset($url)) $url = "http://www.monsite.com/site.do?indexItem=0&idItem=".$idsite."&oldId=0"; 
    	    $fp = fsockopen($url, 80, &$errno, &$errstr, 30); 
    	    /* Si l'idsite n'existe pas, je renvoi un message d'erreur */
    	    if (!$fp) { 
    	    echo "Erreur: <B>$errstr</B> ($errno)<BR>"; } 
    	    /* Si l'idsite existe, je l'affiche dans un iframe */
    	    else { fputs($fp,"GET / HTTP/1.0nn"); 
    	    $reponse = fgets($fp, 128); 
    	    echo '<iframe src="http://www.monsite.com/site.do?indexItem=0&idItem=".$idsite."&oldId=0" width="1500" height="900" frameborder=no></iframe>';
    	    fclose($fp); } 
    	  }
    	  /* Si aucun idsite n'a été posté j'affiche un message */
    	  else
    	  {
    	    echo 'Module de recherche par ID site';
    	  }
        ?>
    Tout fonctionne correctement sauf la vérification d'url qui me renvoi ce message même quand l'url est bien valide :
    Erreur: Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (5)

    Si quelqu'un à une idée, vois une erreur dans la méthode merci d'avance de me faire savoir.

    kopax

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Autre question concernant le str_replace, mon idsite ne comporte que des chiffres, j'aimerai savoir comment faire pour supprimer toute lettres (fautes de frappes) qui peuvent être insérer dans ce champs, sans trop alourdir mon fichier.

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    fsockopen ouvre un socket pas un lien http, regarde la doc, utilise file_get_content, je te conseil de mettre a jour aussi, puisque visiblement tu est en PHP 5.3, donc code est plutôt orienté PHP 4

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    fsockopen ouvre un socket pas un lien http, regarde la doc, utilise file_get_content, je te conseil de mettre a jour aussi, puisque visiblement tu est en PHP 5.3, donc code est plutôt orienté PHP 4
    Salut et merci pour ta réponse,

    Excuse moi mais, j'ai l'impression que cela ne fonctionnera pas avec filegetcontent, j'ai besoin de m'authentifié sur le site de la boite, forcement il ne trouvera pas l'url. Il y a un cookie.
    Je ne comprends pas pourquoi tu dis que mon code est orienté php 4 ?

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par kopax Voir le message
    Salut et merci pour ta réponse,

    Excuse moi mais, j'ai l'impression que cela ne fonctionnera pas avec filegetcontent, j'ai besoin de m'authentifié sur le site de la boite, forcement il ne trouvera pas l'url. Il y a un cookie.
    Je ne comprends pas pourquoi tu dis que mon code est orienté php 4 ?
    tu ne fais aucune authentification ici,
    pourquoi PHP 4 ? parce que t'ouvre une url avec fsockopen, qui est la méthode php 4

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    tu ne fais aucune authentification ici,
    pourquoi PHP 4 ? parce que t'ouvre une url avec fsockopen, qui est la méthode php 4
    Merci pour l'info

    Non effectivement, en faite je n'ai pas besoin d'authentification dans ma page, car de toute façon quand je poste le premier idsite, je ne peux pas accédé au contenu sans être authentifié, le serveur me renvoi sur la page de login.
    Une fois les idents rentrés et le cookie stocké, le module fonctionne normalement.

    Avec file_get_content, je ne peux pas vérifié si la page existe, automatiquement il me renverra sur la page de login, le serveur web en question n'étant jamais connecté au site.

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    si t'as besoin de cookies le plus simple c'est d'utiliser cURL

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    si t'as besoin de cookies le plus simple c'est d'utiliser cURL
    je vois pas ce que ça va changé avec curl, le problème reste entier !

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par kopax Voir le message
    je vois pas ce que ça va changé avec curl, le problème reste entier !
    cURL gère les cookies plus facilement ...
    de toutes façon tu va toujours avoir deux requêtes a faire, une pour l'auth et l'autre pour le reste

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    cURL gère les cookies plus facilement ...
    de toutes façon tu va toujours avoir deux requêtes a faire, une pour l'auth et l'autre pour le reste
    Ok, merci de ta réponse, justement je ne veux pas faire comme ca, je vais abandonné l'idée de faire une vérification.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment savoir si une URL est valide
    Par jauffray dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 30/05/2011, 13h28
  2. [RegEx] Vérifier si une url est valide
    Par paradeofphp dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2011, 19h11
  3. Vérifier si une date est valide ou non
    Par Juju54350 dans le forum C#
    Réponses: 2
    Dernier message: 21/09/2010, 15h20
  4. [Système][Runtime]J'arrive pas à lancer une appli externe !?!
    Par polnioumane dans le forum Général Java
    Réponses: 6
    Dernier message: 16/11/2005, 19h55
  5. test si une Url est valide ?
    Par lulu1664 dans le forum Windows
    Réponses: 5
    Dernier message: 10/08/2005, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo