Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1248 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Fatal error: Cannot re-assign $this

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fatal error: Cannot re-assign $this

n°1686944
pulsarghos​t
GamerTag : pulsarghost
Posté le 15-02-2008 à 15:04:22  profilanswer
 

:hello:

 

Tout d'abord je tiens a préciser que j'ai deja fait des recherches sur Google et sur Hardware mais je ne trouve pas la solution de plus ce n'est pas moi qui ait fait le code.

 

Le site marche sous php4 mais pas le 5

 

J'obtiens cette erreur "Fatal error: Cannot re-assign $this ..." quand je veux voir le site sur le navigateur j'ai tésté sous WAMP et EasyPHP toujours la même erreur

 

Sur un site on me dit de remplacer
http://www.oscommerce-fr.info/faq/qa_info.php?qID=172
Le probleme c'est que je ne trouve pas le upload.php

 

Sur un autre de mettre unset = $this
http://www.frxoops.org/modules/new [...] _id=137416
OU
commenter // $this = null

 

Celui la est le plus pertinent je pense
http://www.developpez.net/forums/s [...] p?t=107725

 

Je vous passe le bout de code ou ça coince

 
Code :
  1. function ICharger($PourAdmin=FALSE,$menu=FALSE){
  2.  if($this->id!=0){
  3.   $UseCache = parent::_cacheOuPas('rubrique-'.$this->id,$PourAdmin,FALSE);
  4.   if($UseCache===FALSE){
  5.    $result = IPWG_DataConnector::select('
  6.     SELECT * FROM '.PREFIX_DB.'rubriques
  7.     WHERE id='.stringToDB($this->id));
  8.    if($result!==FALSE && is_array($result)!==FALSE){
  9.     $result = current($result);
  10.     $this->id = $result['id'];
  11.     $this->type = $result['type'];
  12.     $this->idparent = $result['idparent'];
  13.     $this->datecrea = $result['datecrea'];
  14.     $this->datemaj = $result['datemaj'];
  15.     $this->ordre = $result['ordre'];
  16.     $this->statut = $result['statut'];
  17.     $this->menu = $result['menu'];
  18.     $this->affichage = $result['affichage'];
  19.     $TableContent = new IPWG_Table_Content();
  20.     if($TableContent->IChercher('rubriques',$this->id,'libelle')!==FALSE) $this->libelle = $TableContent->valeur;
  21.     $this->enfants = IPWG_Rubrique::IListe($PourAdmin,$this->type,$this->id,$menu);
  22.     $this->produits = IPWG_Produit::IListe($PourAdmin,'rubrique',$this->id);
  23.     $this->articles = IPWG_Article::IListe($PourAdmin,'rubrique',$this->id);
  24.     $this->fichiers = IPWG_Fichier::IListe($PourAdmin,'rubrique',$this->id);
  25.     return parent::_cacheOuPas('rubrique-'.$this->id,$PourAdmin,$this);
  26.    }else return FALSE;
  27.   }else $this = $UseCache;
  28.  }else return FALSE;
  29. }


L'érreur est à la ligne 31

 

Merci pour votre aide  :jap:


Message édité par pulsarghost le 15-02-2008 à 15:10:18
mood
Publicité
Posté le 15-02-2008 à 15:04:22  profilanswer
 

n°1686948
flo850
moi je
Posté le 15-02-2008 à 15:11:19  profilanswer
 

ben tu peux pas, dans un objet faire ça  
essaye de decomposer  
$this = $UseCache;
 
en
 $this->id = $UseCache->id;
$this->type= $UseCache->type;
 
et ainsi de suite pour toutes tes proprietés


---------------

n°1686954
pulsarghos​t
GamerTag : pulsarghost
Posté le 15-02-2008 à 15:14:25  profilanswer
 

Salut merci pour ta réponse  
J'ai fait un BTS option réseau et donc je n'ai fait que du dev en 1ere année
Si j'ai bien compris il faut que je change tout les $this en  
$this->id = $UseCache->id;
$this->type= $UseCache->type;  
C'est bien ça ?
 
Donc a la place de

Code :
  1. [...] # }else $this = $UseCache;
  2. #  }else return FALSE;
  3. # }


 
je met

Code :
  1. [...]# }else $this->id = $UseCache->id;
  2. $this->type= $UseCache->type;
  3. #  }else return FALSE;
  4. # }


Message édité par pulsarghost le 15-02-2008 à 15:17:40
n°1686956
babasss
Posté le 15-02-2008 à 15:16:22  profilanswer
 

Je pense que flo850 parle uniquement de la ligne 31


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1686958
pulsarghos​t
GamerTag : pulsarghost
Posté le 15-02-2008 à 15:18:12  profilanswer
 

ok merci ;)
je fais ça de suite pour voir

n°1686960
flo850
moi je
Posté le 15-02-2008 à 15:19:00  profilanswer
 

n'oublie pas de metre des accolade

Code :
  1. else
  2. {
  3.      $this->id = $UseCache->id;
  4.      $this->type= $UseCache->type;
  5. // ici tu mets a jour toutes les autre propietés
  6. }


---------------

n°1686975
pulsarghos​t
GamerTag : pulsarghost
Posté le 15-02-2008 à 15:46:50  profilanswer
 

J'ai oublié de préciser en fait le site marche sur notre serveur et le client a son propre serveur mais pas avec les memes version de logiciels je pense surtout que c'est le passage de php4 a 5 qui coince puisque sur notre serveur le site marche mais pas sur le leur  
 
J'ai créer une nouvelle BDD et j'ai importer le fichier sql sur phpmyadmin
 
J'ai réussi a avancer en changeant comme tu me l'as dit dans tous les fichier ayant cette erreur mais j'ai cette autre erreur
 
Warning: mysql_connect() [function.mysql-connect]: Access denied for user '***'@'localhost' (using password: YES) in C:\wamp\www\***\includes\librairies\IPWG_01_DataConnector.class.php on line 15
Impossible de se connecter : Access denied for user '***'@'localhost' (using password: YES)
 
J'ai alors regarder sur ledit fichier ligne 15 mais c'est une ligne vide (Je sais que certaines erreur se trouve soit au dessus ou en dessous de la ligne cité)
 

Code :
  1. //Type de cache
  2. //define('TYPE_CACHE', 'BDD');
  3. define('TYPE_CACHE', 'FS');
  4. // PATH
  5. define('PATH_CLASS',PATH_PAGE.'includes/classes/');
  6. define('PATH_LIBRARY',PATH_PAGE.'includes/librairies/');
  7. define('PATH_CACHE',PATH_PAGE.'includes/caches/');
  8. define('PATH_SCRIPT',PATH_PAGE.'scripts/');
  9. define('PATH_STYLE',PATH_PAGE.'styles/');
  10. define('PATH_TEMPLATE',PATH_PAGE.'templates/');
  11. define('PATH_FICHIER',PATH_PAGE.'files/');


 
la ligne 15 est la ligne vide


Message édité par pulsarghost le 15-02-2008 à 15:52:42
n°1686980
flo850
moi je
Posté le 15-02-2008 à 15:51:27  profilanswer
 

deux possibilité :  
quand tu as cloné la BDD tu n'as pas remis de mot de passe
Le mot de passe de connection est faux  


---------------

n°1686985
pulsarghos​t
GamerTag : pulsarghost
Posté le 15-02-2008 à 15:58:05  profilanswer
 

Si j'ai bien compris quand on clone une BDD il faut changer le mdp mais je dois le faire sur phpmyadmin ou dans le code
 
Je suis sur que le mdp de connection est bon

n°1686986
flo850
moi je
Posté le 15-02-2008 à 16:00:08  profilanswer
 

est ce que tu as indiqué , dnas phpmyAdmin , que ta Base avait un mot de passe ?


---------------

mood
Publicité
Posté le 15-02-2008 à 16:00:08  profilanswer
 

n°1687008
pulsarghos​t
GamerTag : pulsarghost
Posté le 15-02-2008 à 16:34:28  profilanswer
 

En fait tu devais avoir raison
J'ai donc creer un utilisateur sur phpmyadmin avec les login qui sont sur le fichier et ça marche on voit bien le site
Cependant il manque pas mal de truc je pense que cela ai du au changement que j'ai fait avec $this

 

Ya un probleme, sur le phpmyadmin de notre serveur on a bien la fenetre privilèges mais sur le leur non O_o
Donc quand on a importer la BDD de notre serveur qui contenait tout avec privilege sur le leur il y en a aucun (je veux dire que vu qu'il ny a pas la fenetre de privilege ya rien quoi)

 

Merci pour ton aide :jap:

 

PS : Il faut créer un utilisateur avec un pwd et nom de base avec exactement les memes que ceux sur le fichier config.inc


Message édité par pulsarghost le 30-04-2008 à 12:41:53
n°1727001
pulsarghos​t
GamerTag : pulsarghost
Posté le 30-04-2008 à 17:17:03  profilanswer
 

J'ai refait le test sur free sans changer le code ($this)
et ça marche sauf que j'ai des erreurs

 

Warning: session_start() [function.session-start]: open(/.../sessions/sess_877f735b2ea24628a29f219dd7827602, O_RDWR) failed: No such file or directory (2) in /.../includes/session.inc.php on line 3

 

la ligne 3 correspond a session_start();

 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /.../includes/session.inc.php:3) in /.../includes/session.inc.php on line 3

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /.../includes/session.inc.php:3) in /.../includes/session.inc.php on line 3

 


Warning: Unknown(): open(/.../sessions/sess_d563f20f4dd08c89ac15a4eec064de8f, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

 

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/.../sessions) in Unknown on line 0

 

Est-ce un probleme du a free ? la fonction php doit être bloquée ?


Message édité par pulsarghost le 30-04-2008 à 17:22:26
n°1727006
babasss
Posté le 30-04-2008 à 17:23:28  profilanswer
 
n°1728426
pulsarghos​t
GamerTag : pulsarghost
Posté le 05-05-2008 à 10:29:49  profilanswer
 

Merci
Je vais testé ça

n°1728437
pulsarghos​t
GamerTag : pulsarghost
Posté le 05-05-2008 à 10:37:13  profilanswer
 

ça marche plus de message d'erreur mais il y a du code sur le site
Merci babasss :jap:

 

Pourtant en local j'ai eu pas mal de corrections a faire (voir ci dessus)
J'ai voulu tester sur free pour tester sur un hebergement et je n'ai pas eu a modifier l'ancien code et le passage de php4 a php5 est nikel

 

Si quelqu'un peut m'expiquer :??:


Message édité par pulsarghost le 05-05-2008 à 10:40:05
n°1728447
babasss
Posté le 05-05-2008 à 10:44:11  profilanswer
 

C'est quoi la question exactement ?


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1728529
pulsarghos​t
GamerTag : pulsarghost
Posté le 05-05-2008 à 11:59:46  profilanswer
 

Pourquoi en local il y a des bugs et pas sur un hebergement parce que j'ai perdu pas mal de temps en corrigeant les erreurs en local alors qu'il n'y en a pas sur une hebergement j'ai meme pas eu a changer le code

n°1728535
babasss
Posté le 05-05-2008 à 12:05:10  profilanswer
 

pulsarghost a écrit :

Pourquoi en local il y a des bugs et pas sur un hebergement parce que j'ai perdu pas mal de temps en corrigeant les erreurs en local alors qu'il n'y en a pas sur une hebergement j'ai meme pas eu a changer le code


Peut être qu'il y a toujours des bugs mais que le niveau d'alerte est plus faible sur l'hébergement.
Place un error_reporting(E_ALL) en tête de page et tu verras si il n'y a vraiment plus de problème...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Fatal error: Cannot re-assign $this

 

Sujets relatifs
Error occurred during initialization of VMerreur : Warning: session_start() [function.session-start]: Cannot sen
parse errorERROR 1216: Cannot add or update a child row: a foreign key constraint
[PHP] Erreur: Cannot use a scalar value as an arrayProbléme Vb error '429'
FaTaL eRrOr... tit coup de main svp500 internal server error sur formMail
Plus de sujets relatifs à : Fatal error: Cannot re-assign $this


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR