Déclaration d'une variable en php

Résolu
idrissess Messages postés 108 Statut Membre -  
idrissess Messages postés 108 Statut Membre -
Bonjour,
je veux installer maarch entreprise sous fedora 10. mais j'ai pas encore réussi car beaucoup des erreurs s'affiche parmi eux

Notice: Undefined variable: protocol in /opt/lampp/htdocs/maarchentreprise/apps/maarch_entreprise/class/class_business_app_tools.php on line 45


voila le ligne 45 de ce fichier (class_business_app_tools.php)

if ($_SERVER['SERVER_PORT'] <> 443 && $protocol == "https")

j'ai pu pas changer tout le syntaxe car j'ai pas d'éxperience en PHP
est ce qu'il faut déclarer le variable protocol içi et comment ça ce marche, ou bien juste on peut changer de syntaxe
Merci d'avance

6 réponses

  1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    la variable n'existe pas encore. Il doit y avoir un problème dans le code. Je ne pense pas pouvoir t'aider avec si peu de code
    0
  2. idrissess Messages postés 108 Statut Membre 12
     
    merci de votre réponse; vraiment le code est trop long à analyser je peux citer ces lignes
    if ($_SERVER['SERVER_PORT'] <> 443 && $protocol == "https")
    {
    $server_port = ":".$_SERVER['SERVER_PORT'];
    }
    elseif ($_SERVER['SERVER_PORT'] <> 80 && $protocol == "http")
    {
    $server_port = ":".$_SERVER['SERVER_PORT'];
    }
    else
    {
    $server_port = "";


    je ne sais pas si le problème est de chez l'éditeur ou bien de la version PHP (avec le paquet XAMPP)cinstallé sur mon PC
    0
    1. HostOfSeraphim Messages postés 7340 Statut Contributeur 1 609
       
      Essaye de nous mettre les lignes où l'on retrouve "$protocol".
      0
    2. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
       
      les lignes ou $protocol est dans le if posent toute le meme probleme. Il faut trouver les lignes ou il y a une affectation
      0
  3. idrissess Messages postés 108 Statut Membre 12
     
    //##############
    if ($_SERVER['SERVER_PORT'] <> 443 && $protocol == "https")
    {
    $server_port = ":".$_SERVER['SERVER_PORT'];
    }
    elseif ($_SERVER['SERVER_PORT'] <> 80 && $protocol == "http")
    {
    $server_port = ":".$_SERVER['SERVER_PORT'];
    }
    else
    {
    $server_port = "";
    }

    if (!empty($_SERVER['HTTPS']))
    $protocol = "https";
    else
    $protocol = "http";

    //##############

    je trouve la variable protocol aussi aprés
    $_SESSION['config']['businessappurl'] = $protocol."://".$host.$server_port.str_replace('index.php','',$_SERVER['SCRIPT_NAME']);
    0
    1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
       
      c'est ici que ta variable est definie:
      if (!empty($_SERVER['HTTPS']))
      $protocol = "https";
      else
      $protocol = "http";

      pour une raison que j'ignore, il ne passe pas là dedans

      essayes de rajouter un echo $_SERVER['HTTPS'] pour voir ce que ca dit
      0
  4. idrissess Messages postés 108 Statut Membre 12
     
    Parse error: syntax error, unexpected T_IF, expecting ',' or ';' in /opt/lampp/htdocs/maarchentreprise/apps/maarch_entreprise/class/class_business_app_tools.php on line 59
    ligne 59: if (!empty($_SERVER['HTTPS']))

    j'ai ajouté la commande echo $_SERVER['HTTPS'] avant la boucle if
    0
    1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
       
      et t'as oublié le point virgule
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Leviathan49 Messages postés 267 Statut Membre 70
     
    Ton
    if (!empty($_SERVER['HTTPS']))
    $protocol = "https";
    else
    $protocol = "http"; 
    est-il après ou avant ton premier "if" ?
    Si il est après ta variable $protocol risque quelques problème d'initialisation (php ne remontant pas le temps).
    0
  7. idrissess Messages postés 108 Statut Membre 12
     
    c'estaprés.
    bon j'ai décidé de refaire le travail sur KUBUNTU 10.04 au lieu de fedora 10 et d'installer apache2, php5 postgresql séparement avec la commande
    apt-get install unzip apache2 php5 php5-pgsql postgresql-8.3 phppgadmin
    au lieu d'utiliser l'ensemble de service XAMPP (apache,mysql;perl;php) et ça à bien marché mantenant
    merci beaucoup.
    0