[PHP] Pourquoi ca marche pas ? [résolu](en effet c'était tout bete)

[PHP] Pourquoi ca marche pas ? [résolu] (en effet c'était tout bete) - PHP - Programmation

Marsh Posté le 02-01-2004 à 14:10:49    

voici mon petit bout de code :

Code :
  1. <?
  2. session_start();
  3. if( isset($_POST['idclient']) AND $_POST['idclient'] != NULL){
  4. $_SESSION['idclient']=$_POST['idclient'];
  5. }
  6. if( isset($_SESSION['idclient']) AND $_SESSION['idclient'] != NULL){
  7. $idclient=$_SESSION['idclient'];
  8. $db = mysql_connect('127.0.0.1','root','') or die ("erreur de connexion" );
  9. mysql_select_db('bdcompta',$db) or die ("erreur de connexion base" );
  10. $sql = "SELECT id,nom,adresse,tel,fax,email FROM clients WHERE id = $idclient " ;
  11. // on envoie la requete  
  12. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  13. // on fait une boucle qui va faire un tour pour chaque enregistrements  
  14. while($data = mysql_fetch_array($req))
  15.     {
  16.     // on affiche les informations de l'enregistrements en cours  
  17.     echo '<p>'.$data['id'].' '.$data['nom'].' '.$data['adresse'].' '.$data['tel'].'</p> ';
  18.    
  19.     }
  20. mysql_close();
  21. ?>


 
et le message d'erreur associé :

Code :
  1. Parse error: parse error, unexpected $end in c:\compta\affichage_cli.inc.php on line 29


 
a la ligne 29 j'ai : ?>
 
HELP car je ne vois rien d'anormal a la ligne 29
 
merci


Message édité par BaDaBoOm le 02-01-2004 à 16:09:51
Reply

Marsh Posté le 02-01-2004 à 14:10:49   

Reply

Marsh Posté le 02-01-2004 à 14:20:52    

bon, leçon n°1: apprendre à comprendre les messages d'erreur.
 
Comment, en français, traduis-tu le message d'erreur que tu reçois?

Reply

Marsh Posté le 02-01-2004 à 14:23:29    

erreur syntaxe ligne 29 ?

Reply

Marsh Posté le 02-01-2004 à 14:24:04    

manque le } du 2éme if...

Reply

Marsh Posté le 02-01-2004 à 14:24:21    

Il te manque un }
 
Edit : arf grillé par Mara's dad ;)


Message édité par KdZ' le 02-01-2004 à 14:24:49

---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux
Reply

Marsh Posté le 02-01-2004 à 14:25:58    

lol merci

Reply

Marsh Posté le 02-01-2004 à 14:26:00    

:pfff: comment voulez-vous qu'il évolue si vous lui machez le travail pour des erreurs aussi faciles...
 
BaDaBoOm >> perdu.

Reply

Marsh Posté le 02-01-2004 à 14:28:08    

gizmo a écrit :

:pfff: comment voulez-vous qu'il évolue si vous lui machez le travail pour des erreurs aussi faciles...


Ben le 'unexpected $end' est pas super clair quand même...
Pourquoi un $ ?
On a l'impression qu'il parle d'une variable, ce qui ne facilite pas les choses, non ?

Reply

Marsh Posté le 02-01-2004 à 14:29:55    

c difficile de voir une erreur quand on cherche autre part, au passage existe -t-il des logiciels qui avertissent lq on commet ce genre d'erreurs betes ?


Message édité par BaDaBoOm le 02-01-2004 à 14:30:21
Reply

Marsh Posté le 02-01-2004 à 14:31:00    

Mara's dad a écrit :


Ben le 'unexpected $end' est pas super clair quand même...
Pourquoi un $ ?
On a l'impression qu'il parle d'une variable, ce qui ne facilite pas les choses, non ?


c ce que j'ai pensé ...

Reply

Marsh Posté le 02-01-2004 à 14:31:00   

Reply

Marsh Posté le 02-01-2004 à 14:31:35    

BaDaBoOm a écrit :

c difficile de voir une erreur quand on cherche autre part, au passage existe -t-il des logiciels qui avertissent lq on commet ce genre d'erreurs betes ?


Peut-être, mais si tu codes comme t'écris, c'est pas étonnant que t'ais des erreurs :D

Reply

Marsh Posté le 02-01-2004 à 14:32:07    

Tu prendrais de bonnes habitudes t'aurais pas ce problème, donc dès que t'ouvriras une accolade, tu penseras à la refermer juste après et insérer le code entre 2..

Reply

Marsh Posté le 02-01-2004 à 14:32:08    

Mara's dad a écrit :


Ben le 'unexpected $end' est pas super clair quand même...
Pourquoi un $ ?
On a l'impression qu'il parle d'une variable, ce qui ne facilite pas les choses, non ?


bah c'est normal, c'est une erreur de parsing, donc un mauvais token qui est renvoyé, hors les tokens sont bien mis dans des variables, rien de plus clair. tout est marqué dans le message d'erreur.

Reply

Marsh Posté le 02-01-2004 à 14:34:27    

gizmo a écrit :


bah c'est normal, c'est une erreur de parsing, donc un mauvais token qui est renvoyé, hors les tokens sont bien mis dans des variables, rien de plus clair. tout est marqué dans le message d'erreur.


J'aurrai bien vu un  
'parse error, block not closed in c:\compta\affichage_cli.inc.php on line 29'
ou un truc dans le genre...
 
On n'a pas tous essayé d'écrire un compilateur :D


Message édité par Mara's dad le 02-01-2004 à 14:34:57
Reply

Marsh Posté le 02-01-2004 à 14:35:03    

mis à part ces histoires d'erreurs, je trouve le language php un peu "capricieux" :)

Reply

Marsh Posté le 02-01-2004 à 14:36:51    

BaDaBoOm a écrit :

mis à part ces histoires d'erreurs, je trouve le language php un peu "capricieux" :)


Là tu dépasse légèrement les bornes...
Cà fait combien de temps que tu copie-colle des bout de scripts PHP ?

Reply

Marsh Posté le 02-01-2004 à 14:40:16    

Mara's dad a écrit :


On n'a pas tous essayé d'écrire un compilateur :D


 
Je sais, et c'est bien dommage :/ ce devrait, après les cours d'algo, être l'un des premiers cours que les programmeur reçoivent. Au moins, ils comprendraient mieux le fonctionnement des langages qu'ils seront amenés à utiliser par la suite.

Reply

Marsh Posté le 02-01-2004 à 14:43:33    

gizmo a écrit :


 
Je sais, et c'est bien dommage :/ ce devrait, après les cours d'algo, être l'un des premiers cours que les programmeur reçoivent. Au moins, ils comprendraient mieux le fonctionnement des langages qu'ils seront amenés à utiliser par la suite.


Yes, je suis d'accord !
Pareil pour les microprocesseurs, les bases de données, les protocoles réseaux, les disques durs...
 
M'enfin, tout le monde n'a pas les moyens de s'offrir un bac +20 avant de commencer à coder en PHP :D

Reply

Marsh Posté le 02-01-2004 à 15:04:30    

Mara's dad a écrit :


Là tu dépasse légèrement les bornes...
Cà fait combien de temps que tu copie-colle des bout de scripts PHP ?


 
3 jours  :D

Reply

Marsh Posté le 02-01-2004 à 15:05:14    

BaDaBoOm a écrit :

mis à part ces histoires d'erreurs, je trouve le language php un peu "capricieux" :)


 
 :pfff:  
 
la tu abuse le php c un des langages les "moins pointilleux "(pas de declaration de type pour les variables & co)


---------------
Battle Alita Angel
Reply

Marsh Posté le 02-01-2004 à 15:05:33    

CQFD :/

Reply

Marsh Posté le 02-01-2004 à 15:07:10    

peut etre mais au niveau des " et des ' et des concaténations je me gourre tt le temps et ca produit des erreurs.

Reply

Marsh Posté le 02-01-2004 à 15:07:50    

:lol:

Reply

Marsh Posté le 02-01-2004 à 15:11:31    

ca doit etre drôle de se moquer des débutants  :D

Reply

Marsh Posté le 02-01-2004 à 15:15:05    

BaDaBoOm a écrit :

ca doit etre drôle de se moquer des débutants  :D  


non, mais bon, si tu as du mal avec ça, j'imagine bien les problèmes que tu vas rencontrer quand tu découvriras les switchs et les accès DB :/

Reply

Marsh Posté le 02-01-2004 à 15:15:21    

"" GUILLEMETS pour les chianes de caracteres avec variables et quand c du direct/pur utilise des '' QUOTES ;)
 
Je pense pas te dire de conneries là :D


---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux
Reply

Marsh Posté le 02-01-2004 à 15:19:52    

gizmo a écrit :


non, mais bon, si tu as du mal avec ça, j'imagine bien les problèmes que tu vas rencontrer quand tu découvriras les switchs et les accès DB :/


 
c justement pour les accès db  que je trouve ca compliqué :
ex :
j'ai du faire  
 
...

Code :
  1. elseif ( (isset($_POST['rech_nom']) AND $_POST['rech_nom'] != NULL) AND (isset($_POST['rech_marque']) AND $_POST['rech_marque'] != NULL)){
  2. $comm= 'marque LIKE \''.$rech_marque.'\' AND nom LIKE \''.$rech_nom.'\'';
  3. }


...

Code :
  1. $sql = 'SELECT id,marque,nom,couleur,format,ref_fab,prix_vente FROM produits WHERE '.$comm ;


...
 
ca marche mais à moins qu'il n'y ait plus simple je trouve que meme pour relire son code c'est difficile.


Message édité par BaDaBoOm le 02-01-2004 à 15:20:35
Reply

Marsh Posté le 02-01-2004 à 15:22:14    

[:totoz]

Reply

Marsh Posté le 02-01-2004 à 15:22:28    

KdZ' a écrit :

"" GUILLEMETS pour les chianes de caracteres avec variables et quand c du direct/pur utilise des '' QUOTES ;)
 
Je pense pas te dire de conneries là :D


 
et est ce que ca marche un truc comme ca ?
 
$var="blabla $_POST['truc']";


Message édité par BaDaBoOm le 02-01-2004 à 15:22:49
Reply

Marsh Posté le 02-01-2004 à 15:33:19    

LOL - pour tes deux derniers posts BaDaBoOm.
 
je ferai pas : $var="blabla $_POST['truc']";
mais plutot : $var="blabla ".$_POST['truc'];


Message édité par KdZ' le 02-01-2004 à 15:40:24

---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux
Reply

Marsh Posté le 02-01-2004 à 15:33:22    

BaDaBoOm a écrit :


 
et est ce que ca marche un truc comme ca ?
 
$var="blabla $_POST['truc']";


 
$var="blabla {$_POST['truc']}"; :D
 
Je ne me moque que des débutant qui donnent leur avis sur un produit dont la DOCUMENTATION leur est inconnue :D


Message édité par Mara's dad le 02-01-2004 à 15:36:46
Reply

Marsh Posté le 02-01-2004 à 15:36:53    

Code :
  1. elseif( isset( $_POST['rech_nom'] ) && $_POST['rech_nom'] != NULL && isset($_POST['rech_marque']) && $_POST['rech_marque'] != NULL)
  2.   {
  3.     $comm = "marque LIKE '{$_POST['rech_marque']}' AND nom LIKE '{$_POST['rech_nom']}";
  4.   }


Message édité par Mara's dad le 02-01-2004 à 15:37:18
Reply

Marsh Posté le 02-01-2004 à 15:39:21    

Mara's dad a écrit :


 
$var="blabla {$_POST['truc']}"; :D
 
Je ne me moquent que des débutant qui donnent leur avis sur un produit dont la DOCUMENTATION leur est inconnue :D


 
 [:figti]  
 
 
 [:figti] Je connaissait pas cette methode avec les {}
 
merci :)


---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux
Reply

Marsh Posté le 02-01-2004 à 15:43:39    

Ca vous arrive de lire la doc ?
 
http://www.php.net/manual/fr/langu [...] ng.complex
 
En Français en plus :D
 
Mais bon en général il vaut mieux prendre la version Anglaise qui est plus à jour.


Message édité par Mara's dad le 02-01-2004 à 15:45:38
Reply

Marsh Posté le 02-01-2004 à 16:00:32    

Mara's dad a écrit :


 
$var="blabla {$_POST['truc']}"; :D
 
Je ne me moque que des débutant qui donnent leur avis sur un produit dont la DOCUMENTATION leur est inconnue :D


merci pour {}

Reply

Marsh Posté le 02-01-2004 à 16:03:11    

lol("La syntaxe est dite "complexe" car elle permet l'utilisation d' expressions complexes, et non pas parcequ'elle serait obscure. Nuance. " )

Reply

Marsh Posté le 02-01-2004 à 16:06:42    

Mara's dad a écrit :

Code :
  1. elseif( isset( $_POST['rech_nom'] ) && $_POST['rech_nom'] != NULL && isset($_POST['rech_marque']) && $_POST['rech_marque'] != NULL)
  2.   {
  3.     $comm = "marque LIKE '{$_POST['rech_marque']}' AND nom LIKE '{$_POST['rech_nom']}";
  4.   }




 
merci c un peu plus simple

Reply

Marsh Posté le 02-01-2004 à 17:27:23    

BaDaBoOm a écrit :

lol("La syntaxe est dite "complexe" car elle permet l'utilisation d' expressions complexes, et non pas parcequ'elle serait obscure. Nuance. " )


 
 [:figti]  
 
lol("La syntaxe est dite \"complexe\" car elle permet l'utilisation d' expressions complexes, et non pas parcequ'elle serait obscure.<br />Nuance. " )[:rofl]


---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux
Reply

Marsh Posté le 02-01-2004 à 17:28:20    

Mara's dad a écrit :


Mais bon en général il vaut mieux prendre la version Anglaise qui est plus à jour.


 
+1  [:mir45]


---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux
Reply

Marsh Posté le 02-01-2004 à 18:01:21    

Mara's dad a écrit :

Code :
  1. elseif( isset( $_POST['rech_nom'] ) && $_POST['rech_nom'] != NULL && isset($_POST['rech_marque']) && $_POST['rech_marque'] != NULL)
  2.   {
  3.     $comm = "marque LIKE '{$_POST['rech_marque']}' AND nom LIKE '{$_POST['rech_nom']}";
  4.   }




plus simple et plus correct pour le traitement qu'il en fait:

Code :
  1. elseif ($_POST['rech_nom'] && $_POST['rech_marque']) {
  2.    $comm = 'marque LIKE \''.$_POST['rech_marque'].'\' AND nom LIKE \''.$_POST['rech_nom'].'\'';
  3. }


Ca évitera des bugs comme le string vide...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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