[PHP] Prog. orientée objet pas gérée par mon serveur O_o

Prog. orientée objet pas gérée par mon serveur O_o [PHP] - PHP - Programmation

Marsh Posté le 04-08-2006 à 09:26:46    

Bonjour à tous !
 
Depuis toujours mon site tournait avec pas mal de modules de POO, et depuis que j'ai réinstallé mon serveur (Apache 2 et PHP5, avant c'était Apache 1 et PHP4) ça ne fonctionne plus... Ca coince dès que la première syntaxe de POO apparaît :
 

Code :
  1. if(!isSet($_COOKIE['login']))
  2. {
  3. $bd->req_exe("update compteur set count=count+1" );
  4. SetCookie("login","visiteur",time()+1 * 36 * 3600 , "/","",0);
  5. }


 
Voilà ce que ça donne :
 
http://dawa.kicks-ass.net/shootmeon2line/index.php
 
D'où cela pourrait-il venir, un paramètre à changer ou quoi que ce soit ? :??:  
 
Merci de votre aide !

Message cité 1 fois
Message édité par Dawa le 04-08-2006 à 11:04:40

---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 04-08-2006 à 09:26:46   

Reply

Marsh Posté le 04-08-2006 à 09:35:28    


 [:grinking]  [:atsuko]  [:grinking]  
 
C'te topic vendredi powaaaah  

Reply

Marsh Posté le 04-08-2006 à 09:39:38    

:lol: :lol:

Reply

Marsh Posté le 04-08-2006 à 09:45:52    

attention, tout n'est pas compatible entre php4 et 5, notamment le modèle objet :D

Reply

Marsh Posté le 04-08-2006 à 09:51:35    

Ah ouai c'est pratique d'aller voir en local  :D  :D  
 
Sinon qu'est ce que tu utilise comme serveur exactement ? est ce un serveur "virtuel" genre Easy php ou est un vrai tit serveur :) ?

Reply

Marsh Posté le 04-08-2006 à 10:59:24    

Ho putain la honte :D  
 
J'étais à la bourre ce matin :D Voilà la vraie adresse, http://dawa.kicks-ass.net/shootmeon2line/index.php mais apparemment l'update n'a pas été fait... super :|  
 
micfont > c'est un serveur virtuel mais je ne suis pas passé par easy php, j'ai installé le tout (php, apache, mysql) un par un...

Reply

Marsh Posté le 04-08-2006 à 11:30:56    

tu as fait tes updates dans quel ordre ?
il faut faire mysql -> apache -> php, puis je te conseil d'utilise l'installateur php au lieu du zip si tu es sous windows.

Reply

Marsh Posté le 06-08-2006 à 15:26:04    

Ce n'est pas une update c'est une installation toute neuve, je me suis servi de ce tuto : http://giminik.developpez.com/arti [...] it=Valider
 
Et voilà le résultat : http://dawa.kicks-ass.net/shootmeon2line/
 
edit : alors que la même chose fonctionne à merveille sur un serveur mutualisé PHP4 : http://www.shootmeagain.com


Message édité par Dawa le 06-08-2006 à 15:26:45

---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 06-08-2006 à 15:35:23    

Citation :

Délai d'attente dépassé

Reply

Marsh Posté le 07-08-2006 à 18:22:42    

utilise le tuto de php.net plutot il est tres bien fait.

Reply

Marsh Posté le 07-08-2006 à 18:22:42   

Reply

Marsh Posté le 09-08-2006 à 19:20:33    

J'ai checké toute ma syntaxe par rapport au tuto de php.net et tout semble correct, je ne sais donc pas ce qui coince :/


---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 09-08-2006 à 22:05:49    

Tu devrais peut être nous faire voir comment tu obtiens ta variable $bd et le contenu de la fonction req_exe() aussi.

Reply

Marsh Posté le 11-08-2006 à 09:14:05    

Ok !
 
Voilà pour BD :
 

Code :
  1. function __construct ($login, $pass, $serveur, $base)
  2. {
  3.  $this->connexion = @mysql_connect ($serveur, $login, $pass);
  4.  if (!$this->connexion)
  5.   $this->message("Connexion au serveur impossible." );
  6.  if (!@mysql_select_db($base, $this->connexion))
  7.  {
  8.   $this->message ("Accès à la base impossible." );
  9.   $this->message ("<b>Message : </b>".mysql_error($this->connexion));
  10.   $this->erreur=1;
  11.  }
  12. }


 
et req_exe :
 

Code :
  1. function req_exe($sql)
  2. {
  3.  $req = mysql_query($sql, $this->connexion);
  4.  if(!$req)
  5.  {
  6.   echo "Erreur lors de l'exécution de la requête $sql <br />";
  7.   $this->message ("<b>Message : </b>".mysql_error($this->connexion));
  8.   $this->erreur=1;
  9.  }
  10.  return ($req);
  11. }


---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 11-08-2006 à 12:07:17    

c est pas ta class entiere dans l erreur il y a des erreurs ligne 37 et 41
visiblement il y a meme un appel a header foireux
 
tu nous donne la class entiere pas juste deux fonctions

Reply

Marsh Posté le 11-08-2006 à 14:11:30    

Voici la classe entière
 

Code :
  1. <?
  2. class BD
  3. {
  4. // PROPRIETES
  5. var $connexion, $erreur=0;
  6. // CONSTRUCTEUR
  7. function BD ($login, $pass, $serveur, $base)
  8. {
  9.  $this->connexion = @mysql_connect ($serveur, $login, $pass);
  10.  if (!$this->connexion)
  11.   $this->message("Connexion au serveur impossible." );
  12.  if (!@mysql_select_db($base, $this->connexion))
  13.  {
  14.   $this->message ("Accès à la base impossible." );
  15.   $this->message ("<b>Message : </b>".mysql_error($this->connexion));
  16.   $this->erreur=1;
  17.  }
  18. }
  19. // METHODES PRIV
  20. function message ($message)
  21. {
  22.  echo "<b>Erreur.</b><br />$message<br />";
  23. }
  24. // METHODES PUBLIQUES
  25. function req_exe($sql)
  26. {
  27.  $req = mysql_query($sql, $this->connexion);
  28.  if(!$req)
  29.  {
  30.   echo "Erreur lors de l'exécution de la requête $sql <br />";
  31.   $this->message ("<b>Message : </b>".mysql_error($this->connexion));
  32.   $this->erreur=1;
  33.  }
  34.  return ($req);
  35. }
  36. // objet
  37. function objetSuiv($resultat)
  38. {
  39.  return mysql_fetch_object ($resultat);
  40. }
  41. // tableau associatif
  42. function ligneSuiv($resultat)
  43. {
  44.  return mysql_fetch_assoc ($resultat);
  45. }
  46. // tableau indicé
  47. function tabSuiv($resultat)
  48. {
  49.  return mysql_fetch_row ($resultat);
  50. }
  51. function erreur()
  52. {
  53.  return $this->erreur;
  54. }
  55. function quitter()
  56. {
  57.  @mysql_close ($this->connexion);
  58. }
  59. }
  60. ?>


 
A noter que ces fonctions marchent parfaitement bien sur le serveur qui doit être en PHP4 : http://www.shootmeagain.com/


---------------
SHOOT ME AGAIN WEBZINE
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed