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 :

Suppression caractere blanc dans formulaire de saisie


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Suppression caractere blanc dans formulaire de saisie
    Bonjour

    Je sollicite votre aide concernant un probleme de suppression de caractere d'espace au sein d'une saisie dans un formulaire.
    Dans ce formulaire, deux champs sont actuellement a saisir et dans ce cas des espaces peuvent etre inseres (les autres font partie de liste predefines) .
    Mon formulaire permet la saisie de 2 informations qui doivent etre 'trimmer'.
    Lors de l'action submit, un fichier CSV est genere. Actuellement il peux contenir des caracteres espace sur les 2 zones de saisies "serveur" et "IP" si l'operateur n'est pas tres scrupuleux.

    Voici 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
    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
    <?php
    if (isset($_POST['rows'])) {
     
            // Init temporary File
            $h = tmpfile();
     
            $FirstLine = array('Equipe','Server','IP','OS','Reseau');
     
            fputcsv($h, array_values($FirstLine));
     
    	foreach ($_POST['rows'] as $row) {
                fputcsv($h, array_values($row));
            }
            rewind($h);
            $csv = '';
            while (($row = fgets($h)) !== false) {
                $csv .= $row;
            }
            fclose($h);
            $filename = "export_".date("Y-m-d").".csv";
     
            header("Content-type: application/csv");
            header('Content-Disposition: attachment; filename="'.$filename.'');
            header("Pragma: no-cache");
            header("Expires: 0");
     
            //Generate output
            echo $csv;
            exit;
    }
    ?>
     
    <!-- beginning of HTML -->
    <!DOCTYPE html>
    <html>
    <head>
      <title>Generation de fichier </title>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1"> 
     </head>
    <body>
    <br />
    <div class="container">
    <h3 align="center">Generation fichier </h3>
       <br />
       <br />
       <form method="post">
        <div align="center" class='p-3 mb-2 bg-success text-white' class="table-responsive">
            Nombre d'entree ? <input type="number" min="0" name="nb" >
            <input type = "Submit" class='btn btn-info' name="submit" value = "nouveau">
        </div>
       </form>
       <br />
    </div>
     
            <!-- beginning of PHP code -->
            <?php
            if (isset($_POST['submit'])){
    		  $MaxLine = $_POST['nb'];
            for($i=0;$i<$MaxLine;$i++)
            {
                    echo "<div align='center'><h4>Saisie informations</h4>";
                    echo "<form method='post'>";
                    echo "Equipe <select name='rows[$i][]'>";
                    echo "<option>Linux team</option>";
                    echo "<option>Windows team</option>";
                    echo "</select>";
     
                    echo "\t\tServer <input type='text' name='rows[$i][]' />";
    		echo "\t\tIP <input type='text' name='rows[$i][]' />";
    		echo "\t\tOS <select name='rows[$i][]'>";
                    echo "<option>Linux</option>";
                    echo "<option>Windows</option>";
                    echo "</select>";
                    echo "\t\Reseau <select name='rows[$i][]'>";
                    echo "<option>non</option>";
                    echo "<option>oui</option>";
                    echo "</select>";
                    echo "<hr>";
            }
     
                    if ( $MaxLine > '0') {
                    echo "<div align='center'>";
                    echo "<input type='submit' class='btn btn-primary' value='Generation fichier CSV' />";
                    echo "</div>";
                    echo "</form>";
                    }
            }
            ?>
            <!-- end of PHP code -->
    </body>
    </html>
    Merci pour votre aide.


    [EDIT] SOLUTION :
    ==> j'ai finalement utilise la function array_map qui me permet de trimmer les champs :

    bloc de code remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($_POST['rows'] as $row) {
                    $array_trimmed = array_map("trim", $row);
                    fputcsv($h, $array_trimmed);
            }

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour, sinon la fonction trim() fonctionne très bien.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2007, 09h13
  2. Suppression des blancs dans une ComboBox
    Par sami35 dans le forum Général VBA
    Réponses: 6
    Dernier message: 10/05/2007, 17h07
  3. Réponses: 3
    Dernier message: 07/05/2007, 12h24
  4. suppression en cascade dans formulaire et sous-formulaire
    Par tooneygirl dans le forum Access
    Réponses: 7
    Dernier message: 20/06/2005, 14h17
  5. Réponses: 3
    Dernier message: 31/01/2005, 23h18

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