Session & formulaire

Résolu
Bonjour,
je voudrais faire un script php qui permet d'enregistrer dans une variable de session le nombre de fois qu'un formulaire a été envoyé .
si vous avez une idée de comment je pourrais faire cela, merci de me répondre :p

merci d'avance pour votre aide
Configuration: Windows XP
Firefox 3.0.1

14 réponses

  1. bah ton formulaire il t'envoie vers une page de traitement de données, en toute logique à chaque fois que tu arrives sur cette page et bien tu incrémentes le nombre de formulaire envoyés :)
    1. Tu créé "count.txt" dans lequel tu y inscrit "0".
      Sans $_SESSION sur la page d'Action du Formulaire :

      <?php
      $Lecture="";
      
      $Ouverture = fopen("count.txt", a+); //On ouvre le Fichier
      $Lecture=fgets($Ouverture);  On lit le nombre, ici "0"
      fclose($Ouverture);
      
      unlink("count.txt"); // On supprime le fichier
      
      $Ouverture("count.txt", a+); //On le Recréé
      $Lecture++; // On augment $lecture (0) de un (ce qui donne 1)
      fputs($ouverture, $Lecture); // On le Marque
      
      fclose($Ouverture);
      ?>


      Et voila, a chaque fois que qqn validera le formulaire, le nombre augmentera de 1.
      1. Vi mais utiliser une variable session est tellement plus simple :)
    2. le probleme avec le fichier texte, c'est que le nombre augmentera a chaque fois qu'un visiteurs l'enverra, alors qu'avec les variables de session, le nombre sera different pour chaque visiteurs nan ?
      1. tout à fait :)
    3. SESSION c'est un coockie sur le disque du visiteur qui peut passer d'une page à l'autre de ton site. comment veux-tu compter le nombre de validation de formulaire sur l'ensemble de tes visiteurs avec un cookie sur un seul ordinateur ?
      1. justement, je ne veu pas compter le nombre d'envoi sur l'ensemble des visiteurs mais pour chaque visiteurs.
        1. en fait dans Base de données

          il a une table Visiteur

          avec les champs : Id_Visteur, Nbre de formulaires Posté

          ?

          Donc finalement, tu y arrives ?

          ou tu cherches un bout de code ?
          1. bah le prb, cest que c'est pour le formulaire d'inscription que je veu compter le nombre d'envoi :s
            1. En même temps, si un visiteur, s'incris plusieurs fois c'est louche ><

              (en bref je n'en vois pas l'intérêt ^^')

              Mais bon je t'ai donner la logique plus haut et sur CCM le cours Php et variable session est assez complet :)
              1. a oui désolé je me suis trompé : ce n'est pas pour l'inscription, mais pour la connexion, donc jai bien une table .
                je vai aller voir le cours du ccm sur les sessions. merci
                1. daccord, merci pour ton aide

                  edit->dsl de te déranger, mais je ne trouve pas le cours du CCM sur les sessions, pourrait tu me passer l'adresse stp ?
                  1. J'avoue il n'y en a pas ^^' j'ai jeté un œil et je ne l'ai pas trouvé j'étais pourtant persuadé qu'il y en avait un ^^'

                    Voilà un site qui pourrait t'être bien utile ;)

                    
                    <?php 
                    session_start(); 
                    
                    if(isset($_SESSION['variable'])) 
                    
                    	{
                    
                    	$_SESSION['variable'] = $_SESSION['variable'] + 1;
                    	$compteur = $_SESSION['variable'];
                    	
                    	// Déclaration des paramètres de connexion
                    	$host = la_machine;
                    
                    	// Généralement la machine est localhost
                    	// c'est-a-dire la machine sur laquelle le script est hébergé
                    
                    	$user = votre_login;
                    
                    	$bdd = Nom_de_la_base_de_donnees;
                    
                    	$passwd  = Mot_de_passe;
                    
                    	// Connexion au serveur
                    	mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
                    
                    	mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
                    
                    	// Creation et envoi de la requete
                    	$query = "Insert ...";
                    
                    	$result = mysql_query($query);
                    
                    	}
                    
                    Else 
                    	{
                    
                    	$_SESSION['variable'] = 1;
                    
                    	}
                    
                    
                    ?>
                    
                    
                    


                    Voilà pour faire simple c'est qu'une idée, à toi de l'adapter selon la structure de ton site.

                    Pour la requête SQL un insert avec la variable $compteur, si tu n'y arrives pas je me re-plongerais dasn le SQL pour t'aider ;)
                    1. merci beacoup de ton aide @angel_974, sa marche super bien.
                      encore merci:p