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

Langage PHP Discussion :

Script PHP qui fonctionne pas correctement - besoin deuxième avis [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    dev. full stack
    Inscrit en
    Octobre 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : dev. full stack
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2016
    Messages : 69
    Par défaut Script PHP qui fonctionne pas correctement - besoin deuxième avis
    Bonjour,

    J'ai le script PHP suivant qui me pose problème.
    Au départ, je me disais que la fonction logTransfert n'était pas appelé, mais en regardant les colorations syntaxiques de mon IDE, il semblerait qu'il y a aie un décalage de {}
    Et cela s'est confirmé car je suis en mode test et je n'ai pas non plus de log dans mon fichier de log (fonction whlog)

    Nom : 2024-05-27 10_48_46-APP PHP_ basculepromdp – basculeprom.php.png
Affichages : 93
Taille : 66,1 Ko

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <?php
    require('config.cfg');
    include('DatabaseFunctions.php');
    include('tools.php');
    include('specific.php');
     
    // Recuperation du table en donnée brute dans le corps de la requête (
    $jsonData = file_get_contents('php://input');
    // Json to array
    $data = json_decode($jsonData, true);
    // Verifie si pas vide
    if ($data !== null) 
        {
        // Get data
        $env = $data['env'];
        $table = $data['tablename'];
        $treatment = $data['traitement'];
     
    	// Define database connection info per envirronement
    	$databases = array();
     
    	$databases['PROD'] = array();
    	$databases['PROD']['dbtype'] = PROD_DATABASE_DBTYPE;
    	$databases['PROD']['host'] = PROD_DATABASE_HOST;
    	$databases['PROD']['login'] = PROD_DATABASE_LOGIN;
    	$databases['PROD']['password'] = PROD_DATABASE_PASSWORD;
    	$databases['PROD']['schema'] = PROD_DATABASE_SCHEMA;
    	$databases['PROD']['sid'] = PROD_DATABASE_SID;
     
    	$databases['TEST']['dbtype'] = TEST_DATABASE_DBTYPE;
    	$databases['TEST']['host'] = TEST_DATABASE_HOST;
    	$databases['TEST']['login'] = TEST_DATABASE_LOGIN;
    	$databases['TEST']['password'] = TEST_DATABASE_PASSWORD;
    	$databases['TEST']['schema'] = TEST_DATABASE_SCHEMA;
    	$databases['TEST']['sid'] = TEST_DATABASE_SID;
     
    	// Connection to the middleware database
    	$mdwcon = mdw_connexion(MIDDLEWARE_DATABASE_LOGIN, MIDDLEWARE_DATABASE_PASSWORD, MIDDLEWARE_DATABASE_SCHEMA, MIDDLEWARE_DATABASE_HOST);
     
        if($treatment == "CMD")
            {
            switch($table)
                {
                case "status":                
                    $hostname = $data['host'];
                    $alive = $data['alive'];
     
                    $ret = true;
                    // error_log("STATUS RECEIVED from ".$hostname." at ".$alive);
                    setAlive($mdwcon, $env);
                break;
     
                case "reset":               
                    $hostname = $data['host'];
                    $alive = $data['alive'];
     
                    $ret = true;
                    // error_log("Reset command RECEIVED from ".$hostname." at ".$alive);
     
                    resetCounters($mdwcon, $env);
                break;
    			default: break;
                }
            }
     
        if($treatment == "TBL")
            {
            $dbcon = connectDatabase($databases[$env]['dbtype'], $databases[$env]['login'], $databases[$env]['password'], $databases[$env]['schema'], $databases[$env]['host'], $databases[$env]['sid']);
     
    		$testmode = $data['testmode'];
     
    		$receivedData = 0;
    		$appliedData = 0;	
     
            switch($table)
                {
                case "tblbascule_cuvevide":
                    incrementCounterReceived($mdwcon, $env);
                    $receivedData = 1;
                	$ret = true;
     
                    $query = "insert into ".$table." values(";
                    $query .= $data['lien'].", ";
                    $query .= "'".$data['date']."', '".$data['cuve']."', ".$data['justificatif'].", ";
                    $query .= $data['glal1'].", ".$data['glrt1'].", ".$data['gldta'].", ".$data['glhea'].", ".$data['gldtr'].", ".$data['glher'].")";
     
                    if( $testmode == "N" )
                        $ret = executeUpdate($query, $dbcon, $databases[$env]['dbtype']);
                    else
                        wh_log($treatment, $table, "testmode: ".$query);
     
                    if( $ret === TRUE )
    					{
    					$appliedData = 1;	
                        incrementCounterApplied($mdwcon, $env);
    					}
                    else
                        {
                        wh_log($treatment, $table, "Failed to insert to target table");
                        wh_log($treatment, $table,"query was ".$query);
                        $msg = "La requête suivante n'a pas pus être exécutée : \n\n".$query;
                        alerteMail(QUERY_EMAIL,$msg);
                        }
     
    				logTransfert($mdwcon, $env, $table, $receivedData, $appliedData);
    				do_specific($dbcon, $ret);
                break;
    			default: break;
                }
    		disconnectDatabase($databases[$env]['dbtype'],$dbcon);
            }
    	$mdwcon->close();	
        }
      else 
        {
        error_log("Invalid json");
        }
    ?>

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 327
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 327
    Billets dans le blog
    17
    Par défaut
    J'ai le script PHP suivant qui me pose problème.
    Au départ, je me disais que la fonction logTransfert n'était pas appelé
    Le problème est que logTransfert() n'est pas appelée ?
    Si oui il faut poser des marqueurs un peu partout pour vérifier l'exécution du script (ou utiliser un débogueur )

    Exemple :

    echo '[DEBUG=Appel de logTransfert()]';
    logTransfert($mdwcon, $env, $table, $receivedData, $appliedData);

    Quand je copie/colle ton script dans VS Code => Pas d'anomalie détectée

    Concernant tes accolades, tu y gagnerais en lisibilité à respecter les standards d'écriture PSR-12 => https://www.php-fig.org/psr/psr-12/#51-if-elseif-else

  3. #3
    Membre confirmé
    Homme Profil pro
    dev. full stack
    Inscrit en
    Octobre 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : dev. full stack
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2016
    Messages : 69
    Par défaut
    J'ai trouvé...

    C'est en ayant le même problème sur un autre programme que j'ai trouvé...

    C'est CON

    La valeur transmise dans $table était différente de celle testée.
    En mettant le bon nom, cela fonctionne...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/01/2022, 11h13
  2. formulaire de contact PHP qui fonctionne pas
    Par Nicodu10 dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2016, 09h47
  3. fonction php qui fonctionne pas !
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/10/2012, 13h30
  4. [AJAX] script ajax qui fonctionne pas tout le temps
    Par krfa1 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/05/2007, 11h12
  5. [SQL] Script PHP qui marche pas !
    Par Diabless6 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 12/02/2007, 16h28

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