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 :

Rafraîchir une valeur sur un autre fichier


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut Rafraîchir une valeur sur un autre fichier
    Bonjour à tous !

    Voilà j'ai un petit problème que je n'arrive pas à résoudre !

    Je m'explique :

    J'ai un index en html avec écrit une valeur dessus. Sur une autre page html j'ai un formulaire sur lequel on peut choisir différentes options via un menu en liste.

    En vérité je voudrai pouvoir par exemple dire que les options de mon menu list soient assignées à des variables.

    Une fois que j'ai fait cela j'aimerai en fonction de la valeur que j'ai choisi dans le menu list, faire un calcul avec la valeur de ma première page html (index)

    Voici un exemple concret (j'ai du mal à m'expliquer ) :



    Mon formulaire est en html mais quand j'envoie il y a tout un traitement en php pour que ça me l'envoi directement sur mon mail avec des $MailBody etc.. Donc je voulais savoir si jpouvais rajouter (et quoi) un bout de code à mon traitement php pour qu'il fasse toute cette opération vu que je veux que ça rafraichisse la valeur uniquement si le formulaire est bien envoyé.

    Voilà mon code php por mon formulaire :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
    //On verifie les variables
    if (!empty($_POST['question1']) AND !empty($_POST['question2']))
    {
    //Securisation des variables on ne sait jamais
    $question1 = htmlentities ($_POST['question1']);
    $question2 = htmlentities ($_POST['question2']);
     
    //Définition des variables pour le mail
    $MailTo = "xxx@xxx.fr" ;
    $MailSubject = "Réponse au questionnaire" ;
     
    //Le contenu
    $MailBody = '1 : '.$question1."\n";
    $MailBody .= '2 : '.$question2."\n";
    $MailBody .= '3 : '.$fonction2."\n";
    $MailBody .= '4 : '.$fonction."\n";
    $MailBody .= '5 : '.$question3."\n";
    $MailBody .= '6 : '.$question4."\n";
    $MailBody .= '7 : '.$question5."\n";
    $MailBody .= '8 : '.$question6."\n";
    $MailBody .= '9 : '.$question7."\n";
    $MailBody .= 'commentaire: '.$commentaires."\n";
     
    //On envoit
    mail($MailTo, $MailSubject, $MailBody);
     
    //on remercie
    print ("<script language = \"JavaScript\">");
    print ("location.href = 'fin.html';");
    print ("</script>");
    }
    else //Sinon on lui envois un message d'erreur
    {
     
    print ("<script language = \"JavaScript\">");
    print ("location.href = 'confirmation.html';");
    print ("</script>");
     
    }
    ?><title>Fin de votre commande</title>
    Merci d'avance !

  2. #2
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    Je pense que tu es obligé dans ce cas d'utiliser AJAX. La solution que je propose c'est que tu utilise une variable de session dans laquelle tu met la valeur sélectionner. Dans index.html tu fait un traitement AjAX pour récupérer la valeur de la variable de session et faire la soustraction. Tu dois faire cette appel AJAX périodiquement donc tu doit utiliser une boucle.
    Je ne sais pas peut être qu'il y a une solution meilleure que cela.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    J'ai jamais trop touché a Ajax et c'est ça que ça me fait peur rien qu'à y penser lol.
    Un script php sur mon index.html ne pourrait pas se faire ? En envoyant mon formulaire ça agirait sur le script php qu'il y a sur l'index en lui faisant faire une opération ?

    Est ce possible ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En fait c'est que tu veux c'est :
    - page A contenant le formulaire avec la liste
    - validation
    - page B affichant le résultat de 200 - valeur de la liste
    ?

    Si c'est ca c'est tout simple
    index.php a juste a contenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php 
    echo 200 - intval($_POST['nom_de_ton_select']);
    ?>
    Voilà mon code php por mon formulaire :
    Y'a pas de formulaire la dedans
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    C'est un genre de ça mais en vérité la valeur est déjà sur l'index html. Pour être plus concret ça pourrait être :

    J'ai 30 baguette sur mon index html
    J'en commande 5
    J'envoie formulaire
    Puis quand je retombe sur l'index html j'ai plus que 25 baguette dans mon stock

    Pas très jojo l'histoire des pains mais c'est se qui m'est venu le premier à l'idée ^^

    EDIT : Le code de mon formulaire c'est la transaction, c'est une fois validé le formulaire je l'envoie sur cette page php pour qu'il me l'envoie sur mon mail

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment le 25 arrive sur ta page HTML ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    J'ai jamais trop touché a Ajax et c'est ça que ça me fait peur rien qu'à y penser lol.
    Un script php sur mon index.html ne pourrait pas se faire ? En envoyant mon formulaire ça agirait sur le script php qu'il y a sur l'index en lui faisant faire une opération ?

    Est ce possible ?
    PHP c'est côté serveur, HTML c'est côté client. D'où vient l'utilité d'AJAX pour ne pas avoir besoin de rafraichir la page en entière. je ne pense pas que ce soit faisable en PHP.

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Ben justement c'est ça que je sais pas trop. En faite faut que ma valeur qui est sur mon index.html (ex: 30) soit dans un script php je pense pour qu'elle puisse se modifier après quand j'envoie le formulaire.

    Parce que à l'heure actuelle le 30 est juste écrit en code normal donc il pourra jamais évoluer c'est pas une variable. En faite faudrait que je la transforme en variable pour après pouvoir la modifier.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    tu peux passer par les sessions php

    pour ça il faut renommer ton index.html en index.php

    à la limite si tu veux garder l'url avec .html tu peux mettre un htaccess pour réécrire l'URL
    du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine on
    RewriteRule ^index\.html$  /index.php [L]
    comme ça dans ta page formulaire tu enregistres dans une variable de session la valeur donnée dans la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['nom_du_champ'] = $_POST['nom_du_champ'];
    et au début de ton fichier index.php
    si cette variable existe tu fais le calcul

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $valeur = 200;
    if(isset($_SESSION['nom_du_champ'])){
     $valeur -= $_SESSION['nom_du_champ'];
     // ne pas oublier de la détruire (ou pas)
     unset($_SESSION['nom_du_champ']);
    }
    ça t'aide ?

  10. #10
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    Une fois la page générée le calcul ne sera plus effectuer. Je ne pense pas que ça résoud le problème.

  11. #11
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Comment faite pour écrire dans mon tableau la valeur en php vu que ma page est en html ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    tu changes l'extension de ta page en .php
    si tu veux garder "l'apparence" du html, regarde la méthode décrite plus haut

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par mehdiing Voir le message
    Une fois la page générée le calcul ne sera plus effectuer. Je ne pense pas que ça résoud le problème.
    il faut donc changer la variable $valeur par $_SESSION['valeur'], me trompé-je ?

  14. #14
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Donc où il y a ma valeur je remplace par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    print ("$valeur")
    ?>
    ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    oui, ou simplement

  16. #16
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    L' utilisation d'une variable de session ne changera pas rien. ça ne fonctionnera pas aussi.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    peux-tu t'expliquer ?

  18. #18
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Bon pour l'instant ca ne marche pas.

    Voilà les codes :

    index.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
    15
    16
    <?php
    $valeur = 1000000;
    if(isset($_SESSION['fonction2'])){
     $valeur -= $_SESSION['fonction2'];
     // ne pas oublier de la détruire (ou pas)
     unset($_SESSION['fonction2']);
    }
    ?>
     
    ...
     
     
    <td bgcolor="#996633">
    <?php 
    		  print ("$valeur");
    		  ?> Pains</td>
    Donc voilà les parti que j'ai inséré dans le index.php. J'ai bien la valauer 1000000 qui s'affiche sur la page.

    Ensuite voilà ce que j'ai dans questionnaire.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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
    $_SESSION['fonction2'] = $_POST['fonction2'];
    //On verifie les variables
    if (!empty($_POST['question1']) AND !empty($_POST['question2']))
    {
    //Securisation des variables on ne sait jamais
    $question1 = htmlentities ($_POST['question1']);
    $question2 = htmlentities ($_POST['question2']);
     
    //Définition des variables pour le mail
    $MailTo = "xxx@xxx.fr" ;
    $MailSubject = "Réponse au questionnaire" ;
     
    //Le contenu
    $MailBody = '1 : '.$question1."\n";
    $MailBody .= '2 : '.$question2."\n";
    $MailBody .= '3 : '.$fonction2."\n";
    $MailBody .= '4 : '.$fonction."\n";
    $MailBody .= '5 : '.$question3."\n";
    $MailBody .= '6 : '.$question4."\n";
    $MailBody .= '7 : '.$question5."\n";
    $MailBody .= '8 : '.$question6."\n";
    $MailBody .= '9 : '.$question7."\n";
    $MailBody .= 'commentaire: '.$commentaires."\n";
     
    //On envoit
    mail($MailTo, $MailSubject, $MailBody);
     
    //on remercie
    print ("<script language = \"JavaScript\">");
    print ("location.href = 'fin.html';");
    print ("</script>");
    }
    else //Sinon on lui envois un message d'erreur
    {
     
    print ("<script language = \"JavaScript\">");
    print ("location.href = 'confirmation.html';");
    print ("</script>");
     
    }
    ?>
    <title>Fin de votre commande</title>
    Une fois le formulaire envoyé j'ai toujours mon 1000000 sur mon index.php

  19. #19
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    Le code PHP est destiné à être exécuté coté serveur et non pas coté client. Le serveur génère du code HTML et JAVASCRIPT depuis le code PHP et l'envoie au client ==> donc le code PHP est exécuté une seule fois. C'est pour ça que je ne pense pas qu'il existe une solution en PHP pour ce problème. La seule solution que je vois et l'utilisation d'AJAX.

  20. #20
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Pourrais tu m'avancer vers une piste en ajax ? Un bout de code ou autre ? Merci ^^

Discussions similaires

  1. [Toutes versions] Formule pour recuperer une valeur sur un autre fichier Excel
    Par bonilla dans le forum Excel
    Réponses: 2
    Dernier message: 26/06/2012, 11h19
  2. Rechercher une valeur dans un autre fichier
    Par devock dans le forum Excel
    Réponses: 3
    Dernier message: 03/11/2008, 15h49
  3. Recherche d'une valeur sur un autre onglet
    Par elfye dans le forum Excel
    Réponses: 10
    Dernier message: 03/03/2008, 13h45
  4. Réponses: 10
    Dernier message: 15/05/2007, 14h24
  5. [VBA] Recherche d'une valeur dans un autre fichiers puis
    Par Nicos77 dans le forum Général VBA
    Réponses: 11
    Dernier message: 24/03/2006, 11h24

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