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 :

[Tableaux] Comment débogguer un code PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut [Tableaux] Comment débogguer un code PHP
    Bonjour,

    J'ai ce code ci
    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
     
    ...
    if ($_POST[PJour]==1)  // si calendrier mise à jour le 1er jour
    	{
    	    CreationCalendrier($_POST[CodeMois], $_POST[PJour], $mjour, $Libelle);
    	}
    	else // si calendrier mise à jour au x jour > 1 
    	{
    	 	// recherche du nombre de jour à reculer
    		for ($i=1;$i<$_POST[PJour];$i++)
    		{
    		 	$NbreRemote=$NbreRemote+1;
    		}
    		// recherche du libellé jour grégorien correspondant au 1er jour H
    		$JourDebut=$mjour-$NbreRemote;
    		$LibJourPrec=$Libelle;
     
    		for ($jp=$_POST[PJour];$jp=$JourDebut;$jp--)
    		{
    		 	$Trouver=mysql_fetch_array(mysql_query("Select * From hjour Where JourSuivant='$LibJourPrec'"));
    	 		$LibJourPrec=$Trouver['LibelleJour'];
    		}
    		CreationCalendrier($_POST[CodeMois], 1, $JourDebut, $LibJourPrec);
    	}
    ...
    Lorsque ma variable $_POST[PJour] vaut 1 tout se passe bien.
    Mais quand je rentres dans la partie Else, j'ai mon hourglass qui tourne en rond comme si je suis dans un boucle infini ou que j'ai un plantage. Non seulement je ne change pas de page mais rien ne se passe.

    Je voudrais savoir d'abord si mon code est correcte. Ensuite est ce qu'il existe un moyen d'exécuter le code pas à pas pour voir ce qui se passe.

    Merci

  2. #2
    Membre confirmé Avatar de kivan666
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 242
    Par défaut
    cast la variable POST dans un int :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nbjour=(int)$_POST['PJour'];
    avant de faire ton for, ca vient peut-être de la.
    en effet si ton POST est de type alphanumérique il est possible que cela empeche sa comparaison avec ton $i

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    J'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ...
    else // si calendrier mise à jour au x jour > 1 
    	{
    	 	// recherche du nombre de jour à reculer
    		$nbjour=(int)$_POST['PJour'];
    		for ($i=1;$i<$nbjour;$i++)
    		{
    		 	$NbreRemote=$NbreRemote+1;
    		}
    Mais j'ai le même comportement.

  4. #4
    Membre confirmé Avatar de kivan666
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 242
    Par défaut
    bah pour débugger qu'une seule solution... fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "$i<$nbjour";
    dans ta boucle for et tu verras bien pourquoi cela tourne dans le vide...

  5. #5
    Membre confirmé Avatar de kivan666
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 242
    Par défaut
    enfin reflexion faite c'est ta deuxième boucle qui doit bugger, mais j'ai du mal à saisir ce que tu essaye d'y faire...

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Un problème vient de la syntaxe de tes variables, il faudrait écrire $_POST['PJour'] et non $_POST[PJour]

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    Citation Envoyé par kivan666
    bah pour débugger qu'une seule solution... fait un
    echo "$i<$nbjour";
    dans ta boucle for et tu verras bien pourquoi cela tourne dans le vide...
    Je veux bien le mettre mais puisque je ne soit même pas de la page en cours, je ne verrais rien du tout !

    c'est ta deuxième boucle qui doit bugger, mais j'ai du mal à saisir ce que tu essaye d'y faire...
    Eh bien pour comprendre prenons jour d'aujourdhui qui est Lundi. Si je recule de 5 jours, cette deuxieme boucle me permet de retrouve le jour correspondant. voila ce que fait cette boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    soit VarJour='Lundi'
    Pour j=5 a 1 pas -1
           VarJour=RechercheJour Précedent(VarJour)
    Fin pour
    Voila. J'espères que c'est clair maintenant.

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

Discussions similaires

  1. Dans une fonction JAVASCRIPT, comment utilser du code php ?
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 10/06/2009, 08h12
  2. Réponses: 12
    Dernier message: 09/06/2009, 10h26
  3. Comment vérifier un code PHP avec beaucoup de conditions ?
    Par Gunner4902 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 03/07/2008, 14h53
  4. Comment générer du code php?
    Par developper2006 dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2007, 09h42
  5. [MySQL] Comment appeler du code PHP par requête
    Par mickdu90 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 19/04/2006, 10h55

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