Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 29/12/2010, 17h01   #1
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML à PHP; conversion

Bonjour,

Je convertis pour la 1ère fois un code HTML en un PHP et je me mêle les pinceaux avec les ' " . etc
Voici, il s'agit d'une classe Form:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
		
function __construct($form, $action=NULL, $method=NULL, $id=NULL, $name=NULL)
{	$this->initForm($form) ;
	$this->action 	= $action   != NULL ? $action	:	18 ==> "$_server[PHP_SELF]" ; 
	$this->method 	= $method 	!= NULL ? $method	:	"POST" 				 ;
	//
	//	name OR id must be specified
	//	============================
	if (!isset($id) && !isset($name))
24 ==>		user_error("NAME or ID Should be specified" , E_USER_ERROR) ;
	elseif (!isset($id))
		$id = $iname ;
	else
		$name = $id ;
	//
	$this->id 		= $id  		!= NULL ? $id		:	NULL
	$this->name 	= $name  	!= NULL ? $name		:	NULL ;
et j'ai ensuite:

Code :
1
2
3
4
	
function start()
{60 ==>	echo "<form action='.$this->action.' method='.$this->method.' id='.$this->id.' name="'.$this->name."'>" ;
}
et
Code :
1
2
3
 
function end()
{	echo "</form>" ;	}
Mon souci est dans l'écho de Form::start qui me donne dans le log:
Code :
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in F:\WebSites\date\class\form.php on line 60
Cela doit être con comme la lune mais quand c'est pour la 1ère X....

Merci pour votre aide !

================= Cela va déjà un poil mieux ainsi ===============
Code :
1
2
3
 
function start()
{	echo "<form action='/index.php' method='post' name='date' id='date'>" ;   }
mais maintenant, le souci est autre part....

Code :
1
2
3
4
 
[29-Dec-2010 17:18:45] PHP Notice:  Undefined variable: _server in F:\WebSites\date\class\form.php on line 18
 
[29-Dec-2010 17:18:45] PHP Fatal error:  NAME or ID Should be specified in F:\WebSites\date\class\form.php on line 24
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 17h46   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour,

les double quotes de la ligne 18 interprètent ton code à la différence des simples quotes, il cherche donc la référence à la variable _serveur qui n'existe pas.

Testes ceci :

Code php :
1
2
3
4
5
 
...
$this->action = $action != NULL ? $action : '$_SERVER[\'PHP_SELF\']'; 
 
...
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 18h02   #3
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML => PHP

C'est OK, merci....

Me reste le problème de la ligne 24, mais cela est de la logique...

Code :
PHP Fatal error:  NAME or ID Should be specified in F:\WebSites\date\class\form.php on line 24
Merci et bon réveillon
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 19h22   #4
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML => PHP

Et bien le problème de logique s'avère + difficile à appréhender.....

J'ai:

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
		function __construct( $action=NULL, $method=NULL, $id=NULL, $name=NULL)
		{	//$this->initForm($form) ;
			$this->action 	= $action 	!= NULL ? $action 	: 	'$_SERVER[\'PHP_SELF\']'; 
			$this->method 	= $method 	!= NULL ? $method	:	"POST" 				 	;
			//
			//	name OR id must be specified
			//	============================
/*
			var_dump($id,$name) ;
			if (!isset($id) && !isset($name))
				user_error("NAME or ID Should be specified" , E_USER_ERROR) ;
			elseif (!isset($id))
					$id = $iname ;
			else
					$name = $id ;
*/
			//
			$this->id 		= $id  		!= NULL ? $id		:	NULL ;
			$this->name 	= $name  	!= NULL ? $name		:	NULL ;
			
bla bla bla...
			
/**
* 		Form Start
*
*/	
		function start()
		{	echo "<form action='/index.php' method='post' name='.$this->name.' id='.$this->id.'>" ;   }
Et donc, $form->start me génére

Code :
1
2
<form action='/index.php' method='post' name='..' id='..'>
Madfrix, tes lumières stp.....

Merci et bon réveillon à tous
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 19h38   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ta concaténation est en vrac :
Code :
echo '<form action="/index.php" method="post" name="'.$this->name.'" id="'.$this->id.'">' ;
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 19h53   #6
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML -> PHP

J'ai exactement le même résultat:

Code :
1
2
<form action="/index.php" method="post" name="" id="">
Code :
1
2
3
4
5
		function start()
		{	echo '<form action="/index.php" method="post" name="'.$this->name.'" id="'.$this->id.'">' ;
//			echo "<form action='/index.php' method='post' name='.$this->name.' id='.$this->id.'>" ;   
		}
En gras, ta suggestion...
J'arrête pour ajd'hui, je vais potasser un peu + PHP

Merci et bon réveillon....
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 20h01   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ce n'est pas exactement la meme chose maintenant.

Controle ce que valent tes deux variables (elles sont a priori vides).
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 09h27   #8
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML -> PHP

Oui j'ai vu mais ce n'est pas ce que j'ai voulu dire, j'ai bien vu les différences...

Mais le résultat HTML est le même....

Code :
1
2
3
4
5
6
<body>

<?php
$form->start($name="test") ;
?>
Code :
1
2
3
4
 
<form action="/index.php" method="post"B] name="" id=""[/B]>
 
ou je devrais avoir $name="test"
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
		function __construct( $action=NULL, $method=NULL, $id=NULL, $name=NULL)
		{	//$this->initForm($form) ;
			$this->action 	= $action 	!= NULL ? $action 	: 	'$_SERVER[\'PHP_SELF\']'; 
			$this->method 	= $method 	!= NULL ? $method	:	"POST" 				 	;
			//
			//	name OR id must be specified
			//	============================

			//
			
$this->id 		= $id  	!= NULL ? $id		:	NULL ;
$this->name 	= $name  	!= NULL ? $name		:	NULL ;
			
		}
Rien danls le log

Au vu de mes lectures hier, il y aurait une différene entre " et '

Mais ce n'est pas si claire que cela
Il y aurait NON_interprétation du PHP dans le cas de la simple cote.
Pour toutes 2, on peut échapper par \
Mais on ne conseille rien, alors qu'ici même j'ai déjà perçu 2 techniques....
Pas de tutos ?


Mais je n'ai pas lu toutes les 800 ages de mon livres PHP5 de chez CAMPUS, tu vois lequel ? Une grosse brique....

Merci et bon réveillon
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 09h54   #9
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Les variables ne sont pas interpretées a l'interieur des guillemets simples.
Code :
1
2
3
4
5
6
7
8
 
$a = "toto";
 
echo '$a';
// $a
 
echo "$a";
//toto


Mais cela ne te concerne pas (en tout cas dans la ligne que j'ai refaite) puisque tes deux variables ne sont pas dans la chaine.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 09h58   #10
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 456
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 456
Points : 2 541
Points : 2 541
Envoyer un message via Skype™ à rawsrc
Bonjour,

Essaye ça :
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
function __construct($action = NULL, $method = NULL,   $id = NULL, $name = NULL) {   
   $this->initForm($form);
   $this->action = ($action != NULL) ? $action : $_SERVER['PHP_SELF'];
   $this->method = ($method != NULL) ? $method : 'POST';
 
   //
   //   name OR id must be specified
   //   ============================
 
 
   if ( ! (isset($id) || isset($name))) {
      user_error("NAME or ID Should be specified" , E_USER_ERROR);
 
   } elseif ( ! isset($id)) {
      $id = $name;
 
   } else {
      $name = $id;
   }
 
   $this->id = ($id != NULL) ? $id : NULL;
   $this->name = ($name != NULL) ? $name : NULL;
}
 
/**
 * Form Start
 */   
function start() {
      echo "<form action='/index.php' method='post' name='{$this->name}' id='{$this->id}'>"; 
}
Dans ta version initiale : je pense à la faute de frappe : PHP oblige le développeur à être rigoureux avec tout sinon bonjour les maux de têtes.
Bon réveillon
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h04   #11
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML => PHP

Bonjour,

Oui j'ai bien les différenes, je ne suis pas aveugle...
Et ce n'est pas e que j'ai voulu dire....

Dans l'HTML, je N'AI VU AUCUNE différence....

Code :
1
2
3
4
5
6
<body>

<?php
$form->start($name="test") ;
?>
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h10   #12
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML => PHP

Merci mais pb en ligne 27

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
		function __construct($action = NULL, $method = NULL,   $id = NULL, $name = NULL) {   
//		   $this->initForm($form);
		   $this->action = ($action != NULL) ? $action : $_SERVER['PHP_SELF'];
		   $this->method = ($method != NULL) ? $method : 'POST';
				 
		   //
		   //   name OR id must be specified
		   //   ============================
		 
		   
		   if ( ! (isset($id) || isset($name))) {
27 ==>			  user_error("NAME or ID Should be specified" , E_USER_ERROR);
		   
		   } elseif ( ! isset($id)) {
			  $id = $name;
		   
		   } else {
			  $name = $id;
		   }
		   
		   $this->id = ($id != NULL) ? $id : NULL;
		   $this->name = ($name != NULL) ? $name : NULL;
		}
dans le log, j'ai:

Code :
1
2
 
PHP Fatal error:  NAME or ID Should be specified in F:\WebSites\date\class\form.php on line 27
Et même si je fais mon appel avec $name="test"...

Code :
1
2
3
4
5
6
<body>

<?php
$form->start($name="test") ;
?>
var_dump($id,$name) ; en 25 me donne NULL, NULL

Dur sur de commencer la journée ainsi.....

Merci
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h11   #13
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 456
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 456
Points : 2 541
Points : 2 541
Envoyer un message via Skype™ à rawsrc
PHP ne gère pas le nommage des paramètres.
donc
Code :
$form->start($name="test");
ne sert à rien à part suivre une variable $name dans le contexte d'exécution du parent.
D'ailleurs à quoi cela te sert de passer 'test' à la fonction start() vu qu'elle ne gère pas de paramètres. Ce paramètre devrait être passé au constructeur et ensuite il faudrait appeler start().
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h22   #14
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML => PHP

Je pense que c'est raté....

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
	class Form extends Stack
	{	private $form, $formValid, $check ;
		private $action, $method, $id, $name ;
		
/**
* 		From constructor
*
*/	
		function __construct($action = NULL, $method = NULL,   $id = NULL, $name = NULL) {   
//		   $this->initForm($form);
		   $this->action = ($action != NULL) ? $action : $_SERVER['PHP_SELF'];
		   $this->method = ($method != NULL) ? $method : 'POST';
				 
		   //
		   //   name OR id must be specified
		   //   ============================
		 
var_dump($id,$name) ;me donne NULL,NULL => pige pas pkoi		   
		   if ( ! (isset($id) || isset($name))) {
			  user_error("NAME or ID Should be specified" , E_USER_ERROR);
		   
		   } elseif ( ! isset($id)) {
			  $id = $name;
		   
		   } else {
			  $name = $id;
		   }
		}				
			
		function __destruct()
		{}
			
		function validate()
		{}
			
			
/**
* 		Form Start
*
*/	
		function start()
		{	
			echo '<form action="/index.php" method="post" name="'.$this->name.'" id="'.$this->id.'">' ;
// 			echo "<form action='/index.php' method='post' name='.$this->name.' id='.$this->id.'>" ;   
		}
et le constructeur de Form est appelé comme suit:

Code :
1
2
 
	$form      = new Form($name="ABCD") ;
le start n'a pas changé:
Code :
1
2
3
4
 
<?php
$form->start() ;
?>
Dur dur d'être un artiste.....
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h25   #15
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 456
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 456
Points : 2 541
Points : 2 541
Envoyer un message via Skype™ à rawsrc
Comme je te l'ai dit PHP ne gère pas les paramètres nommés, il faut passer les paramètres dans l'ordre :
Remplace
Code :
$form      = new Form($name="ABCD") ;
par
Code :
$form = new Form(NULL, NULL, NULL, "ABCD");
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h33   #16
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML => PHP

Cela va déjà 2 poils + loin....

Mais la génération HTML me donne (ou ne me donz ps $name="ABCD"

Code :
1
2
3
4
5
6
7
8
</head>
NULL
string(4) "ABCD"

<body>

<form action="/index.php" method="post" name="" id="">  <table width="818" class="table_bkg">
Mais je viens d'apprendre qlqchose au niveau du onstruteur, TOUS les paramètres doivent être présents, mais alors à quoi servent les paramètres du type $param="qlchose" si les autres ne peuvent être omis, à leur donner une valeur par dfaut en cas d’omission ?

Donc, si j'ai dans le constructeur:
Code :
1
2
 
		function __construct($action = NULL, $method = NULL,   $id = NULL, $name = "test") {
je pourrais faire:

Code :
1
2
 
	$form 		= new Form(NULL, NULL, NULL);
Je teste....

Merci encore....
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h39   #17
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML => PHP

Encore un poil + loin....

mais l'HTML est faux:

Code :
1
2
3
4
5
6
7
NULL
string(4) "test"

<body>

<form action="/index.php" method="post" name="" id="">  <table width="818" class="table_bkg">
Plus d'erreur dans le log....

Mais GROSSE erreur, cela va bcp mieux ainsi:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
		   if ( ! (isset($id) || isset($name))) {
			  user_error("NAME or ID Should be specified" , E_USER_ERROR);
		   
		   } elseif ( ! isset($id)) {
			  $id = $name;
		   
		   } else {
			  $name = $id;
		   }
		   $this->name = $name ;
		   $this->id   = $id ;
Et c'est une erreur de logique et non du PHP...... grrrrrrrr

Code :
1
2
3
ET c'est BIEN ce que je pensais, TOUS LES PARAMETRES NE DOIVENT PAS ETRE APPELES 
si dans le constructeur on trouve $PARAMx = "value" pour les non_appelés !!!!!!
Merci à tous
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h48   #18
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 456
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 456
Points : 2 541
Points : 2 541
Envoyer un message via Skype™ à rawsrc
Les paramètres peuvent être omis lors d'un appel de fonction. S'ils ont une valeur par défaut c'est cette dernière qui leur sera attachée durant l'exécution du corps de la fonction. C'est la raison pour laquelle on place les paramètres optionnels ayant une valeur par défaut en fin de signature de la fonction de telle manière à pouvoir les omettre.

Donc
Code :
$form = new Form(NULL, NULL, NULL, NULL)
est équivalent à Le constructeur de Form ne possède que des paramètres optionnels avec une valeur par défaut donc si un paramètre est omis, c'est sa valeur par défaut qui lui sera rattachée.
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 10h50   #19
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut HTML -> PHP

Exact.... merci enore
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 11h08   #20
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Finance

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut BCP MIEuX ainsi

Non sorry, pas résolu....

Si j'ai mon constructeur:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
		function __construct($action = NULL, $method = NULL, $id = NULL, $name = NULL) {   
//		   $this->initForm($form);
		   $this->action = ($action != NULL) ? $action : $_SERVER['PHP_SELF'];
		   $this->method = ($method != NULL) ? $method : 'POST';
				 
		   //
		   //   name OR id must be specified
		   //   ============================
		   if ( ! (isset($id) || isset($name))) {
==> 26	user_error("NAME or ID Should be specified" , E_USER_ERROR);
		   
		   } elseif ( ! isset($id)) {
			  $id = $name;
		   
		   } else {
			  $name = $id;
		   }
		   $this->name = $name ;
		   $this->id   = $id ;
		}
Ceci est la définition, mais l'instanciation vaut:

Code :
1
2
	$form 		= new Form($name = "test");
J'ai dans le log:

Code :
1
2
 
PHP Fatal error:  NAME or ID Should be specified in F:\WebSites\date\class\form.php on line 26
avec l'appel à start... inchangé...

Code :
1
2
3
4
 
<?php
$form->start() ;
?>

CELA VA BCP MIEUX AINSI:


Code :
1
2
 
<form action="/index.php" method="post" name="test" id="test">
avec le construteur corrigé ainsi...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
		   if ((isset($id) && isset($name))) {
			  user_error("NAME or ID Should be specified" , E_USER_ERROR);
		   
		   } elseif ( ! isset($id)) {
			  $id = $name;
		   
		   } else {
			  $name = $id;
		   }
		   $this->name = $name ;
		   $this->id   = $id ;
		}
Je fais des erreurs ok, mais ne suis pas le seul mais vous ètes excusés...
Maintenant, je pense que je peux flagger ce problème comme résolu !

Merci à tous et bon réveillon !
__________________
Esteban
ETVigan 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 12h24.


 
 
 
 
Partenaires

Hébergement Web