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 :

appel fonction javascript dans php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut appel fonction javascript dans php
    bonjour j ai codé une fonction javascript qui permet de convertir les caracteres arabes en en Unicode maintenant j aimerai appeler cette fonction dans mon code php

    par exemple mon code javascript
    Code javascript : 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
      /** encodage  les  caracteres arabes **/
     
    		    function encode(istr)
    		    {
    		    	    var j,nchar,ch,str="";
    		    	    for(j=0;j < istr.length; j++)
    		    	    {
    		    		    nchar = istr.charCodeAt(j);
    		    		    str= str + nchar+ ";" ;   
    		    	    }
    		          return   str;
    		    }
     
     
     
     
    		    /**  END  encodage les  caracteres arabes **/


    code php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       // je recuperer ma donnée arabe  dans url 
        $vari=$_GET['salon'];  
         // j affecte ma variable session  salon a la variable recuperer qui $vari
         //ici la fonction encode est la fonction javascript que j ai codé 
         $_SESSION['salon']=encode($vari);
    ici la fonction encode n est pas reconnu et je ne sais pas comment l appeler dans mon code php

    ou si quelqu un connait l equivalent de ce code encode() en php je serai preneur

    merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci de votre , ici j ai pas de donner a envoyé , j ai une donnée arabe a récupéré que veux encoder en unicode pour l enregistrer dans la base de données ici ma fonction javascript encode() me permet de le faire mais jsute j arrive pas l appelle dans mon code php ou si y a une même manière de le coder en php je suis preneur merci d'avance

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    j ai codé une fonction javascript qui permet de convertir les caracteres arabes en en Unicode maintenant j aimerai appeler cette fonction dans mon code php
    Et pourquoi ne pas faire ta conversion en PHP ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci de votre aide

    charCodeAt

    @Séb.
    Et pourquoi ne pas faire ta conversion en PHP ?
    j ai cette function qui me permet de le faire facilement
    charCodeAt
    si vous avez idée comment le faire en php je suis preneur
    merci d'avance

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par diengkals Voir le message
    j ai cette function qui me permet de le faire facilement
    charCodeAt
    si vous avez idée comment le faire en php je suis preneur
    ord( ) : http://fr2.php.net/manual/en/function.ord.php
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    c'est quoi le charset d'origine?

    tu veux utiliser unicode pourquoi?

    tu as les fonction de conversion multi-octets comme mb_convert_encoding
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci de votre aide:

    la charset c'est utf8

    je veux utiliser Unicode pour les enregistrer dans la base de données c'est des caracteres arabes
    par exemple enregistrer les mots arabes de la manieres suivantes dans la base

  8. #8
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    l'arable classique est couvert par l'utf8 limité à 3 octets qu'utilisent la plupart des versions de mysql tu n'as donc théoriquement pas de conversion à faire
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci, j'ai deja commencé a utiliser l'enregistrement des unicodes dans ma base données pour mes caracteres en utilisant le code javascript que je mis mes precedents posts .

    maintenant j'ai rencontré un probleme lorsque j 'ai recuperer un mot arabe dans mon url je veux le convertir en unicode avant de l'enregister dans BD.

    maintenant je veux m'aide coder ma meme fonction javascript en php

    merci d'avance ou si ya un moyen d appeler javascript dans php

    merci d'avance

  10. #10
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    ce que je veux dire c'est que l'utf8 est un encode spécifique de l'unicode, donc il n'y a pas vraiment d'intérêt à stocker de l'unicode

    et l'utf8 est permis dans les url de même qu'en php ou mysql tu peux le convertir vers tout les encodages...

    j'ai l'impression que tu construis une usine à gaz
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci @ericd69
    j ai essaye avec cela pour enregistrer directement dans la base de données ça me cause beaucoup de probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     mysql_set_charset ('UTF8');
    j ai continuer a chercher pour coder ma fonction encode() en php et j ai trouver ceci qui retourne juste l unicode du premier caractère


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
     
    function uniord( $string , $encoding = 'UTF-8' )
    {
     
    	$entity = mb_encode_numericentity($string, array(0x0, 0xffff, 0, 0xffff), $encoding);
    	return preg_replace('`^&#([0-9]+);.*$`', '\\1', $entity);
     
    } 
        $chaine1="الأصدقاء";
    	   $var1= uniord($chaine1,$encoding = 'UTF-8');
    	   echo  $var1;
        ?>
    resultat
    maintenant comment je vais boucler pour retourner tous les Unicode de la chaîne en ajoutant un point virgule a chaque Unicode
    comme par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1575;1575;1575;1575;
    merci d'avance

  12. #12
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    attention faut que ta table soit en utf8 aussi, ton code php aussi, etc...

    comme je te l'ai dit utf8 gère très bien l'arabe, si tout est bien en utf8 et ton navigateur réglé pour...

    donc pourquoi tu cherches à faire cette conversion?
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci @ericd69
    je vois qu'il faut encoder mes table en utf8, mais la je suis vers la fin du projet que j ai commencé ça fait deux mois. j en tiendrai en compte de vos suggestions pour mes futures projets. j ai deja commencé a faire des conversion mais en javascript la j ai un petit besoin pour finir mon projet c'est pour cela que j insiste a faire l encodage en php.

    merci d'avance

  14. #14
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    alors utilise la fonction mb_convert_encoding, elle sert à ça
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci de votre aide,
    cette fonction uniord() retourne le code UNICODE du premier caractère de string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function uniord( $string , $encoding = 'UTF-8' )
    {    
    	$entity = mb_encode_numericentity($string, array(0x0, 0xffff, 0, 0xffff), $encoding);
    	return preg_replace('`^&#([0-9]+);.*$`', '\\1', $entity);  
    }
    maintenant j'ai coder une autre fonction encode()
    qui va partir toute la chaine pour retourner les unicode en ajoutant un poiint virgule apres chaque unicode mais ça ne marche pas j arrive avoir la ou ça coche

    encode

    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
     
     
    function  encode($istr)
    	   {
    	      $nchar;
    		  $str="";
     
    		  for($i=0; $i<strlen($istr); $i++)
    		  {
    		    // echo $i;
    		        $nchar=uniord($i,$encoding ='UTF-8');
    				$str= $str + $nchar+ ";";
    		  }
    		  return  $str;
     
     
    	   }
    	    $chaine1="الأصدقاء";
        $var2=encode($chaine1);
    	echo $var2;
    merci d'avance

  16. #16
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    c'est normal en php la concaténation c'est . pas +

    de plus, pour parcourir ta chaine faut utiliser $istr[$i] au lieu de $i dans uiord, donc tu devrais avoir un truc du genre:

    Code php : 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
    function  encode($istr)
    	   {
    	      $nchar;
    		  $str="";
     
    		  for($i=0; $i<strlen($istr); $i++)
    		  {
    		    // echo $i;
    		        $nchar=uniord($istr[$i],$encoding ='UTF-8');
    				$str= $str . $nchar . ";";
    		  }
    		  return  $str;
     
     
    	   }
    	    $chaine1="الأصدقاء";
        $var2=encode($chaine1);
    	echo $var2;
     
    merci d'avance
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  17. #17
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci @ericd69

    j'ai modifié ma fonction encode() mais j ai un résultat bizarre

    mon complet php

    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
     
    <?php
     
    function uniord( $string , $encoding = 'UTF-8' )
    {    
    	$entity = mb_encode_numericentity($string, array(0x0, 0xffff, 0, 0xffff), $encoding);
    	return preg_replace('`^&#([0-9]+);.*$`', '\\1', $entity);  
    } 
     
    	   function  encode($istr)
    	   {
     
    		  $str=" ";
     
    		  for($i=0; $i<strlen($istr); $i++)
    		  {
    		         $nchar=uniord($istr[$i],$encoding = 'UTF-8');
    				$str= $str . $nchar . ";" ;
    		  }
    		  return  $str;
     
     
    	   }
    	    $chaine="الأصدقاء";
     
        $var2=encode($chaine);
    	echo $var2;
    	   ?>
    le resultat
    et si j appelle juste la fonction uniord() ) ça me retourne l'unicode du premier caractère

    merci d'avance

  18. #18
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    ta chaine c'est de l'unicode déjà en fait alors pourquoi tu veux la réencoder en unicode?
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  19. #19
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    non ma chaine c'est en arabe c'est le navigateur qui l affiche comme ça

  20. #20
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    ce que tu mets dans $chaine c'est de l'unicode pour le navigateur pas pour php
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. appel fonction javascript dans un fichier php
    Par Sharcoux dans le forum Langage
    Réponses: 2
    Dernier message: 02/08/2011, 13h11
  2. [Prototype] Appel fonction JavaScript dans réponse serveur via ajax.request
    Par philippe_jmh dans le forum Bibliothèques & Frameworks
    Réponses: 11
    Dernier message: 22/06/2008, 02h43
  3. Réponses: 5
    Dernier message: 01/02/2008, 15h29
  4. cgi/javascript : appeler fonction javascript dans code cgi, need help!
    Par Mr.ux dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2007, 07h33
  5. [PHP-JS] Appel de javascript dans php
    Par amestoche dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/04/2007, 11h45

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