IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Incrémentation variables PHP dans script


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Points : 38
    Points
    38
    Par défaut Incrémentation variables PHP dans script
    Bonsoir,

    Je ne comprends pas pourquoi ce code fonctionne (ma variable $x Nombre1 est bien à 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php $x=0; ?>
    <?php $x++; ?>
    <?php $x++; ?>
    <?php $x++; ?>
    <?php $x++; ?>
    <?php echo '<p>Nombre1 : ' . $x . '</p>'; ?>
    Et pourquoi celui là ne fonctionne pas (ma variable $x Nombre2 est à 1). La variable n'est incrémentée qu'une seule fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    	<?php $x=0; ?>
    	for (var i = 0; i < 5; i++) {
    		<?php $x++; ?>;
    	}
    </script>
    <?php echo '<p>Nombre2 : ' . $x . '</p>'; ?>
    Y'a un truc, sûrement bête, qui m’échappe.

    Merci pour vos lumières.

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Le php est exécuté sur le serveur et le JavaScript sur le client (le navigateur). Donc il n’y a aucune interaction entre les deux. Quand le JavaScript est exécuté le php l’a déjà été.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Points : 38
    Points
    38
    Par défaut
    Bonsoir,

    J'ai bien compris que le JS s'exécute sur le client et le PHP sur le serveur.

    D'ailleurs, pour mon nombre2, la commande doit bien s'exécuter au moins une fois car mon $x est incrémenté de 1.

    Le test ci-après montre bien que le lien JS/PHP fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php $x=0; ?>
    <script type="text/javascript">
    	<?php  $x++; ?>;
    </script>
    <script type="text/javascript">
    	<?php  $x++; ?>;
    </script>
    <script type="text/javascript">
    	<?php  $x++; ?>;
    </script>
    <script type="text/javascript">
    	<?php  $x++; ?>;
    </script>
    <?php echo '<p>Nombre3 : ' . $x . '</p>'; ?>
    Nombre3 est bien égal à 4.

    Pourquoi cela ne fonctionne pas dans ma boucle for (ni dans une boucle while) ?

    Y'a une logique qui m'échappe.

    Merci.

  4. #4
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Le test "ci-après" ne montre rien. PHP étant exécuté avant le JS il est normal que le résultat soit 4.


    Pour preuve.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php $x=0; ?>
    <script type="text/javascript">
     
    </script>
    <script type="text/javascript">
     
    </script>
    <script type="text/javascript">
     
    </script>
    <script type="text/javascript">
     
    </script>
    <?php  $x++; ?>;
    <?php  $x++; ?>;
    <?php  $x++; ?>;
    <?php  $x++; ?>;
    <?php echo '<p>Nombre3 : ' . $x . '</p>'; ?>

    Donnera 4.

    Et si ça ne te suffit pas, reprend ton exemple et regarde le code html qui a été généré par le php.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script type="text/javascript">
     ;
    </script>
    <script type="text/javascript">
     ;
    </script>
    <script type="text/javascript">
     ;
    </script>
    <script type="text/javascript">
     ;
    </script>
    <p>Nombre3 : 4</p>
    Où sont passés les <?php $x++; ?> ?

    Bref pas d'interaction entre php et js.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Points : 38
    Points
    38
    Par défaut
    Ok, j'ai compris ! Merci.

    Je pensais que les instructions étaient exécutées, quelles qu'elles soient, les unes après les autres.
    J'avais bien cette notion client/serveur mais pas dans le bon ordre. Je pensais qu'on pouvais interroger le serveur quand on voulais... (ce qui est con, je l'admets )

    Il faut que je me mette en tête :
    1 - La requête http est envoyée au serveur
    2 - Le serveur converti le php et l'insère dans la page html
    3 - Le client reçoit une page "nouvelle" qu'il exécute.

    Merci encore et bon dimanche

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cc85 Voir le message
    ...Je pensais qu'on pouvais interroger le serveur quand on voulais... (ce qui est con, je l'admets )...
    Non, ce n'est pas "con".
    Ça s'appelle "Ajax".

    Dernière modification par Invité ; 24/02/2019 à 11h07.

  7. #7
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Oui mais il n'y a pas l'interaction qu'imaginait cc85 à savoir de mélanger code javascript et code php dans la même phase d'exécution.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lire une variable php dans un script xml
    Par masterkenobi dans le forum Langage
    Réponses: 9
    Dernier message: 27/10/2010, 13h15
  2. [PHP-JS] des variables PHP dans un script Javascript
    Par jiojioforever dans le forum Langage
    Réponses: 13
    Dernier message: 25/01/2007, 15h24
  3. [PHP/JavaScript] Variable php dans script Java
    Par Flushovsky dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2006, 19h51
  4. [PHP-JS] Problème de variable PHP dans un script JS
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 22h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo