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

PHP & Base de données Discussion :

variable malheureusement réinitialisée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut variable malheureusement réinitialisée
    Bonjour,

    Je suis en train de créer un site avec une base de donnée mysql. Mon site est découpée en frame (et oui j'ai appris que depuis peut qu'il y a une autre facon de faire mais j'ai pas le temps) avec sur la partie gauche un menu verticale et a droite une page.

    Sur la partie gauche j'ai une première page qui sert de login et qui redirige au meme endroit si c'est valide la page du menu. Dans le menu en sélectionnant une page celle ci s'affiche bien sur la partie droite. Dans cette dernière j'ai deux formulaire un lié en GET et l'autre en POST.

    Le premier formulaire (une zone de texte et un bouton) fait une requete pour ne récupéré dans une table que les éléments qui m'intéresse (j'appelle cela mon préfiltre) Le résultat rempli une combobox dans le second formulaire.

    Avant d'utiliser mon préfiltre en fonction de l'utilisateur loggé j'ai une variable qui est passé (id du user qui va me servir pour le POST du deuxième formulaire).

    Jusqu'ici tout va bien tant que j'utilise pas le préfiltre car si je l'utilise je perd l'id et le nom de l'utilisateur...

    Quelqu'un a une idée pour que je puisse garder l'id du user ?

    Voici le code de la 3ème page :

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    <SCRIPT type="text/javascript">
    <!-- 
    function AfficheWarning() 
    	{
    	alert("La fiche n\'a pas pu être insérée : une fiche pour le poisson est déjà créée !");
    	} 
    -->
    </SCRIPT>
    <?php require_once('../Connections/connexionMysql.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }
     
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
     
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
     
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
     
    if (isset($_GET['MEMBRE_ID'])) {
    	$GetMembreID=$_GET['MEMBRE_ID'];
    	}
    	else
    	if(isset($_POST['MEMBRE_ID'])){ $GetMembreID=$_GET['MEMBRE_ID'];}
     
    $row_Fiche="";
    $ExistFiche="";	
     
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) 
    {	
    	echo $_POST['MEMBRE_ID'];
    	if(isset($GetMembreID)) $_POST['MEMBRE_ID'] =$GetMembreID ;
    	$ExistFiche = sprintf("SELECT 'NOT_EXISTS' from maintenance_poissons where not exists (select 1 from maintenance_poissons where poisson_id = %s and membre_id = %s)",GetSQLValueString($_POST['cmbPoissons'], "int"), GetSQLValueString($GetMembreID, "int"));
    	mysql_select_db($database_connexionMysql, $connexionMysql);
      	$ResultFiche = mysql_query($ExistFiche, $connexionMysql) or die(mysql_error());
      	$row_Fiche = mysql_fetch_assoc($ResultFiche);
      	if ($row_Fiche !=""){
    		echo $row_Fiche;
      							$insertSQL = sprintf("INSERT INTO maintenance_poissons (POISSON_ID, MEMBRE_ID, POISSON_GRADE, REPRODUCTION, QUANTITE, DIFFUSION) VALUES (%s, %s, %s, %s, %s, %s)",
                           		GetSQLValueString($_POST['cmbPoissons'], "int"),
    							GetSQLValueString($GetMembreID, "int"),
                           		GetSQLValueString($_POST['cmbGrade'], "text"),
                           		GetSQLValueString(isset($_POST['chkReproduction']) ? "true" : "", "defined","1","0"),
                           		GetSQLValueString($_POST['txtQte'], "int"),
                           		GetSQLValueString(isset($_POST['chkDiffusion']) ? "true" : "", "defined","1","0"));
     
      							mysql_select_db($database_connexionMysql, $connexionMysql);
      							$Result1 = mysql_query($insertSQL, $connexionMysql) or die(mysql_error());
     
    						}
    	else
    		echo '<script>AfficheWarning();</script>';
    }
     
    mysql_select_db($database_connexionMysql, $connexionMysql);
    $query_rsGrade = "SELECT * FROM type_poissons";
    $rsGrade = mysql_query($query_rsGrade, $connexionMysql) or die(mysql_error());
    $row_rsGrade = mysql_fetch_assoc($rsGrade);
    $totalRows_rsGrade = mysql_num_rows($rsGrade);
     
    $colPoisson_rsPoissons = "%";
    if (isset($_GET['nom_scientifique'])) {
      $colPoisson_rsPoissons = $_GET['nom_scientifique'];
    }
     
    $colPoisson_rsPoissons = "%";
    if (isset($_GET['nom_scientifique'])) {
      $colPoisson_rsPoissons = $_GET['nom_scientifique'];
    }
    mysql_select_db($database_connexionMysql, $connexionMysql);
    $query_rsPoissons = sprintf("SELECT POISSON_ID, POISSON_NOM_S FROM poissons WHERE POISSON_NOM_S like CONCAT('%%',%s,'%%') ORDER BY POISSON_NOM_S", GetSQLValueString($colPoisson_rsPoissons, "text"));
    $rsPoissons = mysql_query($query_rsPoissons, $connexionMysql) or die(mysql_error());
    $row_rsPoissons = mysql_fetch_assoc($rsPoissons);
    $totalRows_rsPoissons = mysql_num_rows($rsPoissons);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    <style type="text/css">
    .TitreCentré {
    	text-align: center;
    	font-size: 16px;
    	color: #000;
    }
     
    body {
    	background-color: #39F;
    }
    </style>
    </head>
     
    <body>
    <p class="TitreCentré">Création d'une fiche de maintenance</p>
     
    <form id="form1" name="form1" method="GET" action="FicheMaintenancePoissons_Create.php">
      Remplissez la liste des poissons connu du site en pour les poissons dont le nom scientifique contient :
        <label for="nom_scientifique"></label>
      <input type="text" name="nom_scientifique" id="nom_scientifique" />
      <input type="submit" name="cmdRechercher" id="cmdRechercher" value="remplir" />
    </form>
    <p>&nbsp;</p>
     
    <p>Choisissez un poisson dans la liste ci dessous !</p>
    <form id="form2" name="form2" method="POST" action="<?php echo $editFormAction; ?>">
      <p>
        <label for="cmbNomPoisson"></label>
      </p>
      <p>
        <label for="txtmembreid"></label>
        <input name="txtmembreid" type="text" id="txtmembreid" value="<?php echo $GetMembreID; ?>" />
      </p>
      <table width="800" border="1">
        <tr>
          <td width="135">Nom du poisson</td>
          <td width="649"><label for="cmbPoissons"></label>
            <select name="cmbPoissons" id="cmbPoissons">
              <?php
    do {  
    ?>
              <option value="<?php echo $row_rsPoissons['POISSON_ID']?>"><?php echo $row_rsPoissons['POISSON_NOM_S']?></option>
              <?php
    } while ($row_rsPoissons = mysql_fetch_assoc($rsPoissons));
      $rows = mysql_num_rows($rsPoissons);
      if($rows > 0) {
          mysql_data_seek($rsPoissons, 0);
    	  $row_rsPoissons = mysql_fetch_assoc($rsPoissons);
      }
    ?>
          </select></td>
        </tr>
        <tr>
          <td>Grade maintenu</td>
          <td><label for="cmbGrade"></label>
            <select name="cmbGrade" id="cmbGrade">
              <?php
    do {  
    ?>
              <option value="<?php echo $row_rsGrade['POISSON_GRADE']?>"><?php echo $row_rsGrade['POISSON_GRADE']?></option>
              <?php
    } while ($row_rsGrade = mysql_fetch_assoc($rsGrade));
      $rows = mysql_num_rows($rsGrade);
      if($rows > 0) {
          mysql_data_seek($rsGrade, 0);
    	  $row_rsGrade = mysql_fetch_assoc($rsGrade);
      }
    ?>
          </select></td>
        </tr>
        <tr>
          <td>Reproduction</td>
          <td><input type="checkbox" name="chkReproduction" id="chkReproduction" />
          <label for="chkReproduction"></label></td>
        </tr>
        <tr>
          <td>Quantitée</td>
          <td><label for="txtQte"></label>
          <input type="text" name="txtQte" id="txtQte" /></td>
        </tr>
        <tr>
          <td>Diffusion</td>
          <td><input type="checkbox" name="chkDiffusion" id="chkDiffusion" />
          <label for="chkDiffusion"></label></td>
        </tr>
      </table>
      <p>
        <span class="TitreCentré">
        <input type="submit" name="cmdInserer" id="cmdInserer" value="Créer fiche" />
      </span></p>
      <p>&nbsp;</p>
      <input type="hidden" name="MM_insert" value="form2" />
    </form>
    <p>&nbsp;</p>
     
    </body>
    </html>
    <?php
    mysql_free_result($rsGrade);
     
    mysql_free_result($rsPoissons);
    ?>
    Je ferai du nettoyage dans le code sur ce qui est en trop

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    Bonjour,

    Pourquoi ne pas utilisé les SESSION pour garder les infos.
    Je pense que cela pourrait résoudre ton problème.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    salut Yasen77
    Merci pour ton retour

    Sur ma première page et ma seconde j'ai bien le _SESSION mais je perds aussi l'info sur la 3ème page après utilisation du premier formulaire. Je vais retester dans ce sens mais il me semble que cela n'avait pas fonctionner. Je fais la modification du code je retest et je reviens avec le code.

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Finalement je suis bien passé par le $_SESSION mais j'oubliais de faire le session_start() dans la page.

    Merci beaucoup

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

Discussions similaires

  1. variable non réinitialisée
    Par mafiases dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 24/05/2010, 18h47
  2. Réinitialiser les variables
    Par keibenoit dans le forum Access
    Réponses: 2
    Dernier message: 12/06/2006, 14h00
  3. [Class et variables] réinitialiser....
    Par airod dans le forum Général Python
    Réponses: 5
    Dernier message: 05/04/2006, 12h50
  4. problème bidon de réinitialisation de variables
    Par karibouxe dans le forum Langage
    Réponses: 13
    Dernier message: 21/03/2006, 19h35
  5. [FLASH MX2004] Réinitialiser des variables ...
    Par vbcasimir dans le forum Flash
    Réponses: 2
    Dernier message: 21/02/2006, 17h32

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