Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1610 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variables passées dans une URL sont-elles considérées comme des string

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variables passées dans une URL sont-elles considérées comme des string

n°163624
Dost67
Posté le 21-06-2002 à 18:15:50  profilanswer
 

Code :
  1. <a href="mapage.php?text=ce_texte_la&nb=5">

Dans ce cas quand je récupèrerai $nb dans la page suivante, est-ce que ce sera un (double) ou un (string) ?

mood
Publicité
Posté le 21-06-2002 à 18:15:50  profilanswer
 

n°163625
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-06-2002 à 18:17:37  profilanswer
 

bhen les variables ont pas de type... enfin t'en fais ce que tu veux
 
si nb = 0.9
 
$machin = $nb + 1.1;
 
machin vaudra 2
 
$machin = $nb . "a";
 
machin vaudra "0.9a"
 
il me semble...
 
Ha et tu dois pas mettre & mais &


Message édité par antp le 21-06-2002 à 18:18:09
n°163634
kayasax
Posté le 21-06-2002 à 18:57:06  profilanswer
 

no antp & c'est pour passer plusieurs parametres :)  

antp a écrit a écrit :

bhen les variables ont pas de type... enfin t'en fais ce que tu veux
 
si nb = 0.9
 
$machin = $nb + 1.1;
 
machin vaudra 2
 
$machin = $nb . "a";
 
machin vaudra "0.9a"
 
il me semble...
 
Ha et tu dois pas mettre & mais &  




---------------
All we need is a soul revolution
n°163647
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-06-2002 à 19:24:01  profilanswer
 

tu écris du HTML ou XHTML je suppose
& indique le début d'une séquence spéciale
& signifie "&"
cf mon site: www.antp.be
tous les liens ont des & et pas des &
si tu mets & au lieu de & ça passe pas la validation du W3C, et ça peut foirer si par ex une de tes variable s'appelle "nbsp" :D

n°163755
Dost67
Posté le 22-06-2002 à 11:34:37  profilanswer
 

Bien sûr que si les variables ont un type. Je viens de tester...

Code :
  1. <?
  2. if (isset($foo))
  3.   echo 'FOO type : '.gettype($foo).'<br>';
  4. if (isset($bar))
  5.   echo 'BAR type : '.gettype($bar).'<br>';
  6. ?>
  7. <br>
  8. <a href="test.php?foo=cetexte&bar=0.8>Click</a>

-->
FOO type : string
BAR type : string


Message édité par Dost67 le 22-06-2002 à 11:36:41
n°163772
bidonSyste​m
Posté le 22-06-2002 à 12:37:00  profilanswer
 

Toutes les variables récupérées par méthode GET ou POST (donc présentes dans les tableaux $_GET et $_POST) sont du type string.
 
Si tu veux les convertir en integer il suffit de faire ce genre de manip :
 

Code :
  1. $nombre = (integer) $_GET['nombre'];


 
Enfin bon, le moteur de PHP sait reconnaitre aussi le type de variable. Par exemple il est possible d'additionner un entier avec une chaine de caractères si cette chaine ne contient que des chiffres.
 
Exemple :

Code :
  1. $nombre = "15" + 15;


$nombre : 30
 
Le transtypage n'est que rarement nécessaire mais si tu insistes pour l'utiliser. tu peux aussi utiliser la fonction suivante :
 

Code :
  1. $nombre = settype($nombre, "integer" );


 
Pour plus d'informations, regardes la doc officielle :
http://www.php.net/manual/fr/ref.variables.php
 
Bonne chance ;)
 
---
Ge-Off
http://zegoodboy.free.fr


Message édité par bidonSystem le 22-06-2002 à 12:40:56
n°163811
Dost67
Posté le 22-06-2002 à 16:01:39  profilanswer
 

Est-ce que

Code :
  1. $nb = (integer)$nb

est égale à

Code :
  1. $nb = settype($nb, 'integer');

???

n°163953
bidonSyste​m
Posté le 22-06-2002 à 22:48:16  profilanswer
 

Oui c'est équivalent, à la différence près que settype retourne "True" ou "False" si le transtypage s'est bien effectué.
 
Pour voir la différence essayes ceci...
 

Code :
  1. $nombre = "15"; // $nombre est un chaine de caractères --> "..."
  2. echo "<PRE>\n";
  3. echo (int) $nombre."\n";
  4. echo gettype($nombre)."\n\n";
  5. if ( settype($nombre, "integer" ) ) {
  6.     echo $nombre."\n";
  7.     echo gettype($nombre)."\n";
  8. }
  9. echo "</PRE>\n";


 
Tu verras ainsi que "settype()" change directement le type de la variable alors que pour changer de type avec "(int)" il faut passer par une affectation.
 
Voilà ;D
 
---
Ge-Off
http://zegoodboy.free.fr

n°164108
Dost67
Posté le 23-06-2002 à 17:37:23  profilanswer
 

OK... donc

Code :
  1. $nb = (int)$nb

ou

Code :
  1. settype($nb, 'integer')


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variables passées dans une URL sont-elles considérées comme des string

 

Sujets relatifs
[PHP] tableau vers string !!!![Delphi] String Tokeniser, Explode?
[php] cai koi un string?Changer l'URL de la fenêtre mère depuis un pop-up fils
[ JAVA ] Comment effacer un espace vide dans une String ?[PHP] les variables ne passent plus apres une mise a jour de PHP !
[VB] Saisie du caratère " dans une variable de type Stringstl string avec vc++
[java] dernière occurence d'un caractère dans une String[LotusScript] c possible de convertir un string en double ???
Plus de sujets relatifs à : Variables passées dans une URL sont-elles considérées comme des string


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR