Message d'erreur Warning: Use of undefined constant URLSITE

Résolu/Fermé
Astolpho Messages postés 72 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 5 mars 2024 - Modifié le 17 nov. 2022 à 16:57
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 17 nov. 2022 à 20:53

Bonjour,

J'ai le message d'erreur ci-dessous :

Warning: Use of undefined constant URLSITE - assumed 'URLSITE' (this will throw an Error in a future version of PHP) in C:\wamp64\www\24\app\fetch\autocomplete.php on line 4

Quand je clique sur un icone sur une ligne d'un tableau, ça m'ouvre une fenêtre modal, de la j'ai un champs input ou je peux taper le nom d'une personne pour utiliser l'autocompletion, ça fonctionne même avec le message d'erreur, il est affiché sur la fenêtre modal. 

l'erreur correspond à la ligne 3 du code ci-dessous

 <!-- jQuery UI -->
      <script src='<?php echo URLSITE;?>/fetch/jquery-ui/jquery-3.1.1.min.js' type='text/javascript'></script>
      <link href='<?php  echo URLSITE;?>/fetch/jquery-ui/jquery-ui.min.css' rel='stylesheet' type='text/css'>
      <script src='<?php echo URLSITE;?>/fetch/jquery-ui/jquery-ui.min.js' type='text/javascript'></script>

    
       
    
     <script  >
        $( function() {
          
          $( "#autocompleted" ).autocomplete({
            source: function( request, response ) {
              
              $.ajax({
                url: "<?php echo URLSITE;?>fetch/Designations.php",
                type: 'post',
                dataType: "json",
                data: {
                  search: request.term 
                },
                success: function( data ) {
                  response( data );
                }
              });
            },
            select: function (event, ui) {
                $('#autocompleted').val(ui.item.label); // display the selected text
                $('#price').val(ui.item.value); // save selected id to input
                return false;
              }
            });
</script>

Je l'utilise sur une autre fonctionnalité, j'ai pas ce message d'erreur.
Windows / Chrome 107.0.0.0

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
17 nov. 2022 à 17:48

Bonjour

Le message d'erreur indique le fichier concerné ainsi que la ligne.

Il indique que tu as essayé d'utiliser une constante qui visiblement n'a pas été définie..

Il faudrait nous montrer le code dans son intégralité du fichier

 C:\wamp64\www\24\app\fetch\autocomplete.php 


0
Astolpho Messages postés 72 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 5 mars 2024
Modifié le 17 nov. 2022 à 17:54

Voici le fichier autocomplete.php

 <!-- jQuery UI -->
      <script src='<?php echo URLSITE;?>/fetch/jquery-ui/jquery-3.1.1.min.js' type='text/javascript'></script>
      <link href='<?php  echo URLSITE;?>/fetch/jquery-ui/jquery-ui.min.css' rel='stylesheet' type='text/css'>
      <script src='<?php echo URLSITE;?>/fetch/jquery-ui/jquery-ui.min.js' type='text/javascript'></script>

    
       
    
     <script  >
        $( function() {
          
          $( "#autocompleted" ).autocomplete({
            source: function( request, response ) {
              
              $.ajax({
                url: "<?php echo URLSITE;?>fetch/Designations.php",
                type: 'post',
                dataType: "json",
                data: {
                  search: request.term 
                },
                success: function( data ) {
                  response( data );
                }
              });
            },
            select: function (event, ui) {
                $('#autocompleted').val(ui.item.label); // display the selected text
                $('#price').val(ui.item.value); // save selected id to input
                return false;
              }
            });
          
        });
        function split( val ) {
          return val.split( /,\s*/ );
        }
        function extractLast( term ) {
          return split( term ).pop();
        }
      </script> 
    <!-- Page script -->
    
         <script  >
        $( function() {
          
          $( "#autocompletec" ).autocomplete({
            source: function( request, response ) {
              
              $.ajax({
                url: "../fetch/Customers.php",
                type: 'post',
                dataType: "json",
                data: {
                  search: request.term 
                },
                success: function( data ) {
                  response( data );
                }
              });
            },
            select: function (event, ui) {
                $('#autocompletec').val(ui.item.label); // display the selected text
                $('#id_customers').val(ui.item.value); // save selected id to input
                return false;
              }
            });
          
        });
        function split( val ) {
          return val.split( /,\s*/ );
        }
        function extractLast( term ) {
          return split( term ).pop();
        }
      </script> 
   

le fichier config.php 

<?php
$PARAM_url_site= 'http://localhost/24/app/';

le fichier define.php

<?php
include('config.php');
define('URLSITE', $PARAM_url_site);
0
Astolpho Messages postés 72 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 5 mars 2024
17 nov. 2022 à 19:01

Sur la ligne concernée, j'ai remplacer 

      <link href='<?php  echo URLSITE;?>/fetch/jquery-ui/jquery-ui.min.css' rel='stylesheet' type='text/css'>

Par ça

      <link href='../fetch/jquery-ui/jquery-ui.min.css' rel='stylesheet' type='text/css'>

J'ai plus le message, de toute façon j'ai pas besoin de spécifier le chemin en entier, même si le chemin change. 

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
17 nov. 2022 à 20:53

Visiblement, dans ton fichier autocomplete.php, tu n'avais pas inclus le fichier define.php

Il est donc normal qu'il ne trouvait pas la constante

1