Aller au contenu

[resolu]erreur de dll avec un script php


kenji

Messages recommandés

hello

voila mon code :

            //creation du fichier xml
           $result = $Bdd -> Send_Query("SELECT * FROM file_xml");
           if($objet = $Bdd -> get_object($result)){
               $id_file = $objet -> id_file_xml;   
           }
           if($id_file<>''){
               if(file_exists('../../cache/liste'.$id_file.'.xml')){
                   @unlink('../../cache/liste'.$id_file.'.xml');
               }
               $Bdd -> Send_Query("DELETE FROM file_xml");
           }
          
           $Bdd -> Send_Query("INSERT INTO file_xml (date,heure) VALUES (now(),now())");
           $id_xml = $Bdd -> insert_id();
           $xml = '<?xml version="1.0" encoding="UTF-8" ?>';
           $xml .= '<main>';
           $i = 1;
          
           $result = $Bdd -> Send_Query("SELECT * FROM maisons");   
           while($objet = $Bdd -> get_object($result)){
               $nom = stripslashes($objet -> m_nom);
               //$nom = SansAccents($nom);  //=> si je decomente j'ai une super erreur
              
               $xml .= '<maisons id="'.$i.'" nom="'.$nom.'">
                   <lieu departement="" numero="'.$objet -> m_dpt.'" />
                   <maisons adresse="" liens="maison_presentation_'.$objet -> id_maisons.'.html"/>
                   </maisons>';
           }   
                      
           $xml .= '</main>';
          
           $handle = fopen('../../cache/liste'.$id_xml.'.xml', 'w+');
           fwrite($handle, $xml);
           fclose($handle);

la fonction :

           function SansAccents($chaine) {
               $char_old = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ';
               $char_new = 'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn';
               return(strtr($chaine,$char_old,$char_new));
           }             

et le resultat :

APACHE.EXE - Erreur d'application

L'instruction à "0x006fb7c7" emploie l'adresse mémoire "0x65x6128". La mémoire ne peut etre read

APACHE.EXE - Erreur d'application

L'instruction à "0x1377d04" emploie l'adresse mémoire "0x00000008". La mémoire ne peut etre read

ensuite j'ai une erreur dans l'interpreteur le fichier php5ts.dll et apache2.dll

le script fonctionne parfaitement si je ne me sers pas de la fontion sans accent

le problème est que je suis oblige car le xml est appele depuis flash ensuite sur une carte de france pour situer les différents points et flash aime pas les accents :(

j'ai fait une verif des fichiers systeme de windows tout est ok

memtest de la memoire tout est ok

resintall de apache et php4/php5 mais toujours meme problème

test avec apache 1.3, 2.53, 2.054

version de php test 5.03,5.04,4.4.0

j'ai fait le test sur mon autre serveur sous linux et tout fonctionne

donc ca vient de windows

une idée ?

merci

Lien vers le commentaire
Partager sur d’autres sites

D'accord, maintenant tente en remplaçant ta chaîne avec les accents par celle sans accent :

function SansAccents($chaine) {

$char_old = 'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn';

$char_new = 'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn';

return(strtr($chaine,$char_old,$char_new));

}

Elle sera inutile, mais c'est juste pour voir si ça plante pas. Ca permettra de voir si ça vient pas d'un problème d'encodage.

Lien vers le commentaire
Partager sur d’autres sites

trouve

si je commente cela :

if(isset($_POST["nom"])){ $nom = addslashes($_POST["nom"]);}

en debut de page ca fonctionne

des que je decommente ca deconne

comme je traite le formulaire en debut de page j'appelle la variable

je change de le nom de la variable $nom lors de mon appel de la fonction et ca passe

assez etrange car dans tous les cas la variable non n'est pas vide

l'erreur doit venir d'autre part

Lien vers le commentaire
Partager sur d’autres sites

oui en effet

vu que la page contient pres de 800 lignes et un nombre incalculable de variables j'en ai dupliquer une :)

meme en changeant le nom de la variable ca me fait toujours une erreur

j'ai un piste quand meme

si je commente tous les variables que je recupere en debut de page et que je laisse la fonction ca passe

et inversement je commente la fonction et laisse les $_POST ca passe

il y'a un conflict qq part mais la chaque variable est uniqueet initialise avant utilisation

Lien vers le commentaire
Partager sur d’autres sites

a devenir dingue des fois j'ai virer un espace dans une autre fonction qui traitait les données recuperés soit en get soit en post et depuis ca fonctionne

faut vraiment chercher des fois un simple espace qui peut faire cette erreur

mais le rapport avec cette erreur j'avoue que j'en sais trop rien la

car il suffisait que je commente la fonction sansaccents pour que cela fonctionne

et de plus je n'avais aucune erreur de syntaxe de php juste erreur de dll

merci de ton aide :iloveyou:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...