Probleme de variables ... [résolu]

Probleme de variables ... [résolu] - PHP - Programmation

Marsh Posté le 06-03-2006 à 12:12:52    

Alors voila,
je réalise actuellement un petit site php, et il faut savoir que j'ai pratiqué tres peu de php, il y a 3 ans quand j'avais fais mon site perso.
Je me suis donc inspiré d'un vieux script pour faire l'annuaire mais voici les problemes affichés, lorsque je mets en place ma page qui affichera tous les sites, triés et classés :
 

Citation :

Notice: Undefined variable: debut in f:\easyphp1-8\www\bts\annuaire\references.php on line 4
 
Notice: Undefined variable: tri in f:\easyphp1-8\www\bts\annuaire\references.php on line 5
 
Notice: Use of undefined constant titre - assumed 'titre' in f:\easyphp1-8\www\bts\annuaire\references.php on line 5
 
Notice: Undefined variable: ord in f:\easyphp1-8\www\bts\annuaire\references.php on line 6
 
Notice: Use of undefined constant ASC - assumed 'ASC' in f:\easyphp1-8\www\bts\annuaire\references.php on line 6
 
Notice: Undefined variable: cat in f:\easyphp1-8\www\bts\annuaire\references.php on line 8


 
le code :
 

Code :
  1. <? require "secret/connect.php";
  2. if($debut=="" ){$debut=0;}
  3. if($tri=="" ){$tri=titre;}
  4. if($ord=="" ){$ord=ASC;}
  5. $affsites = mysql_query("SELECT * FROM annuaire WHERE cat='$cat' AND accepte = '028' ORDER BY $tri $ord LIMIT $debut,10" );
  6. $ncat = mysql_num_rows($affsites)or die(mysql_error());
  7. ?>


 
J'avais deja utilisé le meme code auparavent et ça fonctionnait sans probleme, vous savez d'ou ça peut venir ?
Merci


Message édité par ludo2604 le 06-03-2006 à 13:31:07

---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 06-03-2006 à 12:12:52   

Reply

Marsh Posté le 06-03-2006 à 12:17:44    

Citation :

Notice: Undefined variable: debut in f:\easyphp1-8\www\bts\annuaire\references.php on line 4


 
Le message parle de lui-même : tu utilises une variable que tu n'as pas définie.

Reply

Marsh Posté le 06-03-2006 à 12:20:20    

fais une recherche on a déjà traité plein de fois le problème des notices avec easyphp


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 06-03-2006 à 12:33:54    

smaragdus a écrit :

Citation :

Notice: Undefined variable: debut in f:\easyphp1-8\www\bts\annuaire\references.php on line 4


 
Le message parle de lui-même : tu utilises une variable que tu n'as pas définie.


 
Sur mon ancien site, j'avais exactement le même code et ça fonctionnait ...
 

newneo2001 a écrit :

fais une recherche on a déjà traité plein de fois le problème des notices avec easyphp


 
Mais en effet le probleme doit venir de easyphp, le probleme est que je ne trouve rien, concerant les notices, tu peux m'eclairer ?


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 06-03-2006 à 12:37:02    

ludo2604 a écrit :

Sur mon ancien site, j'avais exactement le même code et ça fonctionnait ...


 
Un preuve de plus, comme s'il en était besoin, que easyphp c'est de la marde :o

Reply

Marsh Posté le 06-03-2006 à 12:39:45    

ton ancien site avait un "register global" à ON et easyPHP l'a par défaut à "off" ce qui est nettement plus sécuritaire.
 
Pour ne pas avoir les notice, avant de tester le contenu de ta variable, il faut déjà tester son existance, avec "isset()" par exemple, ou sinon tu peux utiliser "empty()" aussi qui teste à la fois l'existence et le contenu "chaine vide"...
 
Je confirme ce que t'on dit les autres, ça a été aborder moulte fois sur ce forum et sur bien d'autre ;)
 
et sur le coup, c'est easyPHP qui a raison de mettre le register_global à OFF, pour des raison de sécurité...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 06-03-2006 à 12:43:34    

smaragdus a écrit :

Un preuve de plus, comme s'il en était besoin, que easyphp c'est de la marde :o


Une preuve de plus, comme s'il en était besoin, qu'il est plus facile d'accuser les autres que soit même quand on fait de la merde des erreurs. :o

Reply

Marsh Posté le 06-03-2006 à 12:50:28    

php.ini
 
error_reporting E_ALL ~E_NOTICE (qqch comme ça)
 
sinon tu fais ce que te dis Xav_ if isset() avant chaque variable que tu as


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 06-03-2006 à 13:00:13    

soyez indulgent, je debute completement :'(
 

newneo2001 a écrit :

php.ini
 
error_reporting E_ALL ~E_NOTICE (qqch comme ça)
 
sinon tu fais ce que te dis Xav_ if isset() avant chaque variable que tu as


 
Dans mon php.ini, il y a deja error_reporting  =  E_ALL & ~E_NOTICE
 
En mettant if isset (), j'ai le droit à ça :
 

Citation :

Parse error: parse error, expecting `'('' in f:\easyphp1-8\www\bts\annuaire\references.php on line 4


 
Merci de votre aide!


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 06-03-2006 à 13:04:59    

ludo2604 a écrit :

soyez indulgent, je debute completement :'(


 
Si tu débutes, commence donc par lire la doc :
 
http://www.php.net/manual/en/langu [...] uctures.if
 
http://www.php.net/isset

Reply

Marsh Posté le 06-03-2006 à 13:04:59   

Reply

Marsh Posté le 06-03-2006 à 13:09:58    

E_ALL & ~E_NOTICE  
 
ben si tu as ça tu n'as plus de notice sur ton site alors.
 et ca Parse error: parse error, expecting `'('' in f:\easyphp1-8\www\bts\annuaire\references.php on line 4
c'est quand même assez explicite. Pas besoin d'un post pour ca, il manque vraissemblablement une ( dans ta ligne


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 06-03-2006 à 13:27:10    

Je comprends un peu mieux ...
J'avais oublié des ' ' pour la valeur $titre et $ord egalement, et aussi de definir $cat !
 
Voici mon code maintenant :
 

Code :
  1. <?php require "secret/connect.php";
  2. if (!isset($debut)){$debut=0;}
  3. if (!isset($tri)){$tri='titre';}
  4. if (!isset($ord)){$ord='ASC';}
  5. $cat = $_GET['cat'];
  6. $affsites = mysql_query("SELECT * FROM annuaire WHERE cat='$cat' AND accepte = '028' ORDER BY $tri $ord LIMIT $debut,10" );
  7. $ncat = mysql_num_rows($affsites)or die(mysql_error());
  8. ?>


 
Merci à vous, tout fonctionne :)


---------------
Make Portraits, Not War!  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed