Page 1 sur 1

variables dans php

Posté : 25 mars 2013, 20:39
par torquemada14
Bonjour à tous,
Dans un livre sur php 3 et 4PHP chez wrox (épuisé) on donne comme exemple pour montrer que php est peu typé le code cité un peu plus bas, or après la phrase "vous avez saisi :" rien n' apparait. php 5 a-t-il changé cet aspect des choses .
Merci de m'avoir consacré de votre temps.

<HTML>

<FORM>
   Veuillez saisir votre nom ici :<BR>
   <INPUT TYPE=TEXT NAME=utilisateur><BR><BR>
   <INPUT TYPE=SUBMIT VALUE="Soumettre">
</FORM>

<BR><BR>
Vous avez saisi :

<?php
   echo($utilisateur);  
?>

</HTML>


Re: variables dans php

Posté : 25 mars 2013, 20:45
par damien_55
Salut,

C'est un peu normal. ta variable $utilisateur n'est pas défini.

ça peut etre $utilisateur= $_POST['utilisateur'];

Re: variables dans php

Posté : 25 mars 2013, 21:12
par Ryle
Effectivement, php 5 a apporté pas mal de changement, dont notamment plus de sécurité dans l'utilisation des variables.

Le code que tu donnes en exemple doit afficher un formulaire (bloc html) avec un champ de saisie et un bouton pour soumettre ton nom. Lorsqu'un nom a été soumis, la partie du bas (le bloc php) va afficher la valeur renseignée dans le formulaire reçue par le serveur.

Ca, c'est la théorie :)

Dans la pratique, php 5 impose par défaut de spécifier d'où proviennent les variables que l'on utilise. Celles-ci peuvent provenir :
- d'une variable dans l'url, c'est la méthode get. la variable est alors accessible via $_GET['leNomDeLaVariable']
- d'un formulaire envoyé via la méthode post, la variable est alors accessible via $_POST['leNomDuChampDuFormulaire'] (c'est le cas ici)
- d'un cookie (information stockée sur le disque du visiteur pour pouvoir la récupérer lors de sa prochaine visite ($_COOKIE['leNomDeLaVariable'])
- d'une session (information stockée en mémoire sur le serveur pour pouvoir la récupérer tant que l'utilisateur est connecté ($_SESSION['leNomDeLaVariable'])
- ou simplement avoir été déclarée précédemment dans le code (je créer une variable, je peux l'utiliser : $nomDeMaVariable

Tu peux donc modifier ton code comme l'a suggéré damien
<?php
  echo $_POST['utilisateur'];  
?>
Sachant que ceci générera un message d'avertissement quand tu ouvriras la page (puisque tu demandes d'afficher une variable provenant de POST, alors qu'aucune donnée n'a encore été envoyée). Il est donc préférable de vérifier la présence de cette variable avant de l'afficher :
<?php
  if (isSet($_POST['utilisateur'])) { // on test si la variable existe
     echo $_POST['utilisateur'];  // si oui on l'affiche
  }
  else { // facultatif, on peut même faire quelque chose quand elle n'existe pas, donc pour le premier affichage du formulaire
     echo 'Vous n\'avez rien saisi pour le moment...';
  }
?>
Bon pis tu verras par la suite que le if() peut même être placé avant pour que le message "vous avez saisi" n'apparaisse que si le formulaire a été soumit...

Vala, j'espère que c'est plus clair :)

Re: variables dans php

Posté : 25 mars 2013, 21:46
par Torquemada14
Merci à tous les deux ; mon bouquin est doc bien un peu obsolète.

Re: variables dans php

Posté : 25 mars 2013, 22:25
par yann18
Merci à tous les deux ; mon bouquin est doc bien un peu obsolète.
laisses tomber ton bouquin il n'est plus d'actualité. il t'induira plus en erreur en termes de mauvaises pratiques avec un code inadapté pour PHP 5.
De nos jours il y a suffisamment de très bons bouquins qui traitent du PHP5.