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 :

résolution impossible d'un bug [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut résolution impossible d'un bug
    Bonjour,

    Je viens solliciter votre aide car je suis bloqué sur un problème délicat en PHP et dont j'arrive pas à résoudre .
    Avant toutes choses, j'expose les faits. j'ai repris un projet, dont je dois assurer la maintenance, l'objectif de la maintenance est simple, c'est-à-dire, permettre au webmaster de rédiger et valider des articles.
    Et pour cela mon prédécesseur, utilise à sa sauce du XML pour sauvegarder temporairement les données, pour une validation avant publication.
    Son mécanisme fonctionnait parfaitement jusqu'au jour où il est impossible au webmaster de consulter la liste des articles en attente de validation ( les fichiers existent sur le serveur mais il est impossible de les chargés, on peut modifier, complété les fichiers en question mais impossible de récupérer le contenus "format du fichier art_id.xml" ) et quant aux utilisateurs impossibles de modifier les documents ou articles bref.
    J'ai cherché du côté serveur pour savoir si cela venait pas d'une mise à jour du serveur notamment la "LibXMl" mais aucun résultat, je me suis penché alors sur le fait d'un non-accès au répertoire temporaire de validation il n'en est rien; de ce fait, j'ai pensé à tricher sur le code en forçons la récupération des données de celle-ci pareil je suis partiellement bloquer alors, si vous avez une idée une suggestion pour m'aider à résoudre ce dilmne je serais très ravie.
    Vous comprendrez que pour certaines raisons, je ne peux malheureusement pas divulguer la totalité du code sources sur le forum.
    je tiens également à dire que le domaine du web ( PHP ) n'est pas mon point fort mais, je le fais pour m'exercer et m'y intéresser davantage.

    Merci d'avance pour vos réponse et à bientôt.
    Pièces joints quelques sources partie défaillante
    Fichiers attachés Fichiers attachés
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut

    Quel est l'environnement complet d'exécution ?

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Merci pour les centaines de lignes de code mais on ne peut pas tout relire pour toi.
    Il va falloir que tu circonscrives ton problème.
    Tu nous "il est impossible de ..." ; c'est quoi "impossible" ?
    - Quel action est faite ?
    - Avec quelle élément d'interface (bouton, lien etc.) ? A quelle endroit du code se trouve cet élément ?
    - Que devrait-on obtenir suite à cette action ?
    - Qu'obtient-on actuellement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut Résolution impossible d'un bug
    le PC locale que j'utilise est un Mac et comme serveur local j'ai MAMP ( j'ai oublié de préciser le programme fonctionne très bien sur Mac)
    Apache 2.2.26 , pythons 2.7.6, Phpmyadmin 4.1.9, libxmls2 2.8.0 et Zend

    Quant à l'hébergeur je ne peux pas savoir grand-chose car ces informations sur la configuration n'ont pas été transmises mais, par déduction je sais que c'est que
    Phpmyadmin ( version antérieure à vérifier demain) libxml2 2.8.0 et deux modules Zend présent
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  5. #5
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Il faut demander à l'hébergeur l'historique récent du déploiement des mises à jour

    EDIT : PHP 5.2.x va de novembre 2006 à décembre 2010 (dire que ça date est un doux euphémisme...)

  6. #6
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut [PHP 5.2] résolution impossible d'un bug
    Bonjour à tous,
    Effectivement je n'ai pas spécifié ces détails alors voilà, il est impossible sur le serveur de production (hébergeur) par les actions que je vais énoncer plus bas de lister l'ensemble des articles en attentes de validations après création ou modification de celle-ci et qui existe bel et bien sur le serveur sous le format XML.

    Le problème vient du chargement de l'ensemble des articles disponible dans le répertoire temporaires "temps". le principe de validation de l'article est simple, au départ un membre crée sont article ou l'édite puis quand celui-ci à terminer en le validant, le contenus de son article est sauvegardés dans un fichier XML ( avec un nom défini comme tels "articles_ numero_session_encrypté_md5. XML". ) => article_3f167e6ed6dcb06bed2c68b3801fd723.xml
    voici comment est représenté le fichier XML
    Code XML : 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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <articles>
      <article1>
        <ref_categorie>4</ref_categorie>
        <titre>RBP sur la Protection personnelle anti-vectorielle</titre>
        <contenu>Le texte court au format pdf des 31 recommandations est directement accessible &agrave; partir du lien suivant (36 pages - 1,2 Mo): <a href="http://www.medecine-voyages.fr/publications/ppavtextecourt.pdf|texte court des recommandations" target="_blank">http://www.medecine-voyages.fr/publi...ecommandations</a>
        </contenu>
        <resume>La decine des Voyages (SMV) et la Soci&eacute;t&eacute; fran&ccedil;aise de Parasitologie ont coordonn&eacute; l'&eacute;laboration de ces recommandations pour la bonne pratique (RBP) concernant la protection personnelle antivectorielle. 
        </resume>
        <type_article>196610</type_article>
        <droits>1</droits>
        <ref_auteur>-1</ref_auteur>
        <id_article>188</id_article>
        <date_debut_affichage></date_debut_affichage>
        <date_fin_affichage>2147468400</date_fin_affichage>
        <date_debut></date_debut>
        <date_fin></date_fin>
        <nom_contact></nom_contact>
        <email_contact></email_contact>
        <lieux></lieux>
        <ref_inscrit>-1</ref_inscrit>
        <date_soumission>1406707558</date_soumission>
      </article1>
    </articles>

    Le webmaster n'a plus qu'à cliquer sur le lien suivi de publication qui liste tous les articles en attente de validation puis choisie une pour la validé ou pas , il a également la possibilité de le rectifier. Après cela, si l'article est publier le créateur peut également la modifier à nouveau, mais le processus recommencera, c'est-à-dire il sera à nouveau soumis à une autre validation du webmaster etc.

    Depuis, je ne sais quel incident, il est devenus impossible même après création d'un nouvel article de le lister, par déduction en peut dire que cela vient du chargement des articles en attente, mais non, car sur un poste local cela fonctionne correctement, j'ai causé un bug similaire sur la fonction qui charge la liste, j'ai obtenu le même résultat que sur le serveur de production, mais ça ne veut pas forcément dire que ça viens de là, j'ai fait des essayer afin de voire d'où peut également venir cet incident je tombe très vite sur pas mal de cas multiples et possibilités qui peuvent causer ce bug, exemple tableaux de données qui récupèrent pas les contenus et renvoie un tableau vide, impossibilité d'accès sur le article, perte de session, impossibilité de lire le fichier, etc. ( raison pour laquelle j'ai mis les fonctions essentiel en partis dans le fichier ZIP ).

    Alors pour résumé la démarche, après la connexion du webmaster sur le site il clique sur le lien "suivi de publication" dans son panneau administration, puis tombe sur une page "suivie_de_publication.php5" qui liste les publications en attente de validation, par la suite il peut cliqué sur un des nombreux articles pour sa consultation avec la possibilité d'apporté des correctifs après quoi il valide ou refuse la publication.
    Dans le cas où la publication est acceptée l'article est consultable en ligne, dans le cas contraire un courriel est automatiquement expédier à l'éditeur de l'article en lui précisant pourquoi sont article n'a pas été publier ou pas.
    le problème est le listage des articles avant validation car il n'y a rien, aucun article en attente même après création d'un article et sans cette phase, impossible de publier n'importe quels articles, on peut toujours tricher sur le procéder de validation en inscrivant directement le contenus dans la base de donnée mais là encore cela nécessite une modification en profondeur de la partie gestion des articles.

    j'espère que mon explication a apporté plus d'informations sur l'incident tout en espérons que vous pourriez éclairer ma lanterne, je vous remercie d'avance et à bientôt.
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Donc en resumé en arrivant sur la page suivie_de_publication.php5, on n'a pas la liste des articles ?

    C'est visiblement la fonction list_temporary_submit() qui est chargé de ça.
    Il faudrait la voir.
    Tu peux tout de même contrôler ce que contient $temp_data dans suivie_de_publication.php5
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut
    Oui, je peux contrôler tout ce qui se trouve dans le tableau,mais celui-ci contient aucune donnée du fichier articles, en revanche en local je récupère bien l'intégralité du contenu, c'est la même fonction sans aucune modification d'où ma déduction que le problème est ailleurs c'est pour ces raisons que j'ai remonté la filière de fichier concerné pour savoir d'où peut venir ce cas mais actuellement je n'ai aucun ide précis sur l'origine de l'incident.
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Certes mais si tu ne dissèques pas, tu n'es pas pret de trouver d’où vient le problème.
    Ca devrait d'ailleurs être tres simple de trouver la divergence dans la fonction puisque tu peux comparer deux environnements.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut [PHP 5.2] résolution impossible d'un bug
    Je suis d'accord avec toi et c'est ce qui revient à ma solution analyse, une mise à jour du coté hébergeurs qui a pu causer cet incident, car en testant l'ensemble du site en locale dans un autre environnement simulé aussi bien que sur PC où Mac il s'avère qu'il est aucune erreur, enfin sauf quelques détails minimes qui n'ont rien à avoir au problème.
    Il se peut que cela ne vienne pas d'une mise à jour, les hypothèses sont nombreuses. La Seule solution actuelle que je peux éventuellement essayer d'en appliquer est de valider les contenus sans passer par la case attente mais, là encore, il faut modifier en profondeur certains mécanismes (sans oublier que le code n'est pas vraiment commenté) ou crée un autre mécanisme de gestion et ainsi gère l'application autrement et je n'ai pas le temps nécessaire pour réaliser ce travail tant bien même que mon domaine à moi n'est pas la programmation web.
    Je me vois mal en à peine une semaine modifier très en profondeur tout un mécanisme ou certaines zones me son obscure, j'ai fait quelque fonction mais en se rend bien compte que je ne suis pas un pro du langage Php.
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as toujours pas montré la fonction concernée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut [PHP 5.2] résolution impossible d'un bug
    Bonjour voici la fonction concernée, celle qui charge les fichiers d'articles temporaires.
    Code PHP5 : 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
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
    <?php
    	/***
    	*	Include Fichier 
    	*	Articles
    	***/
    	//include("f_Articles.php");
     
    	// Retourne l'intégralité des fichiers temporaires en cours, triés par session et catégorie
    	function list_temporary_submit(session $session, $verif = true) {
     
    		// Hacking attempt
    		if (!is_membre_ca($session) && $verif) {
    			return false;
    		}
     
    		if (!$temp_dh = @opendir(TEMPORARY_DIR)) {
    			return false;
    		}
     
    		$retour = array();
    		$pattern_temp = "/^(.+)_([a-zA-Z0-9]{32})\.xml$/";
     
     
    		while (($file = readdir($temp_dh)) !== false) {
    			switch ($file) {
     
    				case "." :
    					continue;
     
    				case "..":
    					continue;
     
    				case ".htaccess":
    					continue;
    			}
     
    			$results = array();
    			if (preg_match($pattern_temp, $file, $results)) {
    				// Type de fichier temporaire
    				$type_of_file = $results[1];
     
    				// Id de session
    				$id_session = $results[2];
    				// Création d'une "fausse" session
    				$s_factice = new session_factice($id_session);
     
    				// On définit is_inscription à false si il n'existe pas déjà pour cette session
    				if (!isset($retour[$s_factice->id_session]['inscription']['is_inscription'])) {
    					$retour[$s_factice->id_session]['inscription']['is_inscription'] = false;
    					$retour[$s_factice->id_session]['inscription']['finalized'] = false;
    					$retour[$s_factice->id_session]['inscription']['pre_finalized'] = false;
    				}
     
    				// On définit article_ok à false si il n'existe pas déjà pour cette session
    				if (!isset($retour[$s_factice->id_session]['article']['finalized'])) {
    					$retour[$s_factice->id_session]['article']['finalized'] = false;
    				}
     
    				switch($type_of_file) {
     
    					// Inscription / Infos personnelles
    					case "inscrit":
     
    						$inscrit = get_inscrit($s_factice);
     
    						// Dans le cas de l'inscription, on le précise
    						if ($inscrit && !$inscrit['inscrit']['id_inscrit']) {
    							$retour[$s_factice->id_session]['inscription']['is_inscription'] = true;
    						}
     
    						$retour[$s_factice->id_session]['inscription']['inscrit'] = $inscrit;
    						break;
     
    					case "structures":
    						$retour[$s_factice->id_session]['inscription']['structures'] = get_structures($s_factice);
    						break;
     
    					case "fonctions":
    						$retour[$s_factice->id_session]['inscription']['fonctions'] = get_fonctions($s_factice);
    						break;
     
    					case "adresses":
    						$retour[$s_factice->id_session]['inscription']['adresses'] = get_adresses($s_factice);
    						break;
     
    					case "telephones":
    						$retour[$s_factice->id_session]['inscription']['telephones'] = get_telephones($s_factice);
    						break;
     
    					case "emails":
    						$retour[$s_factice->id_session]['inscription']['emails'] = get_emails($s_factice);
    						break;
     
    					case "pre_inscription_ok":
    						$retour[$s_factice->id_session]['inscription']['pre_finalized'] = true;
    						break;
     
    					case "inscription_ok":
    						$retour[$s_factice->id_session]['inscription']['finalized'] = true;
    						break;
     
    					case "adresse_principale_ok":
    						break;
     
    					case "email_principal_ok":
    						break;
     
    					case "telephone_principal_ok":
    						break;
     
    					// Articles
    					case "articles":
    						$retour[$s_factice->id_session]['article']['articles'] = get_articles($s_factice);
    						break;
     
    					// CVIs
    					case "fiche_cvi":
    						$retour[$s_factice->id_session]['cvi']['cvi'] = get_cvi($s_factice);
    						break;
    				}
    			}
    		}
     
    		return $retour;
    	}
    ?>
    La seconde est celle qui traite le résultat fourni par la fonction "list_temporary_submit(.....)".
    Comme résultat des données j'ai ça sur le serveur de production
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [709ae458cc3b6d404d1ce193b7b626ed] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [daa76cc18a5da9f6e4436ac142efb072] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [ccc45e7d231add251ab2cfb5eef34ee5] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [c34a364801b94560307f5a741eedcca6] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [a7353836a3d95cad6132c251078e1418] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [6f29536b17914a91555af60b21cbca46] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [627029e9db301915aff34ea0aece8010] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [9f15ca54df7d09b8fc6778755f794d9c] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [38ac2965ffd7c6d430eee20d3c5b0c34] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) ) [130a86456d8dac6759682a52fa18b5a0] => Array ( [inscription] => Array ( [is_inscription] => [finalized] => [pre_finalized] => ) [article] => Array ( [finalized] => ) )
    le même code sûr en locale j'obtiens ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [f50123a44d9886eae7a8749b22e9211c] => Array ( [inscription] => Array ( [is_inscription] => 1 [finalized] => [pre_finalized] => 1 [adresses] => Array ( [adresses] => Array ( [adr1] => Array ( [ref_fonction_temp] => 2 [ref_fonction] => [num_voie] => [num_voie_plus] => [type_voie] => [adresse] => Quartier Nautique [adresse2] => [CP] => **** [ville] =>****[cedex] => [BP] => [pays] => France [type_adresse] => 0 [id_adresse] => 855 [ref_structure] => [ref_inscrit] => [date_soumission] => 1403507597 ) [adr2] => Array ( [ref_fonction_temp] => 4 [ref_fonction] => [num_voie] => 45 [num_voie_plus] => [type_voie] => rue [adresse] => de Paris [adresse2] => [CP] => 9*** [ville] => Roissy**[cedex] => Cedex [BP] => BP 10** [pays] => France [type_adresse] => 0 [id_adresse] => 1865 [ref_structure] => [ref_inscrit] => [date_soumission] => 1403507597 ) [adr3] => Array ( [ref_fonction_temp] => 5 [ref_fonction] => [num_voie] => 4 [num_voie_plus] => [type_voie] => rue [adresse] => Claude **** [adresse2] => [CP] => 28*** [ville] => Le Coudray [cedex] => [BP] => [pays] => France [type_adresse] => 0 [id_adresse] => 846 [ref_structure] => [ref_inscrit] => [date_soumission] => 1403507597 ) [adr4] => Array ( [ref_fonction_temp] => 7 [ref_fonction] => [num_voie] => 5 [num_voie_plus] => [type_voie] => [adresse] => PLACE DE **** [adresse2] => [CP] => 92*** [ville] => LA **** [cedex] => CEDEX [BP] => [pays] => [type_adresse] => 3
    les * ont été mise par moi pour caché les informations
    Merci à tous à bientôt
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On a deux conditions bloquantes dés le début.
    Il faut déjà voir ce qu'elles donnent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    echo 'début';
    if (!is_membre_ca($session) && $verif) {
    			return false;
    		}
    echo 'premiere condition ok';
    		if (!$temp_dh = @opendir(TEMPORARY_DIR)) {
    			return false;
    		}
    echo 'deuxième condition ok';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut [PHP 5.2] résolution impossible d'un bug
    j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    début
    première passe
    deuxième passe
    donc je présume que ce sont ces fonction qui bloque ?
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non au contraire cela veut dire que les conditions sont bien passées.

    On peut continuer le debug sur la suite, toujours simplement en ajoutant des echo aux points stratégiques :
    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
    while (($file = readdir($temp_dh)) !== false) {
                  echo $file . '<br/>';
    			switch ($file) {
     
    				case "." :
    					continue;
     
    				case "..":
    					continue;
     
    				case ".htaccess":
    					continue;
    			}
     
    			$results = array();
    			if (preg_match($pattern_temp, $file, $results)) {
                               echo 'pattern valide<br/>'
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut [PHP 5.2] résolution impossible d'un bug
    Ok, je vois
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  17. #17
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut [PHP 5.2] résolution impossible d'un bug
    il liste bien l'ensemble du répertoire
    et m'affiche patern valide
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  18. #18
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut
    J'ai essaye de faire à petit feu mais RAS ça me semble OK
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var_dump($retour);
    return $retour;
    ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut
    Je connais pas cette fonction mais comme résultat j'ai que des false et quelque true
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array(1583) { ["709ae458cc3b6d404d1ce193b7b626ed"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["daa76cc18a5da9f6e4436ac142efb072"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["ccc45e7d231add251ab2cfb5eef34ee5"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["c34a364801b94560307f5a741eedcca6"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["a7353836a3d95cad6132c251078e1418"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["6f29536b17914a91555af60b21cbca46"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["627029e9db301915aff34ea0aece8010"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["9f15ca54df7d09b8fc6778755f794d9c"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["38ac2965ffd7c6d430eee20d3c5b0c34"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["130a86456d8dac6759682a52fa18b5a0"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["2959cc0125355aae78736f73212ed52b"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["f52d94bce9f795832d1f480ae82976ed"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["62c4d71d2b9db0d37655cf9bedee65fa"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["0e4a32ebeb5ff04fb2d7ca7cd925c685"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["a9a0f67f269dbaf15d84fab7ce7e0149"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["afa4be4d46d0a326a7c64c5ab57cebef"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["e6f1800ae513bc829d9794e278c5015c"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["470c01970be369ebf0bce31834393ce4"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false) ["pre_finalized"]=> bool(false) } ["article"]=> array(1) { ["finalized"]=> bool(false) } } ["4f04ca5c36e52369d94a317190bf68be"]=> array(2) { ["inscription"]=> array(3) { ["is_inscription"]=> bool(false) ["finalized"]=> bool(false)
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VB6] Bug d'une appli (ou "Impossible n'est pas français")
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 09/06/2006, 13h45
  2. Réponses: 3
    Dernier message: 06/05/2006, 21h01
  3. FB: DB vide, impossible de connecter : Bug ou Pas Bug ?
    Par Rica dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 14/05/2005, 12h15
  4. Réponses: 4
    Dernier message: 25/08/2003, 10h02

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