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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Wamp plus restrictif que le WEB


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2018
    Messages : 42
    Par défaut Wamp plus restrictif que le WEB
    Bonjour,

    J'ai constaté que pour exactement un même script WAMP plante alors que le script s'exécute sans problème sur le WEB (script déposé par FileZilla sur le serveur)
    Le cas sur lequel ça plante comporte des variables de session qui ne sont pas toujours renseignées selon le cas à traiter.

    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
    <?php
     
    session_start();
     
    //Création des données de session relative au calcul du centrage en vol
     
    	//mise des données en variables de session:
     
    	$_SESSION['date']=$_POST['date'];
    	$_SESSION['Mp']=$_POST['Mp'];
    	$_SESSION['Mpass']=$_POST['Mpass'];	
    	$_SESSION['Mwb']=$_POST['Mwb'];
    	$_SESSION['Mbg']=$_POST['Mbg'];
    	$_SESSION['Qcarb']=$_POST['Qcarb'];	
    	$_SESSION['NombreGueuses']=$_POST['NombreGueuses'];
    	$_SESSION['MlestArr']=$_POST['MlestArr'];
    	$_SESSION['MwbQ']=$_POST['MwbQ'];	
     
    	if($_SESSION['NbMbresEquip']==1 AND $_SESSION['PresenceWbAile']==1 AND $_SESSION['AjustBrasLevEquip']==0 AND $_SESSION['PresenceBallSupp']==0)
    	{
     
    	header('Location: ficheCalculCentrageVolEssai1100.php');	
    	}
    //......
    	else
    	{	
    	header('Location: ficheCalculCentrageVolEssai.php');
    	}
    ?>
    Les messages d'erreur renvoyés par WAMP sont:
    ( ! ) Notice: Undefined index: Mpass in C:\wamp\www\CENTRAGEPLANEUR TRANSITION\peseePesPlan\saisieParametresVolPlaneur_post.php on line 11
    Call Stack
    # Time Memory Function Location
    1 0.0006 150264 {main}( ) ..\saisieParametresVolPlaneur_post.php:0

    ( ! ) Notice: Undefined index: Mwb in C:\wamp\www\CENTRAGEPLANEUR TRANSITION\peseePesPlan\saisieParametresVolPlaneur_post.php on line 12
    Call Stack
    # Time Memory Function Location
    1 0.0006 150264 {main}( ) ..\saisieParametresVolPlaneur_post.php:0

    .....................

    ( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\CENTRAGEPLANEUR TRANSITION\peseePesPlan\saisieParametresVolPlaneur_post.php:16) in C:\wamp\www\CENTRAGEPLANEUR TRANSITION\peseePesPlan\saisieParametresVolPlaneur_post.php on line 26
    Call Stack
    # Time Memory Function Location
    1 0.0006 150264 {main}( ) ..\saisieParametresVolPlaneur_post.php:0
    2 0.0322 153848 header ( ) ..\saisieParametresVolPlaneur_post.php:26
    Problème de paramétrage de WAMP? J'avoue ne rien comprendre

    Captainchristian

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tes messages d'erreur sont des Notices, autrement dit des messages d'informations. Il est probable que Wamp soit configuré en mode "afficher tout" error_reporting=E_ALL (ce qui est une bonne configuration pour un environnement de développement), alors que le serveur de ton hébergeur doit avoir la configuration par défaut error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED qui n'affiche pas les messages d'informations (ce qui est une bonne configuration pour un environnement de production)

    Cela dit, pour bien faire, il faut corriger tous les messages y compris les notices car elles peuvent être le symptôme d'un plus gros problème.
    En l'occurrence, tu n'as pas d'index Mpass et Mwb dans ton tableau $_POST, autrement dit pas de champs qui portent ce nom dans ton formulaire. A toi de vérifier si c'est normal. Si c'est normal, tu peux gérer le cas en utilisant la fonction empty.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre expérimenté
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2014
    Messages : 458
    Par défaut
    On peut ajouter qu'il est fort possible que dans le php.ini du site web, la directive display_errors soit sur off, ce qui fait qu'aucune erreur ne sera affichée, indépendamment de error_reporting.
    Dans la notice PHP, et même dans le fichier ini de wamp, il est bien signalé :
    Note : C'est une directive nécessaire en développement mais qui ne doit jamais être utilisée sur un système en production
    Si le développeur ne sait pas accéder à son php.ini, il peut toujours utiliser la fonction phpinfo() qui donne toutes les infos sur PHP.
    Je sais, c'est basique, mais la question l'est aussi.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2018
    Messages : 42
    Par défaut WAMP plus restrictif que le web
    J'ai appliqué l'instruction empty() comme suggéré de la manière suivante:
    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
    	//mise des données en variables de session:
     
    	$_SESSION['date']=$_POST['date'];
    	$_SESSION['Mp']=$_POST['Mp'];
    //	$_SESSION['Mpass']=$_POST['Mpass'];	
    	if(empty($_POST['Mpass']))
    	{$_SESSION['Mpass']=0;}
    	else
    	{$_SESSION['Mpass']=$_POST['Mpass'];}
    //	$_SESSION['Mwb']=$_POST['Mwb'];
    	if(empty($_POST['Mwb']))
    	{$_SESSION['Mwb']=0;}
    	else
    	{$_SESSION['Mwb']=$_POST['Mwb'];}	
    	$_SESSION['Mbg']=$_POST['Mbg'];
    //	$_SESSION['Qcarb']=$_POST['Qcarb'];
    	if(empty($_POST['Qcarb']))
    	{$_SESSION['Qcarb']=0;}
    	else
    	{$_SESSION['Qcarb']=$_POST['Qcarb'];}	
    	$_SESSION['NombreGueuses']=$_POST['NombreGueuses'];
    //	$_SESSION['MlestArr']=$_POST['MlestArr'];
    	if(empty($_POST['MlestArr']))
    	{$_SESSION['MlestArr']=0;}
    	else
    	{$_SESSION['MlestArr']=$_POST['MlestArr'];}	
    //	$_SESSION['MwbQ']=$_POST['MwbQ'];
    	if(empty($_POST['MwbQ']))
    	{$_SESSION['MwbQ']=0;}
    	else
    	{$_SESSION['MwbQ']=$_POST['MwbQ'];}
    es résultats montrent pour l'instant que la solution serait la bonne...
    Par ailleurs, j'ai constaté dans le php.ini de mon WAMP que le réglage est bien sur: error_reporting=E_ALL
    Merci de vos lumières
    Captainchristian

Discussions similaires

  1. Réponses: 30
    Dernier message: 20/07/2009, 15h35
  2. Réponses: 0
    Dernier message: 16/07/2009, 16h49
  3. Réponses: 4
    Dernier message: 02/10/2008, 20h20
  4. Réponses: 1
    Dernier message: 03/04/2008, 01h34

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