Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Hébergement > OVH
OVH Forum de support pour vos questions techniques sur votre hébergement OVH
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/06/2008, 16h20   #1
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
Par défaut OVH et php.ini

Bonjour a tous, j'viens de mettre en ligne un site qui est heberger chez OVH sur une offre 60gp, mais toute les partie de mon site ou il y a des variables de Session ne fonctionne pas, donc je suppose qu'il faut que je moddifie le fichier php.ini du serveur pour activer les session, mais je ne le trouve pas...


Quelqu'un aurai une idée ou il peux se situer?


Merci d'avance!!!
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 17h12   #2
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
J'viens d'envoyer un mail au service technique de OVH:

Bonjour, je viens de mettre en ligne mon site sur votre serveur, mais toute les parties ou j'utilise des variables de session ne fonctione pas.
>
> Je suppose qu'il faut que je modifie le fichier php.inu comme sur mon serveur local, mais je ne trouve pas ce fichier sur votre interface utilisateur.
>
>
> Pouriez vous m'indiquez ou je peux aller modifier ce fichier pour palier a mon probleme avec mes variables de session.
>
>
> Merci d'avance.



Et leur reponse:


Bonjour,

Il vous est impossible de modifier le fichier php.ini sur un hébergement mutualisé.
Vous pouvez modifier certaines directives du php.ini en passant par des .htaccess ou par la fonction PHP ini_set().




Personnelment ca ne m'aide pas trop, mais au moin je sais que je ne peux pas modifier le php.ini.


J'ai jamais utilisée la fonction PHP ini_set() ni créer de fichier .htacces, quelqu'un pourai m'aiguiller sur la meilleur facon de regler mon probleme de variable de session avec une des deux methodes????




Merci d'avance!!!
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 19h44   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 313
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 313
Points : 8 596
Points : 8 596
As-tu créé le répertoire sessions ? Il faut un répertoire sessions pour que PHP puisse créer ses fichiers de session.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 15h21   #4
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
Euh non, je t'avourai que je ne sais meme s'que c'est et a quoi sa sert, pourai tu m'aiguiller?


Et merci d'avoir deplacé mon post!!!
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 17h09   #5
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 313
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 313
Points : 8 596
Points : 8 596
OK. On va commencer par le commencement : peux-tu décrire précisemment le problème ? Un simple "toute les partie de mon site ou il y a des variables de Session ne fonctionne pas" n'est pas très explicite, donc y a-t-il des messages d'erreurs qui s'affichent à l'écran, comportement observé, etc.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 18h29   #6
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
J'vais commencer par le debut...

Quand un de mes membres s'authentifie sur le formulaire d'authentification il recois sa comme message: Warning: Cannot modify header information - headers already sent by (output started at /home.10.18/artkateo/www/pages/corine.php:2) in /home.10.18/artkateo/www/pages/secure.php on line 8

Si je comprend bien c'est mon include de ma page corine.php qui apel le script secure.php qui merdouille.

Je met les deux pages dont il dit qu'il y a une erreur et mon script que j'utilise pour l'authentification.


La page corine.php:

Code :
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
<!--verification de l'authentification-->
<?php include 'secure.php'?>
<!--verification des droits-->
<?php include 'droit.php'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Administration de Corine</title>
<link href="../css/page.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="conteneur_admin">

									<!--Choix de l'action de l'	administrateur-->

              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('n_membre.php')"/>
              
               
              <input name="Submit" type="submit" class="bouton4" value="ici" 
              onClick="self.location.href=('select_delete_membre.php')"/>	
              			
                
              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('actualite.php')"/>
              
                
          	  <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('select_manif.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('edit_photo_membre.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('action_galerie.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" 
              onClick="self.location.href=('modif_img_membre_profil.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" 
              onClick="self.location.href=('edit_membre.php')"/>
</div>


</body>
</html>
La page secure.php:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 

/*Verifie si la personne est authentifiée*/

		
	if (!isset($_SESSION['nom'])) {

	header("Location: http://www.art-kateo.fr/pages/auth.php");
    
    	exit();
    
    }
?>

Mon script d'authentification:


Code :
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
case "verification" :
	
	
/*Initialise la session*/
			
			session_start();
			
/*Connection a la BDD*/
			
require_once('connec_bdd.php');
			
			
		/*Verifie si il y a quelque chose dans les variables POST*/
			
				
				if(isset($_POST['nom']) and isset($_POST['motdepasse']))
				
		{  
					
		/*Transfert les données des variables POST dans des variables*/
					
				$pseudo=mysql_real_escape_string($_POST['nom']);
						
				$motdepasse=md5($_POST['motdepasse']);
						
		/*recupere toute les champs de l'utlisateur*/
						
				$requete = "SELECT * FROM utilisateur WHERE nom = '$pseudo' AND pass = '$motdepasse'";
				
				
				$result = mysql_query($requete) or die(mysql_error());
				
						
		/*initialise la varible a false*/
						
				$row=false;
						
		/* si row est egale a true alors il transfert les informations dans les variables de sessions*/
						
				if ($row = mysql_fetch_array($result)) {
				
					$_SESSION['id_user']=$row['id_user'];
					$_SESSION['nom']=$row['nom'];
					$_SESSION['texte']=$row['texte'];
					$_SESSION['texte2']=$row['texte2'];
					$_SESSION['statut']=$row['statut'];	
					$_SESSION['droit']=$row['droit'];	
					
					
		/* si le nom de l'utilisteur est egale a celui de l'admin il est rediriger vers sa partie spécifique*/
				
				if ($pseudo == 'Corine Keiflin')
				
			{
				
		/*attribution d'un nouveau numéro de session*/
						
				session_regenerate_id();
						
					header("Location: http://www.art-kateo.fr/pages/corine.php");
						
			}
				 
		else
					
		/*Sinon le redirection vers la partie membre*/
					
			{
					
				session_regenerate_id();
					
					header("Location: http://www.art-kateo.fr/pages/action_membre.php");
				
			}			
					
			}
						
					
		/*si il le tableau est a FALSE (vide)*/
					
					
			}
			
				if(!$row)
				
			{
			
				header("Location: http://www.art-kateo.fr/pages/redirect_auth.php");
				
		 		
			}
			
				break;
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 21h32   #7
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 313
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 313
Points : 8 596
Points : 8 596
C'est pas qu'il merdouille comme tu dis, c'est que tu le fais trop tard : faut le faire avant la première ligne de code HTML et <!--verification de l'authentification--> en est une. Donc vire tes 2 lignes de commentaire en haut du fichier :
Code :
1
2
3
4
5
<?php
include 'secure.php';
include 'droit.php';
?>
<!DOCTYPE ...
Une petite recherche sur Google avec le message d'erreur "Warning: Cannot modify header information - headers already sent" t'aurais fait gagner 2 jours
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 16h14   #8
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
J'avais pas penser a faire ma recherche comme sa, effectivment sa fonctionne mieux, j'pensais pas que des commentaires html pouvais jouer, vu quand plus je n'avais aucun souci en local....


Par contre tout les endroit ou j'utilise des variables de session ne fonctionne pas, il n'y a rien qui s'affiche...

J'ai regarder comment fonctionne un répertoire de sessions, mais je t'avou que j'ai pas tres bien saisie comment sa fonctionne, par exemple ou je dois le placer (ex: dans mon dossier page?) si dans mon traitement d'authentification je dois lui préciser quelque chose....


Si queqlu'un pourrai m'éclairer, se serai sympa....
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 16h20   #9
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 313
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 313
Points : 8 596
Points : 8 596
Laisse tomber à propos du répertoire de session : je crois qu'il n'y a pas besoin de le créer, contrairement à Free.

Tu peux nous montrer le code d'une page là où ça marche pas, comme tu dis ? En haut (exactement comme tu l'as fait pour ta page corine.php) de chacune des pages où tu veux utiliser des variables de session, il faut appeler la fonction session_start().
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 18h17   #10
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
Je savais pas qu'il fallait mettre sur chaque pages session_start() la ou on utilise des variables de session, je pensait qu'une fois suffisait et sa gardait tous en memoire, du moi en local je n'avais besoin de le lancer qu'a l'authentification...


Comme quoi...


Je l'ai mi sur toute mes pages d'administration, mais sa ne change rien, j'ai fait des echo des variables de session pour voir si il y avait quelque chose dedans, mais il n'y a rien....

J'vous met mon script d'authentification, la ou je recupere les infos de l'utilisateur et apres les pages par ou il passe pour editer son profil.

Authentification:

Code :
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
case "verification" :
	
/*Initialise la session*/
			
			session_start();
			
/*Connection a la BDD*/
			
require_once('connec_bdd.php');
			
			
		/*Verifie si il y a quelque chose dans les variables POST*/
			
				
				if(isset($_POST['nom']) and isset($_POST['motdepasse']))
				
		{  
					
		/*Transfert les données des variables POST dans des variables*/
					
				$pseudo=mysql_real_escape_string($_POST['nom']);
						
				$motdepasse=md5($_POST['motdepasse']);
						
		/*recupere toute les champs de l'utlisateur*/
						
				$requete = "SELECT * FROM utilisateur WHERE nom = '$pseudo' AND pass = '$motdepasse'";
				
				
				$result = mysql_query($requete) or die(mysql_error());
				
						
		/*initialise la varible a false*/
						
				$row=false;
						
		/* si row est egale a true alors il transfert les informations dans les variables de sessions*/
						
				if ($row = mysql_fetch_array($result)) {
				
					$_SESSION['id_user']=$row['id_user'];
					$_SESSION['nom']=$row['nom'];
					$_SESSION['texte']=$row['texte'];
					$_SESSION['texte2']=$row['texte2'];
					$_SESSION['statut']=$row['statut'];	
					$_SESSION['droit']=$row['droit'];	
					
					
		/* si le nom de l'utilisteur est egale a celui de l'admin il est rediriger vers sa partie spécifique*/
				
				if ($pseudo == 'Corine Keiflin')
				
			{
				
		/*attribution d'un nouveau numéro de session*/
						
				session_regenerate_id();
						
					header("Location: http://www.art-kateo.fr/pages/corine.php");
						
			}
				 
		else
					
		/*Sinon le redirection vers la partie membre*/
					
			{
					
				session_regenerate_id();
					
					header("Location: http://www.art-kateo.fr/pages/action_membre.php");
				
			}			
					
			}
						
					
		/*si il le tableau est a FALSE (vide)*/
					
					
			}
			
				if(!$row)
				
			{
			
				header("Location: http://www.art-kateo.fr/pages/redirect_auth.php");
				
		 		
			}
			
				break;

Sa page d'admin:


Code :
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
<?php
session_start()
?>

<?php
include 'droit.php'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Administration de Corine</title>
<link href="../css/page.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="conteneur_admin">

									<!--Choix de l'action de l'	administrateur-->

              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('n_membre.php')"/>
              
               
              <input name="Submit" type="submit" class="bouton4" value="ici" 
              onClick="self.location.href=('select_delete_membre.php')"/>	
              			
                
              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('actualite.php')"/>
              
                
          	  <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('select_manif.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('edit_photo_membre.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" onClick="self.location.href=('action_galerie.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" 
              onClick="self.location.href=('modif_img_membre_profil.php')"/>
              
                
              <input name="Submit" type="submit" class="bouton4" value="ici" 
              onClick="self.location.href=('edit_membre.php')"/>
</div>


</body>
</html>

La page ou elle peux modifier son profil et la ou il n'y a rien qui s'affiche:

Code :
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
<?php
session_start()

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Edition de la partie membre</title>
<link href="../css/page.css" rel="stylesheet" type="text/css" />

<!--Javascript qui verifie si le nombre de caractere n'a pas ete depasser dans les textarea-->

		<script type="text/javascript"> 
        //----------------------- 
        // this_ = objet TEXTAREA 
        // nb_   = longueur maxi du texte 
        //----------------------- 
        function Test( this_, nb_){ 
          //-- Recup. le texte de la TEXTAREA 
          var Texte = this_.value; 
          //-- SI valeur SUP au parametre nb_ 
          if( Texte.length > nb_) 
            //-- Tronquage du texte 
            Texte= Texte.substr( 0, nb_); 
          //-- Reaffectation du texte 
          this_.value = Texte; 
        } 
        </script> 

</head>

<body>

<div id="conteneur_edit_membre">

        		<!--formulaire d'edition du profil-->
        
       			 <!--sur click renvoi sur traintment_n_membre.php-->

				<!--affiche les valeur de la BDD grace au variables de session-->

        <form method="post" target="contenu" action="traitement_n_membre.php" name="membre">
            
            
        
             	<input name="nom" type="text" class="bout_auth2" value='<?php echo  $_SESSION[('nom')];?>'/>
              
              
            
            
        <select name="statut" class="bout_auth2">
        
               <option value="Président(e)" <?php if($_SESSION['statut'] == 'Président(e)') echo 'selected="selected"'; ?>>
               Président(e)</option>
               <option value="Vice président(e)" <?php if($_SESSION['statut'] == 'Vice président(e)') echo 'selected="selected"'; ?>>
               Vice président(e)</option>
               <option value="Trésorier(e)" <?php if($_SESSION['statut'] == 'Trésorier(e)') echo 'selected="selected"'; ?>>
               Trésorier(e)</option>
               <option value="Trésorier(e) adjoint(e)" <?php if($_SESSION['statut'] == 'Trésorier(e) adjoint(e)')
			    echo 'selected="selected"'; ?>>Trésorier(e) adjoint(e)</option>
               <option value="Secrétaire" <?php if($_SESSION['statut'] == 'Secrétaire') echo 'selected="selected"'; ?>>
               Secrétaire</option>
               <option value="Secrétaire adjoint(e)" <?php if($_SESSION['statut'] == 'Secrétaire adjoint(e)') 
			   echo 'selected="selected"'; ?>>Secrétaire adjoint(e)</option>
               <option value="Membre" <?php if($_SESSION['statut'] == 'Membre') echo 'selected="selected"'; ?>>
               Membre</option>
               
        </select>
               
            
           
              	<textarea name="texte" cols="20" rows="5" class="bout_auth2" onkeyup="Test( this, 490);">
				<?php echo $_SESSION[('texte')];?></textarea>
            
            
              
        
              	<textarea name="texte2"  cols="20" rows="5" class="bout_auth1" onkeyup="Test( this, 742);">
				<?php echo $_SESSION[('texte2')];?></textarea>
              
            
            	<input type="hidden" name="action" value="ajout_edit_membre" />
            
            
            
            	<INPUT TYPE="submit" class="bouton_actu4" VALUE="Ajouter">
               
            
         </form>


				


</div>



</body>
</html>

Sa me fait sa sur toute les pages ou il y des variables de session...
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 22h14   #11
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 313
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 313
Points : 8 596
Points : 8 596
Ca m'a l'air correct. Tu peux essayer ceci : crée une page avec juste ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
session_start();
?>
<html>
<body>
<pre>
<?php
print_r($_SESSION);
?>
</pre>
</body>
</html>
Tu peux également mettre un print_r($_SESSION); dans ta page de login pour vérifier le contenu de la session.
Authentifie-toi puis accède à cette nouvelle page, et vois ce que ça donne.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2008, 00h22   #12
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
J'ai resolu mon probleme, je ne mettais pas session start sur toute les pages, j'pensait que une fois suffisait, en plus en local sa fonctionnais..


Merci beaucoup pour ton aide!!!!
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h01.


 
 
 
 
Partenaires

Hébergement Web