Bonjour à toutes et à tous,

Comprendre un premier exemple

Je suis débutant. J'ai planché sur un exemple.

<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Emploi_TP2_Corrige</title>
  <link rel="stylesheet" href="css/style.css">
  <script type="text/javascript" src="sympa.js"> </script>

</head>
<body>
<p><h1>BONJOUR</h1></p>
<?php
 //Initialisation des variables
        $travail='L\'informatique';
        $salaire=2000;
        $etude=false;
        $bac=11.5;
        //affichage
		
        echo'Le salaire auquel j\'aspire pour bien vivre : <b>'.$salaire.'</b>€<br/>
        La branche dans laquelle je travaille ou souhaiterais travailler : <b>'.$travail.'</b><br/>
        Pour preciser : <b>'.$travail.'</b>';
        if ($etude==true){
            echo' <b>est la branche dans laquelle je souhaiterais travailler.</b><br/>';
        }
        else{
            echo' <b>est la branche dans laquelle je travaille.</b><br/>';
        }
        echo'La note moyenne que j\'ai obtenue au bac : <b>'.$bac.'</b>';
		
?>
</body>
</html>

WampServeur affiche :

BONJOUR
Le salaire auquel j'aspire pour bien vivre : 2000€
La branche dans laquelle je travaille ou souhaiterais travailler : L'informatique
Pour préciser : L'informatique est la branche dans laquelle je travaille.
La note moyenne que j'ai obtenue au bac : 11.5 

Les variables se comportent comme du texte, je ne peux pas changer leur valeur.
Dans cet exemple on introduit un test. Mais la variable $etude n’apparaît que dans le test :
je ne comprends pas pourquoi !
Le comportement de cet exemple est-il normal ?
Y a-t-il une erreur ? Où ?

Avec mes remerciements
Cordialement
Papy
Modifié par Jean Sympa (22 May 2015 - 10:49)
Modérateur
Bonjour Smiley smile

Jean Sympa a écrit :
Le comportement de cet exemple est-il normal ?
Y a-t-il une erreur ? Où ?
Oui, tout à l'air normal.

Jean Sympa a écrit :
Les variables se comportent comme du texte, je ne peux pas changer leur valeur.

Les variables sont des variables et donc peuvent varier ! Smiley lol Je crois qu'il y a un petit malentendu au niveau du langage. C'est du php, un langage éxécuté coté serveur. Les variable sont traité coté serveur mais ne sont pas affichées. pour afficher quelque chose du coté client en php il faut passer par un echo par exemple, comme c'est le cas dans ton code :
echo'La note moyenne que j\'ai obtenue au bac : <b>'.$bac.'</b>';


Jean Sympa a écrit :
Dans cet exemple on introduit un test. Mais la variable $etude n’apparaît que dans le test :
je ne comprends pas pourquoi !

Qu’appelle tu "test" ? est-ce le if ($etude==true) ? dans ce cas c'est normal. C'est un variable qui est utilisée pour le code (si elle est "true" alors il se passe un truc sinon il se passe un autre truc) mais nul part on ne l'affiche sur la page (cf la réponse juste au dessus).
quand tu dis

Jean Sympa a écrit :
Dans cet exemple on introduit un test. Mais la variable $etude n’apparaît que dans le test


tu parle de quoi, quelle test ?

parce que la je ne vois pas d'erreur. ta condition marche; pas de problème et les variable s'affiche.
Modifié par JENCAL (21 May 2015 - 17:13)
Merci _laurent,

J'utilise WampServer. Je pensais qu'un serveur local se comportait comme un serveur éloigné.
Je dois me tromper !

Je pensais que WampServer devait me permettre de modifier les valeurs des variables.
J'utilise echo, donc je devrais pouvoir modifier les valeurs des variables !

Je ne constate pas de dynamisme avec php.

J'appelle test, le if. Dans cet exemple le if est inutilisable, je ne peux pas faire varier
la variable $etude.

Les modifications du code source HTML s'affichent immédiatement.
Sans dynamisme,Il est difficile avec PHP de tester ses exemples.

Cordialement
Papy
Jean Sympa a écrit :

Je pensais que WampServer devait me permettre de modifier les valeurs des variables.
J'utilise echo, donc je devrais pouvoir modifier les valeurs des variables !

Ce n'est pas avec un echo que tu peux modifier des valeurs, le "echo" sert a afficher des valeurs deja existantes

Jean Sympa a écrit :

Je ne constate pas de dynamisme avec php.

Je trouve pas que le dynamise vient du php, car c'est un langage serveur et de ce fait, l'utilisateur de voit rien. par contre l'ajax oui

Jean Sympa a écrit :

J'appelle test, le if. Dans cet exemple le if est inutilisable, je ne peux pas faire varier
la variable $etude.

ton test marche,
tu lui demande
if ($etude==true){
            echo' <b>est la branche dans laquelle je souhaiterais travailler.</b><br/>';
        }
        else{
            echo' <b>est la branche dans laquelle je travaille.</b><br/>';
        }

mais $etude = false
 //Initialisation des variables
        $travail='L\'informatique';
        $salaire=2000;
        $etude=false;
        $bac=11.5;

et le résultat est bien :
Pour préciser : L'informatique est la branche dans laquelle je travaille.
ce qui correspond au "false"

Jean Sympa a écrit :

Les modifications du code source HTML s'affichent immédiatement.
Sans dynamisme,Il est difficile avec PHP de tester ses exemples.

il est difficile c'est vrai de tester du php, mais tu peux t'en sortir avec des "echo", des "var_dump()" etc..

Pour rappel : Pour faire dynamiser le tout, utilise des formulaires html !
Modifié par JENCAL (22 May 2015 - 10:20)
Modérateur
Jean Sympa a écrit :
Je pensais qu'un serveur local se comportait comme un serveur éloigné.
Je dois me tromper !
Non non tu ne te trompe pas, il agit bien comme un serveur normal.

Jean Sympa a écrit :
Je pensais que WampServer devait me permettre de modifier les valeurs des variables.
J'utilise echo, donc je devrais pouvoir modifier les valeurs des variables !
echo sert à afficher, à imprimer les variables dans le HTML avant d'etre envoyer au client pour affichage.
Une fois imprimée, c'est juste de l'affichage coté client.

Jean Sympa a écrit :
Je ne constate pas de dynamisme avec php.

Bien évidemment. Le php est tout sauf dynamique. Comme je t'ai expliqué plus haut, le php est exécuté coté serveur. Donc une fois envoyé sur un client, cela n'est que de l'HTML donc statique. Le php sert a faire du traitement du coté serveur (souvent avec la base de donnée) et a renvoyer un résultat au client. Si tu veut du dynamisme coté client il faut te pencher sur des langage dynamique coté client comme JavaScript.

Jean Sympa a écrit :
J'appelle test, le if. Dans cet exemple le if est inutilisable, je ne peux pas faire varier la variable $etude.
Si, elle peut varier masi dans le code pendant le traitement coté serveur. Si tu modifie une valeur coté client il faut passer par une phase de traitement coté serveur donc renvoyer les infos, retraiter coté serveur et réaficher l'actualisation coté client. Tout comme un formulaire !

Jean Sympa a écrit :
Les modifications du code source HTML s'affichent immédiatement.
Sans dynamisme,Il est difficile avec PHP de tester ses exemples.
Comme je viens de le dire, pour tester du php il faut faire un aller-retour au serveur (simulé par WampServer).

Je te conseille PLUS QUE VIVEMENT de commencer par lire/apprendre les bases du php avant de te jeter tête baisée dans un exemple ou tu cherche du dynamisme coté client avec un langage serveur : http://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/introduction-a-php

Bon courage Smiley smile