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 :

print_r et header qui ne marchent pas.


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut print_r et header qui ne marchent pas.
    Mon print_r($pers) et mon header juste derrière ne marchent pas.... Pouvez vous m'aider merci.
    L'appli se lance mais n'affiche rien et continue à avancer, en mode debug d'eclipse.

    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
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    <?php
    include_once('ControllerAll.php');
    include_once('getPersons.php');
     
    class ControllerGetPersons extends ControllerAll{
     
     
    	public static function PostToHostSSL($host, $path, $data_to_send, $port=443, $methode)
    	{
     
    	   $user="*****";
    	   $passwd="*****";
    	   #$user="*****";
    	   #$passwd="*****";
     
    	        $res = "";
    	        $fp = fsockopen("ssl://".$host, $port, $errno, $errstr);
    	        if (!$fp)
    	        {
    	                echo "<B>Error $errno</B>: $errstr";
    	        }
    	        else
    	        {
    	                fputs($fp, "$methode $path HTTPS/1.0\r\n");
    	                fputs($fp, "Host: $host\r\n");
    	                fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    	                fputs($fp, "Content-length: ".strlen($data_to_send)."\r\n");
    	                fputs($fp, "Accept: */*\r\n");
    			fputs($fp, "Authorization: Basic ".base64_encode($user.":".$passwd)."\r\n");
    	                fputs($fp, "\r\n");
    	                fputs($fp, $data_to_send."\r\n");
    	                fputs($fp, "\r\n");
     
     
    	                 $headers = "";
    	                while ($str = trim(fgets($fp, 4096))) {
    	                        $headers .= "$str\n";
    	                }
    	                echo $headers."\n";
     
     
    	                $body = "";
    	                while (!feof($fp)) {
    	                        $body .= fgets($fp, 4096);
    	                      	$tableauRes=explode(";", $body);   
    	                }
    	                $tailleTableau=count($tableauRes);
     
     
     
    	                $i=0;
    	                 $j=1;
    	                 $k=2;
    	                 $l=3;
    	                 $m=4;
    	                 $n=5;
    	                 $o=6;
    	                 $p=7;
    	                 $q=8;
    	                 $r=9;
    	                 $s=10;
     
    	                 $p=new getPersons();
    	                 $p->setAttr('uidper','');
    					   $p->setAttr('pcod','');
    					   $p->setAttr('pnam', '');
    					   $p->setAttr('pfsn', '');
    					   $p->setAttr('uidveh','');
    					   $p->setAttr('vcod', '');
    					   $p->setAttr('vdes', '');
    					   $p->setAttr('vreg','');
    					   $p->setAttr('vint', '');
    					   $p->setAttr('elng', '');
    					   $p->setAttr('esht','');
    	                 	$p->insert();
     
    	                while($s<=$tailleTableau){
    	                	$pers = new getPersons();
    					   $pers->setAttr('uidper',intval($tableauRes[$i]));
    					   $pers->setAttr('pcod', $tableauRes[$j]);
    					   $pers->setAttr('pnam', $tableauRes[$k]);
    					   $pers->setAttr('pfsn', $tableauRes[$l]);
    					   $pers->setAttr('uidveh',$tableauRes[$m]);
    					   $pers->setAttr('vcod', $tableauRes[$n]);
    					   $pers->setAttr('vdes', $tableauRes[$o]);
    					   $pers->setAttr('vreg', $tableauRes[$p]);
    					   $pers->setAttr('vint', $tableauRes[$q]);
    					   $pers->setAttr('elng', $tableauRes[$r]);
    					   $pers->setAttr('esht', $tableauRes[$s]);
     
    					 $i+=11;
    		             $j+=11;
    		             $k+=11;
    		             $l+=11;
    		             $m+=11;
    		             $n+=11;
    		             $o+=11;
    		             $p+=11;
    		             $q+=11;
    		             $r+=11;
    		             $s+=11;
    		             print_r($pers);
    	   				header('Location:tpl_selectionCentre.php');
    		   			$pers->setAttr('idCentre',idCentre);
     
    				   $pers->insert();
     
    	                }
     
     
    	                $res = $body;
    	                fclose($fp);
     
    	        }
     
     
    	}
     
     
     
    	public function execute(){
     
    		$data="ext=csv\n"; #html, csv, xml, txt
    		ControllerGetPersons::PostToHostSSL(********************.php',$data, $port=443, "GET");
    		 header('Location:tpl_MajOk.php'); 
    	}
    	
    }

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    C'est normal, tu ne peux pas changer les en-têtes HTTP (ce que tu essaies de faire avec header( )) après avoir envoyé le corps de la réponse (ce que tu fais avec print_r( )).

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Entendu, mais alors comment afficher à l'utilisateur les valeurs des attributs de l'objet Personne qui sont initialisés?

    Ceci dans le but de permettre à l'utilisateur de faire un choix parmis des valeurs dans un menu déroulant (type formulaire codé en html. Les valeurs sont issues d'une requete SQL ) afin d'initialiser la derniere variable de Personne avec la valeur selectionnée dans le menu deroulant.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Entendu, mais alors comment afficher à l'utilisateur les valeurs des attributs de l'objet Personne qui sont initialisés?
    Tu affiches les valeurs + un lien pour que l'utilisateur continue la nav quand il le souhaite
    Ou
    Tu rediriges vers la page suivante et affiches les valeurs dans cette page

  5. #5
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Mais si je laisse uniquement le print_r et que j'enleve les header cela ne marche toujours pas.

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Quel est le message d'erreur ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Aucun message d'erreur. Le programme continue à tourner. En debug, avec point d'arrêt il passe sur la ligne du print_r et passe à la suivante sans rien afficher.

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Je ne connaîs pas le mode debug et ses implications.
    Essaie un débugage classique.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Le programme continue la suite de son execution, sans rien afficher.

  10. #10
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //print_r($pers);
    var_dump($pers);
    exit('(debug)') ;
    header('Location:tpl_selectionCentre.php');

  11. #11
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Au niveau de l'exit debug il m'arrete le programme.

  12. #12
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Smallstone Voir le message
    Au niveau de l'exit debug il m'arrete le programme.
    Et le var_dump( ) donne quoi ?

  13. #13
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Rien il n'execute pas. Il passe la ligne et c'est tout .

  14. #14
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    var_dump( ) devrait au moins afficher NULL.
    Remontre ton script après les modifs apportées.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    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
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
     
     
     
    <?php
     
     
    include_once('ControllerAll.php');
    include_once('getPersons.php');
     
    class ControllerGetPersons extends ControllerAll{
     
     
     
    	public static function PostToHostSSL($host, $path, $data_to_send, $port=443, $methode)
    	{
     
    	   $user="*********";
    	   $passwd="*********";
    	   #$user="**************";
    	   #$passwd="*************";
     
     
     
    	        $res = "";
    	        $fp = fsockopen("ssl://".$host, $port, $errno, $errstr);
    	        if (!$fp)
    	        {
    	                echo "<B>Error $errno</B>: $errstr";
    	        }
    	        else
    	        {
    	                fputs($fp, "$methode $path HTTPS/1.0\r\n");
    	                fputs($fp, "Host: $host\r\n");
    	                fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    	                fputs($fp, "Content-length: ".strlen($data_to_send)."\r\n");
    	                fputs($fp, "Accept: */*\r\n");
    			fputs($fp, "Authorization: Basic ".base64_encode($user.":".$passwd)."\r\n");
    	                fputs($fp, "\r\n");
    	                fputs($fp, $data_to_send."\r\n");
    	                fputs($fp, "\r\n");
     
     
    	                 $headers = "";
    	                while ($str = trim(fgets($fp, 4096))) {
    	                        $headers .= "$str\n";
    	                }
    	                echo $headers."\n";
     
     
    	                $body = "";
    	                while (!feof($fp)) {
    	                        $body .= fgets($fp, 4096);
    	                      	$tableauRes=explode(";", $body);   
    	                }
    	                $tailleTableau=count($tableauRes);
     
    	               echo "test1bis"; 
     
    	                $i=0;
    	                 $j=1;
    	                 $k=2;
    	                 $l=3;
    	                 $m=4;
    	                 $n=5;
    	                 $o=6;
    	                 $p=7;
    	                 $q=8;
    	                 $r=9;
    	                 $s=10;
     
    	                 $p=new getPersons();
    	                 $p->setAttr('uidper','');
    					   $p->setAttr('pcod','');
    					   $p->setAttr('pnam', '');
    					   $p->setAttr('pfsn', '');
    					   $p->setAttr('uidveh','');
    					   $p->setAttr('vcod', '');
    					   $p->setAttr('vdes', '');
    					   $p->setAttr('vreg','');
    					   $p->setAttr('vint', '');
    					   $p->setAttr('elng', '');
    					   $p->setAttr('esht','');
    	                 	$p->insert();
     
    	                 	 echo "test2";
    	                while($s<=$tailleTableau){
    	                	$pers = new getPersons();
    					   $pers->setAttr('uidper',intval($tableauRes[$i]));
    					   $pers->setAttr('pcod', $tableauRes[$j]);
    					   $pers->setAttr('pnam', $tableauRes[$k]);
    					   $pers->setAttr('pfsn', $tableauRes[$l]);
    					   $pers->setAttr('uidveh',$tableauRes[$m]);
    					   $pers->setAttr('vcod', $tableauRes[$n]);
    					   $pers->setAttr('vdes', $tableauRes[$o]);
    					   $pers->setAttr('vreg', $tableauRes[$p]);
    					   $pers->setAttr('vint', $tableauRes[$q]);
    					   $pers->setAttr('elng', $tableauRes[$r]);
    					   $pers->setAttr('esht', $tableauRes[$s]);
     
    					 $i+=11;
    		             $j+=11;
    		             $k+=11;
    		             $l+=11;
    		             $m+=11;
    		             $n+=11;
    		             $o+=11;
    		             $p+=11;
    		             $q+=11;
    		             $r+=11;
    		             $s+=11;
    		             //print_r($pers);
     
    		             echo "test3";
    					var_dump($pers);
    					exit('(debug)') ;
     
    					$pers->setAttr('idCentre',idCentre);
     
    				   $pers->insert();
     
    	                }
     
     
    	                $res = $body;
    	                fclose($fp);
     
    	        }
     
     
    	}
     
     
    	public function execute(){
     
    		$data="ext=csv\n"; #html, csv, xml, txt
    		ControllerGetPersons::PostToHostSSL(****************',****************,$data, $port=443, "GET");
    		 //header('Location:tpl_MajOk.php'); 
    	}
    	
    }

  16. #16
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Ceci ne t'affiche pas (debug) mais rien du tout ?

  17. #17
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    ni debug, ni mon echo "test3" rien du tout.

  18. #18
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Cela veut dire que tu ne rentres pas (plus ?!) dans le :

    while($s<=$tailleTableau){

    Vérifie les valeurs de $s et $tailleTableau.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Si je rentre bien dans le while et mes premiers attributs sont initialisés aux bonnes valeurs ils ne sont plus à null et les valeurs sont coherentes. L'interpretation des commandes s'arrêtent juste à ce niveau, quelque soient ces dernières. On a pensé à recompter le nombre de parenthèses dans le cas où Eclipse n'afficherait pas cette erreur, mais il y a bien le bon nombre de parentheses ouvrantes et fermantes.

  20. #20
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 266
    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 266
    Points : 8 564
    Points
    8 564
    Billets dans le blog
    17
    Par défaut
    Bon, pour récapituler, le programme s'arrête au exit
    Mais aucun affichage
    C'est ça ?

    Et si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    exit('(débug haut de fichier)') ;
     
    include_once('ControllerAll.php');
    include_once('getPersons.php');
     
    class ControllerGetPersons extends ControllerAll{
    Qu'obtiens-tu ? Vérifie bien dans la source HTML de la page pour être sûr qu'une balise HTML mal formée ou un mauvais CSS ne cache pas le debug.

Discussions similaires

  1. [PHP-JS] header() qui ne fonctionne pas
    Par Panther dans le forum Langage
    Réponses: 17
    Dernier message: 18/04/2007, 08h42
  2. [Cookies] Redirection Header qui ne fonctionne pas
    Par arnaudperfect dans le forum Langage
    Réponses: 10
    Dernier message: 20/03/2007, 10h19
  3. Listes imbriquées qui ne marchent pas
    Par Faboul dans le forum Access
    Réponses: 16
    Dernier message: 26/01/2007, 11h45
  4. fonction header qui ne redirige pas
    Par cels dans le forum Langage
    Réponses: 8
    Dernier message: 01/11/2006, 11h12
  5. Réponses: 4
    Dernier message: 01/10/2005, 14h52

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