Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 19/01/2012, 09h51   #1
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
Par défaut Compréhension d'un message d'erreur

Hello tout le monde =)

dites qui a déja eu ce message tout moche a cause de son script?

Citation:
"Warning: Unknown:Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0"
Et en passant vous savez comment gérer les apostrophes au niveau d'une recherche sql?

Mercii d'avance les gens =)
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 10h29   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Ce message là signifie que tu utilises une fonctionnalité PHP4 dans un script tournant sur un serveur PHP5. ça peut venir de l'utilisation d'une fonction session_register, ou si tu insères directement dans ta session des données $_POST ou $_GET.

Tu peux soit modifier la valeur de register_globals dans ton php.ini, soit modifier ton code pour ne plus utiliser le genre de codes en question.
Utilisation des variables super-globales
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 10h34   #3
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
je ne travaille pas en local je ne peut donc pas modifier le fichier php.ini et au niveau des session je n'ai que l'ouverture et la recuperation d'une variable precédente. J'ai ce code sur toutes mes pages et une seule bloque vraiment =(
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 10h46   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Citation:
J'ai ce code
Quel code ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h06   #5
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
Ce code la tout petit mais qui veux plus....

Code :
1
2
3
session_start(); 
 if(!isset($_SESSION['user'])) {
    header('Location: index.php');
J'ai ceci sur tout mes début de code et sur celle ci sa bug....
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 12h22   #6
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
m'est avis que le morceau qui bugue n'est pas celui-là, mais un autre qui utilise la session dans la page en question...
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 12h53   #7
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

Citation:
Envoyé par rockncaly Voir le message
Et en passant vous savez comment gérer les apostrophes au niveau d'une recherche sql?
il faut échapper la valeur de recherche.
Code :
1
2
 
$sql= "SELECT * FROM matable WHERE monchamp = '".addslashes($mavaleur)."'";
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 13h40   #8
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Citation:
Envoyé par ska_root Voir le message
il faut échapper la valeur de recherche.
Code :
1
2
 
$sql= "SELECT * FROM matable WHERE monchamp = '".addslashes($mavaleur)."'";
Plutôt que addslashes, j'utiliserai mysql_real_escape_string (pour une requête via mysql_xxxx) ou directement les requêts préparées via mysqli ou PDO (en supposant que tu ais une base mysql)
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 13h57   #9
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Citation:
Envoyé par Celira Voir le message
en supposant que tu ais une base mysql
ben voila...

sinon entièrement d'accord pour PDO, mais encore faut-il connaître...Bon nombre de tutoriels sur la toile ne l'utilisent pas...

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h09   #10
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
Super la technique marche impec! =) pour l'instant toujours mon message d'erreur mais je cherche activement une solution ^^
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h21   #11
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Citation:
Envoyé par ska_root Voir le message
sinon entièrement d'accord pour PDO, mais encore faut-il connaître...Bon nombre de tutoriels sur la toile ne l'utilisent pas...
Comprendre PDO

Sinon, on peut avoir le code de la page qui bugue ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h21   #12
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Citation:
Envoyé par rockncaly Voir le message
Ce code la tout petit mais qui veux plus....

Code :
1
2
3
session_start(); 
 if(!isset($_SESSION['user'])) {
    header('Location: index.php');
J'ai ceci sur tout mes début de code et sur celle ci sa bug....
essaie de mettre la bride de code en commentaire (sans le session_start), tu confirmeras ainsi qu'elle en est bien la cause, ce dont je doute...
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h56   #13
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
Pour le code qui bug c'est une page de tableau
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
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
141
142
143
144
<?php
 
 session_start(); 
 
 
  include_once("librairie.php");
	require_once ("admin_impr_search.html");
  // Variable de session pour identification user connect?
 
  if(!isset($_SESSION['user'])) {
   @ header('Location: index.php');
  }
  // Connexion Base
//conexion seveur Estaires 
  connecterBase();
 
 
$couleur="";
 //recup des donnees du formulaire 
	@ $sexe=$_POST["sexe"];
	@ $age_min=$_POST["age_min"];
	@ $age_max=$_POST["age_max"];
	@ $ville=$_POST["ville"];
	@ $client=$_POST["client"];
	@ $jour=$_POST["jour"];
	@ $mois=$_POST["mois"];
 
 
 
		$index = 1 ;
//Affichage d'un recap			
	if ($sexe=="F"){
				$nom="Femme";}
				elseif ($sexe=="H"){
					$nom="Homme";}
					else
					{$nom="Mixte";}
	if ($client==1){
		$cli="clients";}
		elseif ($client==0){
		$cli="non clients";}
		else {
		$cli="clients et non clients";}
 
		if ($ville==""){
			$vil="-";}
			else{
			$vil=$ville;}
 
				if ($age_min==""){
			$ami="-";}
			else{
			$ami=$age_min;}
 
				if ($age_max==""){
			$ama="-";}
			else{
			$ama=$age_max;}
 
		echo "<u><i>Récapitulatif des critéres:</i></u> sexe: $nom, ville: $vil, age minimum: $ami, age maximum: $ama, état: $cli" ;
 
		$today=date("Y");
		 $annee_min= $today-$age_min;
		 $annee_max= $today-$age_max; 
 
 
 
 
  //conditon d'execution
(Requetes SQL)
 
?>
<html>
  <head> <title> -ENTREVOIR-  Recherche Impression Mailing </title>
    </head>
 
 </select><br/><br/>
 
 
 <table align="center" border="0" cellspacing="1" cellpadding="2" style="font-size:12px;">
        <tr style="background-color:#FFCC99; font-size:14px;">
            <th colspan="24">Personnes</th>
          </tr>
          <tr style="background-color:#ffff99;">
            <th>Civ.</th>
            <th>Nom</th>
			<th>Pr&eacute;nom</th>
            <th>Date de naissance</th>
            <th>Age</th>
            <th>N&deg;rue</th>
            <th>N&deg; Bis</th>
            <th>Rue</th>
            <th>B&acirc;t./R&eacute;s.</th>
            <th>Etage</th>
            <th>Escalier</th>
            <th>N&deg; appt.</th>
            <th>CP</th>
            <th>Ville</th>
            <th>Client</th>   
          </tr>
 
<center>	 <?php				
		$nbligne=mysql_num_rows($res); 
		echo " Résultat de la recherche: ";
		echo $nbligne;
		echo " résultats obtenus </center><br/><br/>";
	?>
 <a href="edition.php?nbligne=<?php echo $nbligne;?>" onclick="edition();return false;">Edition du mail</a> <br/>
  <a href="publi.php" onclick="edition();return false;">Publipostage</a> <br/>
 <br/></center>
<?php $compteur=0;
while($val=mysql_fetch_array($res)) {
 
$annee=$val["annee_naissance"];
if ($val["annee_naissance"]=="0"){
	$age="-";}
	else
	{$age=$today-$annee;}
 
?>
		   <tr style="background-color:<?php echo($index & 1) ? '#FFFFFF' : '#CCCCCC' ?>" >
				<td style="height:50px;" align="left"><?php echo $val["civilite"]?></td>
				<td style="height:50px;" align="left"><?php echo $val["nom"]?></td>
				<td style="height:50px;" align="left"><?php echo $val["prenom"]?></td>
				<td style="height:50px;" align="left"><?php echo $val["jour_naissance"]."/".$val["mois_naissance"]."/".$val["annee_naissance"]?></td>
				<td style="height:50px;" align="center"><?php echo $age ?></td>
				<td style="height:50px;" align="center"><?php echo $val["numero_rue"]?></td>
				<td style="height:50px;" align="center"><?php echo $val["numero_rue_bis"]?></td>
				<td style="height:50px;" align="center"><?php echo $val["rue"]?></td>
				<td style="height:50px;" align="left"><?php echo $val["bat_res"]?></td>
				<td style="height:50px;" align="left"><?php echo $val["etage"]?></td>
        	    <td style="height:50px;" align="left"><?echo $val["escalier"];?></td>
        	    <td style="height:50px;" align="left"><?php echo $val["numero_appartement"]?></td>
        	    <td style="height:50px;" align="center"><?php echo $val["cp"]?></td>
        	    <td style="height:50px;" align="center"><?php echo $val["ville"]?></td>
        	    <td style="height:50px;" align="left"><?php echo $val["deja_client"]?></td>
				</tr>
<?php  $index++;
}
?>
		  </table>
 
		  </body>
		  </html>
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 15h35   #14
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Pour commencer, permet-moi cette petite remarque :

C'est un bien mauvaise habitude de préfixer tes méthodes avec des "@", il n'y a pas meilleurs pour t'offusquer les erreurs générées et ainsi passer à côté du problème...

si tu veux éviter les messages d'erreurs que tu aurais sans le "@", dans ce cas, il suffit de les corriger (ou de les éviter, notamment pour les déclarations).

pour une déclaration, au lieu de faire :
Code :
@ $mois=$_POST["mois"];
utilise plutôt ceci (avec ou sans l'opérateur ternaire) :
Code :
$mois= (isset($_POST["mois"]))?($_POST["mois"]):("");
ton header() devrait être suivi d'un exit(), car le reste de la page s'execute quand même...

fais déjà apparaitre les erreurs si tu veux qu'on puisse t'aider...

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 16h53   #15
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
Merci du conseil je ne savais pas comment les remplacer ><' si je les ai placés c'est juste parce qu'il générer des erreurs quand ils étaient vide. ^^ mais le message reste présent le méchant! ^^
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 18h08   #16
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Comme te l'a déjà dit Celira, il semblerait que tu travailles sur PHP4.

A l'époque , on pouvait utiliser la directive global_register pour que php trouve tout seul cette variable, c'est mal !

pourquoi ? :
si tu appelles la variable $mavar dans ta page sans l'avoir préalablement initialisée, PHP cherchait déjà une variable $mavar dans les inclusions, puis si il ne la trouvait pas, il cherchait alors un index du même nom dans $_GET, puis dans $_POST, puis dans $_COOKIE et enfin dans $_SESSION.
Cela offrait naturellement beaucoup de souplesse au développeur, mais aussi beaucoup de failles au novice.
Il existe aussi une faille de sécurité liée aux variables de session dans certaines releases du moteur, c'est pourquoi cette directive a été retirée de PHP dans les versions supérieures.

Le message que tu reçois peu avoir plusieurs causes, spécifiées par Celira dans son post.

La raison la plus connue est d'avoir nommé de la même façon une variable dans plusieurs conteneurs d'environnement ($_GET,$_POST,$_SESSION)

comme quand tu utilises une variable $_GET['truc'] et $_SESSION['truc'] par exemple.

voilà, j'espère que cela va t'aider dans ta recherche...

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 09h03   #17
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
D'accord mais ce que je ne comprend pas enfait c'est le fait que je n'ai qu'une variable de session que j'utilise au début et qui n'est jamais rapellé au cours de mon script. Et également le fait que sa ne se passe que sur cette page et non sur toute. =/
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 10h13   #18
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
J'ai la réponse au probleme =) grosse faute commise dans mon code puisque j'ouvrais deux fois la session dans la meme page! Dans mon onglet mais aussi dans mon corps de page.... Erreur assimilé et a ne plus faire merci beaucoup pour votre aide =)
rockncaly 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 02h27.


 
 
 
 
Partenaires

Hébergement Web