Je débute en PHP, et ne comprends pas pourquoi ceci marche : $test = "bonjour $nom";
alors que cela non : $test = "bonjour $_POST['nom']";
Déjà, une première chose, une variable n'a rien à faire dans une chaine de caractères.
Donc il faut écrire soit : $test = "bonjour ".$nom; soit $test = "bonjour ".$_POST["nom"];
(je sais que $test ="bonjour" .$POST['nom']; fonctionne mais ce n'est pas la réponse à ma question)
Et est-ce que tu es sur de tes variables? C'est $POST ou $_POST ? Ce n'est pas la même chose.
-- GéraLd : http://gerald.fauvelle.free.fr | Photos : http://www.gg.free.fr | myStats : Système de statistiques | Version 1.0.8 - http://my.stats.free.fr
UrlUberlU
Déjà, une première chose, une variable n'a rien à faire dans une chaine de caractères.
Message reçu.
Donc il faut écrire soit : $test = "bonjour ".$nom; soit $test = "bonjour ".$_POST["nom"];
(je sais que $test ="bonjour" .$POST['nom']; fonctionne mais ce n'est pas la réponse à ma question)
Et est-ce que tu es sur de tes variables? C'est $POST ou $_POST ? Ce n'est pas la même chose.
Erreur de frappe, c'était bien $_POST. Ma question ne portait pas sur l'usage des variable, mais sur le fait que dans un cas cela fonctionnait et que dans l'autre non.
Le précédent post a trés bien répondu à ma question, et de l'avis commun j'adopte définitivement :
$test = "bonjour".$_POST["nom"];
Merci a tous les 2.
Par contre, si $_POST["nom"] et $_POST['nom'] fonctionnent bien, que faut il préférer : les simples ou doubles quotes et pourquoi ? Quels sont les usages respectifs de ' ' et " " ?
-- UrlUberlU
Déjà, une première chose, une variable n'a rien à faire dans une chaine de
caractères.
Message reçu.
Donc il faut écrire soit :
$test = "bonjour ".$nom;
soit
$test = "bonjour ".$_POST["nom"];
(je sais que $test ="bonjour" .$POST['nom']; fonctionne mais ce n'est
pas la réponse à ma question)
Et est-ce que tu es sur de tes variables? C'est $POST ou $_POST ? Ce n'est
pas la même chose.
Erreur de frappe, c'était bien $_POST. Ma question ne portait pas sur
l'usage des variable, mais sur le fait que dans un cas cela
fonctionnait et que dans l'autre non.
Le précédent post a trés bien répondu à ma question, et de l'avis
commun j'adopte définitivement :
$test = "bonjour".$_POST["nom"];
Merci a tous les 2.
Par contre, si $_POST["nom"] et $_POST['nom'] fonctionnent bien, que
faut il préférer : les simples ou doubles quotes et pourquoi ? Quels
sont les usages respectifs de ' ' et " " ?
Déjà, une première chose, une variable n'a rien à faire dans une chaine de caractères.
Message reçu.
Donc il faut écrire soit : $test = "bonjour ".$nom; soit $test = "bonjour ".$_POST["nom"];
(je sais que $test ="bonjour" .$POST['nom']; fonctionne mais ce n'est pas la réponse à ma question)
Et est-ce que tu es sur de tes variables? C'est $POST ou $_POST ? Ce n'est pas la même chose.
Erreur de frappe, c'était bien $_POST. Ma question ne portait pas sur l'usage des variable, mais sur le fait que dans un cas cela fonctionnait et que dans l'autre non.
Le précédent post a trés bien répondu à ma question, et de l'avis commun j'adopte définitivement :
$test = "bonjour".$_POST["nom"];
Merci a tous les 2.
Par contre, si $_POST["nom"] et $_POST['nom'] fonctionnent bien, que faut il préférer : les simples ou doubles quotes et pourquoi ? Quels sont les usages respectifs de ' ' et " " ?
-- UrlUberlU
Bobe
Guillaume Bouchard déclarait le 22/08/2003 13:28:
UrlUberlU wrote:
Je débute en PHP, et ne comprends pas pourquoi ceci marche : $test = "bonjour $nom";
Si, car de toute façon la premiere methode est degeulasse :)
'nom' est une chaine de caractere, donc tu a donc deux chaines de caracteres imbriqués...
$test = "bonjour $_POST[nom]";
Fonctionera mieux.
Solution tout aussi "dégueulasse".
$test = "bonjour $_POST['nom']";
est théoriquement correct. Pour être plus stricte, essaie avec :
$test = "bonjour {$_POST['nom']}";
ou
$test = 'bonjour ' . $_POST['nom']; (et non $POST['nom'] ;) )
-- Bobe (Aurélien Maille)
Guillaume Bouchard déclarait le 22/08/2003 13:28:
UrlUberlU wrote:
Je débute en PHP, et ne comprends pas pourquoi ceci marche :
$test = "bonjour $nom";
Si, car de toute façon la premiere methode est degeulasse :)
'nom' est une chaine de caractere, donc tu a donc deux chaines de
caracteres imbriqués...
$test = "bonjour $_POST[nom]";
Fonctionera mieux.
Solution tout aussi "dégueulasse".
$test = "bonjour $_POST['nom']";
est théoriquement correct. Pour être plus stricte, essaie avec :
$test = "bonjour {$_POST['nom']}";
ou
$test = 'bonjour ' . $_POST['nom']; (et non $POST['nom'] ;) )
Je débute en PHP, et ne comprends pas pourquoi ceci marche : $test = "bonjour $nom";
Si, car de toute façon la premiere methode est degeulasse :)
'nom' est une chaine de caractere, donc tu a donc deux chaines de caracteres imbriqués...
$test = "bonjour $_POST[nom]";
Fonctionera mieux.
Solution tout aussi "dégueulasse".
$test = "bonjour $_POST['nom']";
est théoriquement correct. Pour être plus stricte, essaie avec :
$test = "bonjour {$_POST['nom']}";
ou
$test = 'bonjour ' . $_POST['nom']; (et non $POST['nom'] ;) )
-- Bobe (Aurélien Maille)
John GALLET
Bonjour,
$test = "bonjour $nom"; alors que cela non : $test = "bonjour $_POST['nom']"; En ce qui me concerne, j'ai touours considéré ça complètement débile. Il n'y
a pas de raison logique, c'est la syntaxe de PHP qui veut ça. Le parseur a besoin de retrouver les tableaux associatifs. Ta syntaxe marche parfaitement avec $test="bonjour $tableau[0] ";
(je sais que $test ="bonjour" .$POST['nom']; fonctionne mais ce n'est pas la réponse à ma question)
Il n'y a pas de réponse à ta question, c'est la syntaxe qui le veut c'est tout. Noter que la syntaxe suivante marchera aussi avec des tableaux associatifs : $test="bonjour {$_POST['nom']}";
Si, car de toute façon la premiere methode est degeulasse :) ??
$test = "bonjour $_POST[nom]";
Non non et non : un tableau associatif en php doit avoir le nom de sa clef entre quotes, c'est indiqué texto dans la manuel avec deux écrans d'explications fumeuses quand au pourquoi du comment de la raison.
Fonctionera mieux. Mais n'est pas syntaxiquement correct.
a++ JG
Bonjour,
$test = "bonjour $nom";
alors que cela non :
$test = "bonjour $_POST['nom']";
En ce qui me concerne, j'ai touours considéré ça complètement débile. Il n'y
a pas de raison logique, c'est la syntaxe de PHP qui veut ça. Le parseur a
besoin de retrouver les tableaux associatifs. Ta syntaxe marche parfaitement
avec $test="bonjour $tableau[0] ";
(je sais que $test ="bonjour" .$POST['nom']; fonctionne mais ce n'est
pas la réponse à ma question)
Il n'y a pas de réponse à ta question, c'est la syntaxe qui le veut c'est
tout. Noter que la syntaxe suivante marchera aussi avec des tableaux
associatifs :
$test="bonjour {$_POST['nom']}";
Si, car de toute façon la premiere methode est degeulasse :)
??
$test = "bonjour $_POST[nom]";
Non non et non : un tableau associatif en php doit avoir le nom de sa clef
entre quotes, c'est indiqué texto dans la manuel avec deux écrans
d'explications fumeuses quand au pourquoi du comment de la raison.
Fonctionera mieux.
Mais n'est pas syntaxiquement correct.
$test = "bonjour $nom"; alors que cela non : $test = "bonjour $_POST['nom']"; En ce qui me concerne, j'ai touours considéré ça complètement débile. Il n'y
a pas de raison logique, c'est la syntaxe de PHP qui veut ça. Le parseur a besoin de retrouver les tableaux associatifs. Ta syntaxe marche parfaitement avec $test="bonjour $tableau[0] ";
(je sais que $test ="bonjour" .$POST['nom']; fonctionne mais ce n'est pas la réponse à ma question)
Il n'y a pas de réponse à ta question, c'est la syntaxe qui le veut c'est tout. Noter que la syntaxe suivante marchera aussi avec des tableaux associatifs : $test="bonjour {$_POST['nom']}";
Si, car de toute façon la premiere methode est degeulasse :) ??
$test = "bonjour $_POST[nom]";
Non non et non : un tableau associatif en php doit avoir le nom de sa clef entre quotes, c'est indiqué texto dans la manuel avec deux écrans d'explications fumeuses quand au pourquoi du comment de la raison.
Fonctionera mieux. Mais n'est pas syntaxiquement correct.
a++ JG
Gg
On 22 Aug 2003 14:02:22 GMT, UrlUberlU wrote:
Par contre, si $_POST["nom"] et $_POST['nom'] fonctionnent bien, que faut il préférer : les simples ou doubles quotes et pourquoi ?
Euh.. c'est pareil :-) Enfin, moi je préfère les doubles, question purement esthétique :-)
Quels sont les usages respectifs de ' ' et " " ?
C'est la même choses. Parfois on peut marier les deux, notamment pour écrire du HTML, genre :
Et ne pas mettre le n entre simple quotes, sinon il s'affiche tel quel dans la page. Fait un petit test sur ces exemples pour t'en rendre compte.
-- GéraLd : http://gerald.fauvelle.free.fr | Photos : http://www.gg.free.fr | myStats : Système de statistiques | Version 1.0.8 - http://my.stats.free.fr
John GALLET
$test = "bonjour $_POST[nom]"; Non non et non : un tableau associatif en php doit avoir le nom de sa clef
entre quotes, c'est indiqué texto dans la manuel avec deux écrans d'explications fumeuses quand au pourquoi du comment de la raison.
Il retire ce qu'il a dit et donc Guillaume tu as raison dans le cas où on est déjà entre doubles quotes. http://fr.php.net/manual/en/language.types.array.php
Note: To reiterate, inside a double-quoted string, it's valid to not surround array indexes with quotes so "$foo[bar]" is valid.
Comme quoi s'enfiler les deux pages de blabla de temps à autres c'est pas si mal que ça.
a++ JG
$test = "bonjour $_POST[nom]";
Non non et non : un tableau associatif en php doit avoir le nom de sa clef
entre quotes, c'est indiqué texto dans la manuel avec deux écrans
d'explications fumeuses quand au pourquoi du comment de la raison.
Il retire ce qu'il a dit et donc Guillaume tu as raison dans le cas où on
est déjà entre doubles quotes.
http://fr.php.net/manual/en/language.types.array.php
Note: To reiterate, inside a double-quoted string, it's valid to not
surround array indexes with quotes so "$foo[bar]" is valid.
Comme quoi s'enfiler les deux pages de blabla de temps à autres c'est pas si
mal que ça.
$test = "bonjour $_POST[nom]"; Non non et non : un tableau associatif en php doit avoir le nom de sa clef
entre quotes, c'est indiqué texto dans la manuel avec deux écrans d'explications fumeuses quand au pourquoi du comment de la raison.
Il retire ce qu'il a dit et donc Guillaume tu as raison dans le cas où on est déjà entre doubles quotes. http://fr.php.net/manual/en/language.types.array.php
Note: To reiterate, inside a double-quoted string, it's valid to not surround array indexes with quotes so "$foo[bar]" is valid.
Comme quoi s'enfiler les deux pages de blabla de temps à autres c'est pas si mal que ça.
a++ JG
John GALLET
Re,
Déjà, une première chose, une variable n'a rien à faire dans une chaine de
caractères. Message reçu.
Et bien rejette le parce que c'est n'importe quoi.
Le précédent post a trés bien répondu à ma question, et de l'avis commun j'adopte définitivement : $test = "bonjour".$_POST["nom"];
Ou des {} sans opérateur de concaténation, c'est comme tu le sens.
Par contre, si $_POST["nom"] et $_POST['nom'] fonctionnent bien, que faut il préférer : les simples ou doubles quotes et pourquoi ? Quels sont les usages respectifs de ' ' et " " ? Voir le manuel :
Et lis bien toute la page du second lien parce que je viens d'en redécouvrir une en le faisant, donc faut bien lire les petits caractères et les notes perdues en plein milieu.
a++ JG
Re,
Déjà, une première chose, une variable n'a rien à faire dans une chaine
de
caractères.
Message reçu.
Et bien rejette le parce que c'est n'importe quoi.
Le précédent post a trés bien répondu à ma question, et de l'avis
commun j'adopte définitivement :
$test = "bonjour".$_POST["nom"];
Ou des {} sans opérateur de concaténation, c'est comme tu le sens.
Par contre, si $_POST["nom"] et $_POST['nom'] fonctionnent bien, que
faut il préférer : les simples ou doubles quotes et pourquoi ? Quels
sont les usages respectifs de ' ' et " " ?
Voir le manuel :
Et lis bien toute la page du second lien parce que je viens d'en redécouvrir
une en le faisant, donc faut bien lire les petits caractères et les notes
perdues en plein milieu.
Déjà, une première chose, une variable n'a rien à faire dans une chaine de
caractères. Message reçu.
Et bien rejette le parce que c'est n'importe quoi.
Le précédent post a trés bien répondu à ma question, et de l'avis commun j'adopte définitivement : $test = "bonjour".$_POST["nom"];
Ou des {} sans opérateur de concaténation, c'est comme tu le sens.
Par contre, si $_POST["nom"] et $_POST['nom'] fonctionnent bien, que faut il préférer : les simples ou doubles quotes et pourquoi ? Quels sont les usages respectifs de ' ' et " " ? Voir le manuel :
Et lis bien toute la page du second lien parce que je viens d'en redécouvrir une en le faisant, donc faut bien lire les petits caractères et les notes perdues en plein milieu.
a++ JG
Gg
On 22 Aug 2003 14:37:11 GMT, John GALLET wrote:
Déjà, une première chose, une variable n'a rien à faire dans une chaine de caractères.
On va pas utiliser un opérateur de concaténation à chaque fois qu'on se trimballe une variable à tripoter dans une string. C'est illisible et impossible à maintenir,
C'est plutôt le contraire. Je trouve illisible une chaine avec des variables à l'intérieur. Il faut se taper toute le chaine pour être sur de ne pas les rater. En les concaténant, elles sont bien plus visibles, surtout avec la coloration syntaxique.
Si PHP remplace les variables par leur valeur dans une string entre doubles quotes, c'est pas fait pour les chiens.
Apparemment ça pose des problèmes, d'où ce thread.
-- GéraLd : http://gerald.fauvelle.free.fr | Photos : http://www.gg.free.fr | myStats : Système de statistiques | Version 1.0.8 - http://my.stats.free.fr
On 22 Aug 2003 14:37:11 GMT, John GALLET wrote:
Déjà, une première chose, une variable n'a rien à faire dans une chaine de
caractères.
On va pas utiliser un opérateur de concaténation à chaque fois qu'on se
trimballe une variable à tripoter dans une string. C'est illisible et
impossible à maintenir,
C'est plutôt le contraire.
Je trouve illisible une chaine avec des variables à l'intérieur. Il faut se
taper toute le chaine pour être sur de ne pas les rater.
En les concaténant, elles sont bien plus visibles, surtout avec la
coloration syntaxique.
Si PHP remplace les variables par leur valeur dans une string entre doubles
quotes, c'est pas fait pour les chiens.
Apparemment ça pose des problèmes, d'où ce thread.
--
GéraLd : http://gerald.fauvelle.free.fr
| Photos : http://www.gg.free.fr
| myStats : Système de statistiques
| Version 1.0.8 - http://my.stats.free.fr
Déjà, une première chose, une variable n'a rien à faire dans une chaine de caractères.
On va pas utiliser un opérateur de concaténation à chaque fois qu'on se trimballe une variable à tripoter dans une string. C'est illisible et impossible à maintenir,
C'est plutôt le contraire. Je trouve illisible une chaine avec des variables à l'intérieur. Il faut se taper toute le chaine pour être sur de ne pas les rater. En les concaténant, elles sont bien plus visibles, surtout avec la coloration syntaxique.
Si PHP remplace les variables par leur valeur dans une string entre doubles quotes, c'est pas fait pour les chiens.
Apparemment ça pose des problèmes, d'où ce thread.
-- GéraLd : http://gerald.fauvelle.free.fr | Photos : http://www.gg.free.fr | myStats : Système de statistiques | Version 1.0.8 - http://my.stats.free.fr
est théoriquement correct. Pour être plus stricte, essaie avec :
$test = "bonjour {$_POST['nom']}";
supposons que j'ai une var (tableau associatif) :
$tab_types_vins=array( 'Gris' => 'gris', 'Jaune' => 'jaune', 'Blanc' => 'blanc', 'Rouge' => 'rouge', 'Rosé' => 'rose'); y at'il une différence syntaxique entre : $tab_types_vins{'Rosé'} et $tab_types_vins['Rosé'] du manière générale entre crochets [] et accolades {} ??? donc entre $_POST['nom'] et $_POST{'nom'} ??? bien sûr j'ai remarqué que : foreach($tab_types_vins as $c => $v){ echo $c." => ".$tab_types_vins{$c}." avec {}<br/>"; echo $c." => ".$tab_types_vins[$c]." avec []<br/>"; }
est théoriquement correct. Pour être plus stricte, essaie avec :
$test = "bonjour {$_POST['nom']}";
supposons que j'ai une var (tableau associatif) :
$tab_types_vins=array( 'Gris' => 'gris',
'Jaune' => 'jaune',
'Blanc' => 'blanc',
'Rouge' => 'rouge',
'Rosé' => 'rose');
y at'il une différence syntaxique entre :
$tab_types_vins{'Rosé'} et $tab_types_vins['Rosé']
du manière générale entre crochets [] et accolades {} ???
donc entre $_POST['nom'] et $_POST{'nom'} ???
bien sûr j'ai remarqué que :
foreach($tab_types_vins as $c => $v){
echo $c." =>
".$tab_types_vins{$c}." avec {}<br/>";
echo $c." =>
".$tab_types_vins[$c]." avec []<br/>";
}
est théoriquement correct. Pour être plus stricte, essaie avec :
$test = "bonjour {$_POST['nom']}";
supposons que j'ai une var (tableau associatif) :
$tab_types_vins=array( 'Gris' => 'gris', 'Jaune' => 'jaune', 'Blanc' => 'blanc', 'Rouge' => 'rouge', 'Rosé' => 'rose'); y at'il une différence syntaxique entre : $tab_types_vins{'Rosé'} et $tab_types_vins['Rosé'] du manière générale entre crochets [] et accolades {} ??? donc entre $_POST['nom'] et $_POST{'nom'} ??? bien sûr j'ai remarqué que : foreach($tab_types_vins as $c => $v){ echo $c." => ".$tab_types_vins{$c}." avec {}<br/>"; echo $c." => ".$tab_types_vins[$c]." avec []<br/>"; }