Code php [Résolu]

Messages postés
7
Date d'inscription
mercredi 21 février 2018
Statut
Membre
Dernière intervention
22 février 2018
-
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 

2 réponses

Messages postés
14570
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
136
0
Merci
Cette erreur indique souvent un $ oublié.
Commenter la réponse de NHenry
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316
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
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
Et tout simplement ... ne serait-ce pas :
 if(!$host)

que tu devrais utiliser non ??
maha.h
Messages postés
7
Date d'inscription
mercredi 21 février 2018
Statut
Membre
Dernière intervention
22 février 2018
-
c'est ca l'ensemble du code , je dois remplacer if (!TEST_URL) par if (!$host)?
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
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
Messages postés
7
Date d'inscription
mercredi 21 février 2018
Statut
Membre
Dernière intervention
22 février 2018
-
je l'ai remplacé avec ce que vous m'avez donnez et ca marche , merci bcp
Commenter la réponse de jordane45