Forum, unserialize Error, chr, ord et peut être utf-8

Dans le forum, j'ai une Notice: unserialize(): Error at offset 0 of 34 bytes sur tete_de_module.php ...

Après examen attentif du fichier je remarque un truc:


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4.  
  5. $DateNonLu    = date('U');
  6.             $ListeNonLu    = serialize(array('all'=>$DateNonLu));
  7.             $ListeNonLuBis = '';
  8.             for($i=0; $i < strlen($ListeNonLu); $i++)
  9.             {
  10.                 $ListeNonLuBis = chr(ord($ListeNonLu[$i])+60).$ListeNonLuBis;
  11.             }            
  12.             reqmysql('INSERT INTO `forum_lecture` SET `ref`="'.$K_user->id.'",`lu`="'.$ListeNonLuBis.'"') or die(Kws_mysql_error());
  13.             $_SESSION['forum_lu']['all'] = $DateNonLu;
  14.  
  15.  
  16. #####!!!#####
  17. ?>


Cette partie de code écrit dans la DB, dans mon cas, la chose suivante


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. ?w^qrrqounlsm^vlmv?w^???^vov??vmv?
  5.  
  6. #####!!!#####
  7. ?>


Je ne suis pas spécialiste mais je suis à peu près sur que ce n'est pas ce que ça doit écrire...

Du coup, quand le même fichier essaye de faire


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. $ArrayNonLu = unserialize($ListeNonLu);
  5.  
  6. #####!!!#####
  7. ?>


ça reçoit des infos erronées.

Je ne sais pas si c'est relatif au passage en utf-8 (c'est probable)...

J'ai regardé du côté de mb_ord et mb_chr, mais ça dépasse mes compétences....


Sujet écrit par jacknikolson le lundi 18 décembre 2023 à 23:04

[ Imprimer ] - [ Fermer la fenêtre ]