Code php [Résolu]

maha.h 7 Messages postés mercredi 21 février 2018Date d'inscription 22 février 2018 Dernière intervention - 21 févr. 2018 à 21:53 - Dernière réponse : maha.h 7 Messages postés mercredi 21 février 2018Date d'inscription 22 février 2018 Dernière intervention
- 22 févr. 2018 à 11:37
bonjour ,
je suis debutante en php , j'ai ecris un code pour verifier si un siteweb est valide ou non et qu'on j'execute je rencontre l'erreur suivante :
Notice: Use of undefined constant TEST_URL - assumed 'TEST_URL' in C:\wamp64\www\index.php on line 6
voici le code
   <?php

function check_connect($host,$path)

{
    if(!TEST_URL)
    
    {
        $tab_return["statut"] = 1;
        $tab_return["code"] = 0;
        $tab_return["message"] = "Pas de test de connexion\n";
        return $tab_return;
    }
    $connect = 0;
    $no_code = 0;
    
    if ($fp = @fsockopen($host,80))
    {
        
        if(substr($path,strlen($path)-1) != '/')
        {
            if(preg_match("/\\./",$path))
                $path .= "/";
        }
        //envoi de la requete HTTP
        fputs($fp,"GET ".$path." HTTP/1.1\r\n"); 
        fputs($fp,"Host: ".$host."\r\n");
        fputs($fp,"Connection: close\r\n\r\n");
        //on lit le fichier
        $line = fread($fp,255);
        $en_tete = $line;
        //on lit tant qu'on n'est pas la fin du fichier ou
        // qu'on trouve le debut du code html...
        while (!feof($fp) && !preg_match("<",$line) )
        {
            $en_tete .= $line;
            $line = fread($fp,255);
        }
        fclose($fp);
        //on switch sur le code HTTP renvoye
        $no_code = substr($en_tete,9,3);
        switch ($no_code)
        {
            // 2** la page a été trouvée
            case 200 :    $message = "OK";
                        $color = "#33cc00";
                        $connect = 2;
                        break;
            case 204 :    $message = "Cette page ne contient rien! (204)";
                        $color = "#ff9966";
                        break;
            case 206 :    $message = "Contenu partiel de la page! (206)";
                        $color = "#ff9966";
                        break;
            // 3** il y a une redirection
            case 301 : $message = "La page a été déplacéé définitivement!(301)";
                        $message .= seek_redirect_location($en_tete);    
                        $color = "#ff9966";
                        $connect = 1;
                        break;
            case 302 :  $message = "La page a été déplacéé momentanément!(302)";
                        $message .= seek_redirect_location($en_tete);
                        $color = "#ff9966";
                        $connect = 1;
                        break;
            // 4** erreur du coté du client
            case 400 :    $message = "Erreur dans la requête HTTP! (400)";
                        $color = "#ff0000";
                        break;
            case 401 :    $message = "Authentification requise! (401)";
                        $color = "#ff0000";
                        break;
            case 402 :    $message = "L'accès à la page est payant! (402)";
                        $color = "#ff0000";
                        break;
            case 403 :    $message = "Accès à la page refusé! (403)";
                        $color = "#ff0000";
                        break;
            case 404 :    $message = "Page inexistante! (404)";
                        $color = "#ff0000";
                        break;
            // 5** erreur du coté du serveur
            case 500 :    $message = "Erreur interne au serveur! (500)";
                        $color = "#ff0000";
                        $connect = 1;
                        break;
            case 502 :  $message = "Erreur cause passerelle du serveur! (502)";
                        $color = "#ff0000";
                        break;
            // cas restant
            default : $message = "Erreur non traitée -> numéro est : $no_code!";
                        $color = "#000000";
                        break;
        }
    }
    else
    {
        $message = "Impossible de se connecter par socket";
        $color = "#ff0000";
    }
  //creation du tableau avec les valeurs a rendre
  $data_return["statut"] = $connect; //la page est OK ou KO (200 => OK sinon KO)
  $data_return["code"] = $no_code; //code HTTP renvoye
  $data_return["message"] = "<font color=\"".$color."\">".$message."</font>\n";
  return $data_return;
}

// utilisation

            $url = "http://www.site.com";
            $url_parsee = parse_url($url);  
            $host = $url_parsee["host"];
            $path = isset($url_parsee["path"]) ? trim($url_parsee['path']) : '';
            $tab_return = check_connect($host,$path);
            echo $tab_return["message"];

?> 
         

aidez moi svp

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

6 réponses

NHenry 14209 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 23 juin 2018 Dernière intervention - 21 févr. 2018 à 22:13
0
Merci
Cette erreur indique souvent un $ oublié.
Commenter la réponse de NHenry
jordane45 21448 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 24 juin 2018 Dernière intervention - 21 févr. 2018 à 22:24
0
Merci
Bonjour,

Quand je t'ai demandé de poster ton code en utilisant les balises .... c'était dans la discussion initiale...
http://www.commentcamarche.net/forum/affich-35218317-erreur-code-php

Pas en ouvrir une autre sur un autre forum !!

Et donc.. comme je te l'avais indiqué dans ta précédente question....
Où est initialisée ta constante TEST_URL ?
 if(!TEST_URL)

Car dans le bout de code que tu nous indiques ... on ne le voit pas !

Montre nous TOUT ton code.... vraiment tout !!
jordane45 21448 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 24 juin 2018 Dernière intervention - 21 févr. 2018 à 22:26
Et tout simplement ... ne serait-ce pas :
 if(!$host)

que tu devrais utiliser non ??
maha.h 7 Messages postés mercredi 21 février 2018Date d'inscription 22 février 2018 Dernière intervention - 21 févr. 2018 à 22:39
c'est ca l'ensemble du code , je dois remplacer if (!TEST_URL) par if (!$host)?
jordane45 21448 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 24 juin 2018 Dernière intervention - 21 févr. 2018 à 22:43
Soit tu n'as pas récupérer l'intégralité du code là où tu l'as copié ....
soit oui.. il faut faire la modification que je t'ai donné.
Maintenant... ben.. c'est quand même à toi de savoir à quoi est sensé servir cette variable et ce qu'elle est sensée contenir... non ??!!
maha.h 7 Messages postés mercredi 21 février 2018Date d'inscription 22 février 2018 Dernière intervention - 22 févr. 2018 à 11:37
je l'ai remplacé avec ce que vous m'avez donnez et ca marche , merci bcp
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.