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 :

affichage de checkbox & password


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 197
    Par défaut affichage de checkbox & password
    Bonjour,

    Je soumet un formulaire avec un checkbox, lequel met à jour un champ dans une table. J'ai vérifié en cochant et en décochant la boite, le champ se met a jour sans problème. Par contre, à l'affichage, celle-ci est toujours vide.

    Même chose avec un mot de passe si j'affiche celui-ci comme "mot de passe" (petites étoiles) et non comme format texte. Lorsque la page se charge, la boite de mot de passe est vide bien que le champ dans la table ne l'est pas. Si j'insère un nouveau mot de passe, celui-ci s'actualise dans la table. Notez que tous les autres champs (prénom, nom de famille, email, etc) s'affichent et s'actualisent normalement.

    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
    <?php session_start();
    require_once('Connections/connection.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $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($_POST["MM_update"])) && ($_POST["MM_update"] == "form2")) {
      $updateSQL = sprintf("UPDATE Users SET password=%s, email=%s, firstName=%s, lastName=%s, getNotified=%s WHERE userName=%s",
                           GetSQLValueString($_POST['password'], "text"),
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['firstName'], "text"),
                           GetSQLValueString($_POST['lastName'], "text"),
                           GetSQLValueString(isset($_POST['getNotified']) ? "true" : "", "defined","1","0"),
                           GetSQLValueString($_POST['userName'], "text"));
     
      mysql_select_db($database_connection, $connection);
      $Result1 = mysql_query($updateSQL, $connection) or die(mysql_error());
     
      $updateGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
        $updateGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $updateGoTo));
    }
     
    mysql_select_db($database_connection, $connection);
    $query_rst = "SELECT * FROM Users WHERE username = '". $_SESSION['MM_Username'] . "'";
    $rst = mysql_query($query_rst, $connection) or die(mysql_error());
    $row_rst = mysql_fetch_assoc($rst);
    $totalRows_rst = mysql_num_rows($rst);
    ?>
    <form method="post" name="form2" action="<?php echo $editFormAction; ?>">
      <table align="center">
        <tr valign="baseline">
          <td nowrap align="right">UserName:</td>
          <td><?php echo $row_rst['userName']; ?></td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">Password:</td>
          <td><input type="text" name="password" value="<?php echo htmlentities($row_rst['password'], ENT_COMPAT, ''); ?>" size="32"></td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">Email:</td>
          <td><input type="text" name="email" value="<?php echo htmlentities($row_rst['email'], ENT_COMPAT, ''); ?>" size="32"></td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">FirstName:</td>
          <td><input type="text" name="firstName" value="<?php echo htmlentities($row_rst['firstName'], ENT_COMPAT, ''); ?>" size="32"></td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">LastName:</td>
          <td><input type="text" name="lastName" value="<?php echo htmlentities($row_rst['lastName'], ENT_COMPAT, ''); ?>" size="32"></td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">GetNotified:</td>
          <td><input type="checkbox" name="getNotified" value=""  <?php if (!(strcmp(htmlentities($row_rst['getNotified'], ENT_COMPAT, ''),""))) {echo "checked=\"checked\"";} ?>></td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">&nbsp;</td>
          <td><input type="submit" value="Update record"></td>
        </tr>
      </table>
      <input type="hidden" name="MM_update" value="form2">
      <input type="hidden" name="userName" value="<?php echo $row_rst['userName']; ?>">
    </form>
    <p>&nbsp;</p>
    <?php
    mysql_free_result($rst);
    ?>

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Par défaut
    J'ai actuellement traité des checkbox, et voici comment j'ai écrit le echo:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {echo ('checked="checked" ');}
    Mais je crois que sa peut marché aussi comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {echo 'checked="checked" ';}
    Je vais faire le test sans parenthèse mais en tous cas avec sa ma ma coché la case que j'avais coché.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 197
    Par défaut
    J'ai essayé ton truc mais ca ne fonctionne pas dans les deux cas.....

  4. #4
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Pour tes checkbox,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="getNotified" value=""  <?php if (!(strcmp(htmlentities($row_rst['getNotified'], ENT_COMPAT, ''),""))) {echo "checked=\"checked\"";} ?>>
    ne devrais-tu pas spécifier une value différente de "".
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="getNotified" value="true"  <?php if (!(strcmp(htmlentities($row_rst['getNotified'], ENT_COMPAT, ''),""))) {echo "checked=\"checked\"";} ?>>
    Sinon, $_POST['getNotified'] reste toujours égal à ""
    et obligatoirement l'echo du checked ne se fait jamais.
    Me trompe-je ?
    Fred

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 197
    Par défaut
    Suivant l'idée de Micetf, j'ai changé pour:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <td><input type="checkbox" name="getNotified" value=" <?php if (!(strcmp(htmlentities($row_rst['getNotified'], ENT_COMPAT, ''),""))) {echo "checked=\"checked\"";} ?>"></td>
    Si je suis ta recommandation Micetf, le checkbox sera coché et ne prendra pas la valeur qui réside dans le recordset.

    Ca ne fonctionne toujours pas

  6. #6
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    acheo a écrit : Suivant l'idée de Micetf, j'ai changé pour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="getNotified" value=" <?php if (!(strcmp(htmlentities($row_rst['getNotified'], ENT_COMPAT, ''),""))) {echo "checked=\"checked\"";} ?>">
    Non, non, je n'ai pas écris cela, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="getNotified" value="true"  <?php if (!(strcmp(htmlentities($row_rst['getNotified'], ENT_COMPAT, ''),""))) {echo "checked=\"checked\"";} ?>>
    qui en regardant mieux ta fonction GetSQLValueString() devrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="getNotified" value="1"  <?php if (!(strcmp(htmlentities($row_rst['getNotified'], ENT_COMPAT, ''),""))) {echo "checked=\"checked\"";} ?>>
    Si la case est cochée,
    tu vas avoir $_POST['getNotified'] égale à 1.
    Sinon $_POST['getNotified'] ne sera pas définie.

    Fred

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

Discussions similaires

  1. Mauvais affichage des checkbox dans un tableau
    Par Raiden1234 dans le forum Struts 2
    Réponses: 2
    Dernier message: 26/11/2012, 11h38
  2. affichage valeur checkbox VB.net
    Par urbanspike dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/06/2009, 09h55
  3. Affichage bouton checkbox
    Par ririch dans le forum Général JavaScript
    Réponses: 31
    Dernier message: 30/04/2009, 16h05
  4. Réponses: 3
    Dernier message: 04/05/2008, 08h43
  5. Affichage de checkbox si sélection d'un bouton radio
    Par Ne0zenith dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/08/2006, 09h34

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