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 :

[Dates] Probleme de caractere


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 34
    Par défaut [Dates] Probleme de caractere
    Bonjour

    Voila , j'ai fais un formulaire ( nom , prenom, adesse ,e-mail, date de naussance) dont lequel il y a la possibilité de joindre un fichier.
    Il se trouve que la piece jointe , je la renomme par "nom-prenom-année_de_naissance).

    Jusque la pas de souci tous marche bien (les formulaire sont stoché dans un base de donné et les piece jointe dans un repertoire)

    Le probleme est que si quelqu'un porte un nom de type "Jean michel" ou "françois" ..... et bien je n'arrive pas a telechargé leur piece jointe.

    Je pense que le probleme vient du faite des espaces dans le nom d'un personne qui depose un formulaire mais aussi des caractére de type " é à ç ..." .

    Comment puis je remedier à ce probleme
    MERCI BIEN

    J'espere que c'est comprehensible ce que j'ai ecris

  2. #2
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Salut,

    str_replace pourrait t'aider.

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 698
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698
    Par défaut
    Citation Envoyé par Huntress
    Salut,

    str_replace pourrait t'aider.
    oui c'est la seul solution parce que je suppose que tu utilises Internet Explorer. Firefox par exemple fonction très bien avec les espaces ou les caractères un peu "spéciaux" si l'encodage est bien défini

  4. #4
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 34
    Par défaut
    Merci bien

    Si j'ai bien compris
    Voila ce que j'ai fais avec "str_replace"


    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
    $nom = $_POST['nom'];
    $prenom= $_POST['prenom'];
    ................
    .........
     
     
    function replace_specialchars($nom) {
    $in = array('é', 'è', ' ', 'à','ç');
    $out = array('e', 'e', '_', 'a','c');
    return str_replace($in, $out, $nom);
    }
     
    function replace_specialchars($prenom) {
    $in = array('é', 'è', ' ', 'à','ç');
    $out = array('e', 'e', '_', 'a','c');
    return str_replace($in, $out, $prenom);
    }
     
     
    ......................
    ....................
    Mais malheuresement rien n'a changé a mon probleme, je ne sais pas ou sa coinse

    merci por votre aide

  5. #5
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 698
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698
    Par défaut
    Citation Envoyé par airben
    Voila ce que j'ai fais avec "str_replace"
    montre le code exact que tu utilises parce que là tu as déclaré 2 fois la même fonction donc ton code ne peut pas fonctioner

  6. #6
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 34
    Par défaut
    Bonjour,

    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
    $db = mysql_connect('****', '*****', '******');
    mysql_select_db('formulaire',$db);
     
     
     
    // ***********************************TRAITEMENT DES VARIABLES : Methode POST *********************
     
     
    $nom = $_POST['nom'];
    $prenom= $_POST['prenom'];
    $code = $_POST['code'];
    $ville = $_POST['ville'];
    $ddn_a = $_POST['ddn_a'];
     
     
    function replace_specialchars($nom) { 
    $in = array('é', 'è', ' ', 'à','ç'); 
    $out = array('e', 'e', '_', 'a','c'); 
    return str_replace($in, $out, $nom); 
    } 
     
    function replace_specialchars($prenom) { 
    $in = array('é', 'è', ' ', 'à','ç'); 
    $out = array('e', 'e', '_', 'a','c'); 
    return str_replace($in, $out, $prenom); 
    } 
     
     
     
    //************************************* UPLOADER LA PIECE JOINTE photo************************************
     
    //Pour savoir si le fichier a été uploadé, on vérifie que le fichier est bien dans le tableau des fichiers 
    if (!empty($_FILES['photo']['size'])) 
    { 
        //On récupère la taille, le nom et le nom du fichier temporaire 
     
        $f1_size = $_FILES['photo']['size']; 
        $f1_name = $_FILES['photo']['name']; 
        $f1_tmpname = $_FILES['photo']['tmp_name'];
     
     
        //Récupération de l'extension du fichier (on prend ce qui suit le dernier point et on le met en minuscule 
     
        $ext = strtolower(substr($f1_name,strrpos($f1_name, ".")+1)); 
        //Création du tableau des extensions acceptées 
        $valides = array("jpg","btm","gif"); 
     
        //On vérifie la taille et le type de fichier 
        if ($f1_size > 500000) 
        { 
            $infos .= "- Le fichier est trop volumineux!<br>\n"; 
        } 
        if(!in_array($ext,$valides)) 
        { 
            $infos .= "- Ce type de fichier n'est pas accepté!<br>\n"; 
        } 
     
        //Si tout est bon (aucune erreur dans $infos), on déplace le fichier 
        if ($infos == '') 
        { 
            $arbo=".../web/testweb/photo/"; 
     
        } 
        $nomDestination = "$nom-$prenom-$ddn_a.$ext"; 
        move_uploaded_file($f1_tmpname,$arbo . $nomDestination)  or $infos .= "- Impossible d'enregistrer le fichier !<br>n"; 
     
     
    // ****************************************** CHARGEMENT DE LA BASE DE DONNEE*********************************
     
        if ($infos == '') 
        { 
     
     
        $sql = "INSERT INTO photo VALUES('','$nom','$prenom','$code','$ville','$nomDestination')";
        mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 
        mysql_close();
     
    }

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Par défaut
    Citation Envoyé par airben
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function replace_specialchars($nom) { 
    $in = array('é', 'è', ' ', 'à','ç'); 
    $out = array('e', 'e', '_', 'a','c'); 
    return str_replace($in, $out, $nom); 
    }}
    A priori je dirai que ta fonction devrait plutôt ressembler à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function replace_specialchars($valeur) {
    //ta fonction ici qui se termine par :
    return str_replace($in,$out,$valeur);
    }
    ensuite tu appelles ta fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    replace_specialchars('nom');
    replace_specialchars('prenom');
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    replace_specialchars($nom);
    replace_specialchars($prenom);
    si ton nom est une variable

    A tester...

Discussions similaires

  1. [TortoiseSVN] probleme de caractere dans la date
    Par www.rubis dans le forum Subversion
    Réponses: 2
    Dernier message: 06/03/2011, 16h21
  2. [XML] Probleme de caracteres spéciaux
    Par Azonec dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 13/12/2005, 15h48
  3. Probleme de caractere de fin de ligne
    Par mask66 dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 20/07/2005, 14h09
  4. [Date]Probleme de Date
    Par sylvain_neus dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 06/12/2004, 14h15
  5. [langage] Probleme avec caractère '$' dans script Perl
    Par zouetchou dans le forum Langage
    Réponses: 11
    Dernier message: 24/07/2004, 15h35

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