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 :

Interdire des utilisateurs de modifier un fichier excel + colonne cachée


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Interdire des utilisateurs de modifier un fichier excel + colonne cachée
    Salut tout le monde,

    J'ai récupéré du code PHP que j'ai adapté à mes besoins.

    Ce code permet de transférer des enregistrements d'une base de données mysql vers un fichier csv.

    J'aimerais juste ajouter une fonction qui me permet de cacher une colonne.

    J'aimerais aussi empêcher les utilisateurs de transformer les colonnes exceptés celle qui se nomme "NOTE".

    Sauriez-vous me dire comment je peux faire tout cela svp ?

    Je vous laisse bien sûr mon code :

    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
    <?php
     
    class export2CSV{
     
        var $delimiter = ",";
        var $row_end = "\n";
     
        function export2CSV(
    	$delimiter,$row_end){
            $this->delimiter = $delimiter;
            $this->row_end = $row_end;
        }
     
        function create_csv_file_header($data)
        {
            $row = "";
            if (count($data)>0){
                foreach ($data[0] as $key=>$val)
                {
                    if ($row){
                        $row .= $this->delimiter . $key;
                    }else{
                        $row .= $key;
                    }
                }
                $row .= $this->row_end;
            }
            return $row;
        }
     
     
        function create_csv_file_row($row)
        {
            $res = "";
            foreach ($row as $key=>$val)
            {
                if ($res){
                    $res .= $this->delimiter .'"'. $val.'"';
                }else{
                    $res .= '"'.$val.'"';
                }
            }
            $res .= $this->row_end;
     
            return $res;
        }
     
        function create_csv_file($data)
        {
            $csv = $this->create_csv_file_header($data);
            foreach ($data as $key=>$val){
                $csv .= $this->create_csv_file_row($val);
            }
            return $csv;
        }
    }
    ?>
    et voici les données de la classe :

    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
    <?php
    session_start();
    require_once("csv.lib.php");
    require_once("dbmysql.class.php");
     
    define("DB_NAME", "pharma");
    define("DB_HOST", "localhost");
    define("DB_USER", "root");
    define("DB_PASS", "mdp");
     
    $db = new DbMySQL(DB_HOST, DB_NAME, DB_USER, DB_PASS);
    $db->connect();
     
    $cvs_array = $db->select("SELECT inscrits_en.ID, etudiants.MATRICULE_ET,etudiants.NOM_ET,etudiants.PRENOM_ET, inscrits_en.NOTE
    FROM `inscrits_en`
    LEFT JOIN `etudiants` ON ( inscrits_en.MATRICULE_ET = etudiants.MATRICULE_ET )
    WHERE MNEMONIC = '" .$_SESSION["MNEMONIC"]. "' AND TYPE_DE_COURS = '" .$_SESSION["TYPE_DE_COURS"]. "' AND CATEGORIE = '" .$_SESSION['id_categories']."' ORDER BY NOM_ET, PRENOM_ET");
     
    $db2csv = new export2CSV(";","\n");
     
    $csv = $db2csv->create_csv_file($cvs_array);
     
    echo " ";
     
     
     
    header("Content-type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=mysql_users.csv");
     
    echo $csv;
     
    ?>
    Merci d'avance pour l'aide.

    beegees

  2. #2
    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
    Bonjour,

    CSV etant un format de données brutes, il n'est pas possible de réaliser des operations de presentation comme masquer des colonnes ou d'interface comme empecher la saisie.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Bonjour,

    CSV etant un format de données brutes, il n'est pas possible de réaliser des operations de presentation comme masquer des colonnes ou d'interface comme empecher la saisie.
    Bonjour Sabotage,

    Merci pour ta réponse.

    je vais donc devoir trouver une alternative.

    En connais-tu une ?

    Est-ce que le fait d'utiliser Excel au lieu de csv solutionnerait le problème ?

    Encore merci pour ton aide.

    beegees

  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
    Tout depend du pourquoi.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tout depend du pourquoi.
    Est-ce que la combinaison PHP/Excel me permettrait de faire cela ?

    Merci pour ton aide.

    beegees

  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
    Tout depend de pourquoi tu veux masquer une colonne et eventuellement empecher des gens d'ecrire dans le document.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tout depend de pourquoi tu veux masquer une colonne et eventuellement empecher des gens d'ecrire dans le document.
    Je veux interdire les users d'ajouter des lignes et des colonnes car je dois importer les données inscrites par ces users dans ma bd mysql.

    Je ne veux pas leur montrer les ID car ça ne sert à rien pour eux.

    Qu'en penses-tu ?

    beegees

Discussions similaires

  1. [JexcelAPI]Modifier un fichier excel
    Par sissi_l dans le forum Documents
    Réponses: 3
    Dernier message: 01/06/2007, 01h36
  2. recupration des donnees a partir de fichier EXCEL
    Par inessahal dans le forum Documents
    Réponses: 1
    Dernier message: 29/05/2007, 13h03
  3. Réponses: 3
    Dernier message: 15/05/2007, 09h28
  4. [VB] Ouvrir et modifier un fichier Excel en arrière-fond
    Par truman dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/04/2006, 18h49

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