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. #21
    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
    serait-il possible de voir ton formulaire ?

  2. #22
    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
    Voilà 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     <table width="439" height="154" border="0">
        <tr>
          <td><FORM method=post action="questionnaire.php">
            <div align="center">
              <TABLE BORDER=0>
                <TR>
                  <TD bgcolor="#CC9966">Nom</TD>
                  <TD bgcolor="#CC9966">
                    <INPUT type=text name="question1">
                    </TD>
                  </TR>
     
                <TR>
                  <TD bgcolor="#CC9966">Prenom</TD>
                  <TD bgcolor="#CC9966">
                    <INPUT type=text name="question2">
                    </TD>
                  </TR>
     
                <TR>
                  <TD bgcolor="#CC9966">Test</TD>
                  <TD bgcolor="#CC9966"><SELECT name="fonction2">
                    <option value="5" selected>5</option>
                    <option value="10">10</option>
                    <option value="20">20</option>
                    </SELECT></TD>
                  </TR>
     
                <TR>
                  <TD bgcolor="#CC9966">Code n°1</TD>
                  <TD bgcolor="#CC9966"><INPUT type=text name="question4"></TD>
                  </TR>
                <TR>
                  <TD bgcolor="#CC9966">Code n°2</TD>
                  <TD bgcolor="#CC9966"><INPUT type=text name="question3"></TD>
                  </TR>
                <TR>
                  <TD bgcolor="#CC9966">Code n°3</TD>
                  <TD bgcolor="#CC9966"><INPUT type=text name="question5"></TD>
                </TR>
                <TR>
                  <TD bgcolor="#CC9966">Code n°4</TD>
                  <TD bgcolor="#CC9966"><INPUT type=text name="question6"></TD>
                </TR>
                <TR>
                  <TD bgcolor="#CC9966">Code n°5</TD>
                  <TD bgcolor="#CC9966"><INPUT type=text name="question7"></TD>
                </TR>
                <TR>
                  <TD bgcolor="#CC9966">Test</TD>
                  <TD bgcolor="#CC9966">
                    <SELECT name="fonction">
                      <option value="test">TEST</option>
                      <option value="test1">TEST1</option>
                    </SELECT>
                    </TD>
                  </TR>
                <TR>
                  <TD height="92" bgcolor="#CC9966">Commentaires</TD>
                  <TD bgcolor="#CC9966">
                    <TEXTAREA rows="3" name="commentaires">Si vous avez une question, n'hesitez pas à l'écrire</TEXTAREA>
                    </TD>
                  </TR>
     
                <TR>
                  <TD COLSPAN=2 bgcolor="#3399FF">
                    <INPUT type="submit" value="Envoyer">
                    </TD>
                  </TR>
              </TABLE>
            </div>
          </FORM>
         </td>
        </tr>
      </table>
    et voilà où je veux récupérer les valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                  <TD bgcolor="#CC9966"><SELECT name="fonction2">
                    <option value="5" selected>5</option>
                    <option value="10">10</option>
                    <option value="20">20</option>
                    </SELECT></TD>
    C'est ces valeurs là que je veux récupérer pour pouvoir, selon le choix, les soustraire à la valeur initial que je mets dans l'index. Pour tos ce qui est des noms c'est que des tests donc c'est n'importe quoi

  3. #23
    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 te conseil de voir la faq AJAX et ce tutoriel. Mais pour te simplifier AJAX : c'est le fait d'appeler une page (php, asp, ...) via javascript, cette page va retourner un résultat qui va être exploiter aussi par javascript.

  4. #24
    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
    donc si je reprends tes codes :

    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
    44
    45
    46
    47
    48
     
    <?php
    session_start();
     
    //On verifie les variables
    if (!empty($_POST['question1']) AND !empty($_POST['question2']))
    {
     
    $_SESSION['fonction2'] = intval($_POST['fonction2']);
     
    //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>
    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
    17
    18
    19
     
    <?php
    session_start();
     
    $_SESSION['valeur'] = 1000000;
    if(isset($_SESSION['fonction2'])){
     $_SESSION['valeur'] -= $_SESSION['fonction2'];
     // ne pas oublier de la détruire (ou pas)
     unset($_SESSION['fonction2']);
    }
    ?>
     
    ...
     
     
    <td bgcolor="#996633">
    <?php 
    echo $_SESSION['valeur'];
    ?> Pains</td>
    ça marche ?

  5. #25
    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
    Je viens de tester tout ça. A première vu ça marchait mais quand j'ai refait une deuxième fois la valeur ne s'est pas rafraichie.

    Je suis passer de 1000000 à 999850 mais plusieurs problèmes surviennent :

    -Je ne reçois plus le mail du formulaire
    -Ca ne marche qu'une fois
    -J'ai une erreur qui s'affiche super rapidement et qui part quand je valide le formulaire. Apparament ça viendrait de la ligne de 2 de questionnaire.php donc de la fonction :


  6. #26
    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
    essaye avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //On envoit
    if( mail($MailTo, $MailSubject, $MailBody) ){
     
        //on remercie
        print ("<script language = \"JavaScript\">");
        print ("location.href = 'fin.html';");
        print ("</script>");
    }
    else{
     echo 'pas d\'envoi d\'e-mail';
    }
    et dans index.php
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['valeur'] = 1000000;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['valeur'] = isset($_SESSION['valeur']) ? $_SESSION['valeur'] : 1000000;
    tiens moi au jus

  7. #27
    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
    Là j'ai carrement une erreur quand j'appuie sur envoyer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected $end in /**/**/**/*/*/****/questionnaire.php on line 47
    ligne 47 = rien c'est la fin sur code

  8. #28
    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
    problème de parenthèse ? un point-virgule qui manque ?
    je voterai bien pour une accolade fermante qui manque...
    je ne sais pas trop, indente ton code...

  9. #29
    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
    Voilà il manquait une accolade en effet ^^
    Ça commence à mieux marcher, la valeur se rafraichit bien quand je refait une fois le processus.
    Sur ce point c'est parfait merci mais le problème est que je ne reçois plus le mail et que quand je ne remplis pas le formulaire et que j'envoie je devrai tomber sur l'erreur que le lien ne s'envoie pas mais j etombe sur ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /**/**/*/*/*/****/questionnaire.php:2) in /***/**/**/*/*/***/questionnaire.php on line 3

  10. #30
    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
    mprff -> http://php.net/session_start

    session_start() se place tout en haut de la page
    résolu ?

  11. #31
    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 résolu le problème de l'email maintenat j'ai toujours l'erreur quand quand j'envoie et que les conditions du début sont pas verifiés. Normalement je devrais tomber sur page blanche mais ca me fait l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /**/**/*/*/*/****/questionnaire.php:2) in /***/**/**/*/*/***/questionnaire.php on line 3
    Pourtant ma fonction est au debut :

    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
    44
    45
    46
    47
     
    <?php
    session_start();
     
     
    //On verifie les variables
    if (!empty($_POST['question1']) AND !empty($_POST['question2']))
    {
     
    $_SESSION['fonction2'] = intval($_POST['fonction2']);
     
    //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
    if( mail($MailTo, $MailSubject, $MailBody) ){
     
        //on remercie
        print ("<script language = \"JavaScript\">");
        print ("location.href = 'fin.html';");
        print ("</script>");
    }
    else{
     
    }
     
    }
     
    ?>
    <title>Fin de votre commande</title>

  12. #32
    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
    encore avant !

    d'accord, tu dois avoir une ligne au début de ton fichier qu'il te faut supprimer
    il ne faut pas qu'il y ait le moindre affichage avant l'envoi des en-têtes (headers), du genre echo ou retour chariot
    je sais pas si je suis très clair mais en cherchant un peu quelqu'un expliquera ça mieux que moi

  13. #33
    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
    Huhuhu ! C'est gagné !

    En faite j'avais une ligne vide avant le <?php ce qui faisait planter !

    J'ai juste une dernière question après je te laisse =P. Si j'ai envie de remettre une valeur initiale à $valeur comment je fais ? Je suis obligé de créé un nouveau $valeur1 ?

  14. #34
    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
    une valeur initiale ?
    si tu veux changer la valeur de 1000000 à 50 par exemple, tu fais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['valeur'] = isset($_SESSION['valeur']) ? $_SESSION['valeur'] : 50;
    ou plus propre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $valeur = 50;
    $_SESSION['valeur'] = isset($_SESSION['valeur']) ? $_SESSION['valeur'] : $valeur;

  15. #35
    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
    ha oui pardon
    pour supprimer une session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    session_destroy();
    setcookie(session_name(), null);
    reste à savoir quand la supprimer...

  16. #36
    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
    Merci merci parce qu'avec la 1ere technique ça se rafraichissait pas donc je comprenais pas. J'ai pris la 2eme technique et ça marche impec' !

    J'ai encore un dernier soucis (chiant ce mec), donc dans mon questionnaire.php
    Quand c'est bon ça envoie sur la page fin.html mais quand c'est pas bon je veux quand ca envoit sur une autre page html

    J'ai donc remis le même code pour le fin.html mais rien ne s'affiche c'est blanc.

    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
    44
    45
    46
    47
    48
    49
    50
    <?php
    session_start();
     
     
    //On verifie les variables
    if (!empty($_POST['question1']) AND !empty($_POST['question2']))
    {
     
    $_SESSION['fonction2'] = intval($_POST['fonction2']);
     
    //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
    if( mail($MailTo, $MailSubject, $MailBody) ){
     
        //on remercie
        print ("<script language = \"JavaScript\">");
        print ("location.href = 'fin.html';");
        print ("</script>");
    }
    else{
     
        print ("<script language = \"JavaScript\">");
        print ("location.href = 'error.html';");
        print ("</script>");
     
    }
     
    }
     
    ?>
    <title>Fin de votre commande</title>
    J'ai même voulu print quelque chose mais ça marchait pas, tout blanc. Peut être que je sais pas print ? lol

  17. #37
    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
    il y a un problème avec les accolades, fais attention à ce que ton else soit bien placé, visiblement la redirection à lieu si le mail n'est pas envoyé

    sinon tu enleve la condition autour du mail et tu mets un @ devant la fonction pour eviter l'affichage d'erreur en cas d'echec de l'envoi :

    @mail()

  18. #38
    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
    Mouarffff j'avais pas remarqué que quelque chose n'allait pas !

    Au niveau des erreurs y a plus rien.

    Mais en faite $valeur ne garde pas sa valeur d'avant. Elle se réinitialise à chaque fois que j'envoie le formulaire. Ca ne se cumule pas :'(

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