OVH Community, votre nouvel espace communautaire.

script news marche avec wamp, pas ovh


erwan-38
11/06/2010, 16h05
Bonjour, et merci à tous pour votre aide ! Mon script marche comme il faut, il s'agissait bien d'un conflit de version PHP ...
Encore Merci !
A bientôt ...

erwan-38
10/06/2010, 16h23
Merci beaucoup Gaston_phone, c'est très gentil de ta part. Je teste ça et je reviens vers vous demain !

Gaston_Phone
10/06/2010, 13h52
Au cas, où tu aurais des doutes sur l'accès à ta base de données, puis-je te suggérer de faire un tout petit script en PHP test_SQL.php, dans lequel tu vas :
- Ouvrir une connexion à ta base,
- Faire une requête dans une table,
- Fermer ta connexion.

Ce script te permettra, indépendamment de tous tes autres scripts, de voir si ta base de données est accessible ou non, ainsi que la durée du traitement.

test_SQL.php

Code PHP:

   error_reporting
(E_ALL);   // Activer le rapport d'erreurs PHP


function getmicrotime()
   { 
   list(
$usec$sec) = explode(" ",microtime()); 
   return ((float)
$usec + (float)$sec); 
   } 

   
$Date_start getmicrotime();


// ******  Exemples de configuration selon les hébergements mutualisés ******

//   Perso
//   ------
//      $DBhost  = "mysql5-14.perso";
//      $DBowner = "";  // Ton login SQL
//      $DBName  = $DBowner;

//   Pro
//   ---
//      $DBhost  = "mysql5-6.pro";
//      $DBowner = "";  // Ton login SQL
//      $DBName  = $DBowner;

// ******  Fin des exemples de configuration


// ******  Configuration - Debut ******
   
$DBhost  "mysql5-6";   // Par exemple
   
$DBowner "";  // ton login SQL
   
$DBpw    "";  // ton password SQL
   
$DBName  $DBowner;
// ******  Configuration - Fin ******
    

      
$Table_SQL "Tab_test_DB";

      
$fh_db mysql_connect($DBhost$DBowner$DBpw);
      
$Erreur mysql_error();
      echo 
" mysql_connect=".$fh_db." - Erreur="
.mysql_error()." 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      
$sel mysql_select_db($DBName$fh_db);
      echo 
" mysql_select_db=".$sel." - Erreur=".mysql_error()." 
 
\n";

      echo 
" Test de DROP/CREATE de la table '.$Table_SQL"' dans la base '.$DBName"' sur le serveur '.$DBhost"
  
";

      
//  Supression de la table Tab_test_DB

      
$sql_query="DROP TABLE IF EXISTS `Tab_test_DB` ";    // Requête
      
$result_query=mysql_query($sql_query);     // Exécution de la requête
      
$Erreur mysql_error();
      echo 
"Supression de la table Tab_test_DB - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      
//  Création de la table Tab_test_DB

      
$sql_query="CREATE TABLE `Tab_test_DB` (  `Id` int(11) NOT NULL auto_increment,  `NOM` varchar(32) NOT NULL default '',  `PRENOM` varchar(32) NOT NULL default '', PRIMARY KEY  (`Id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 ";    // Requête
      
$result_query=mysql_query($sql_query);     // Exécution de la requête
      
$Erreur mysql_error();
      echo 
"Création de la table Tab_test_DB- Erreur=".mysql_error()."  - \$sql_query=$sql_query - \$result_query=$result_query 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      
//  Ajout d'un Premier enregistrement

      
$sql_query="INSERT INTO `Tab_test_DB`  values ('','DURANDAL','Michel')  ";    // Requête
      
$result_query=mysql_query($sql_query);     // Exécution de la requête
      
$Erreur mysql_error();
      echo 
"Ajout d'un enregistrement - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      
//  Ajout d'un Deuxième enregistrement

      
$sql_query="INSERT INTO `$Table_SQL`  values ('','DURANDAL','Pierre')  ";    // Requête
      
$result_query=mysql_query($sql_query);     // Exécution de la requête
      
$Erreur mysql_error();
      echo 
"Ajout d'un enregistrement - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      
//  Ajout d'un Troisième enregistrement

      
$sql_query="INSERT INTO `Tab_test_DB`  values ('','accents-éèàâ','Jean-Noël')  ";    // Requête
      
$result_query=mysql_query($sql_query);     // Exécution de la requête
      
$Erreur mysql_error();
      echo 
"Ajout d'un enregistrement - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      
//  SELECT dans la table Tab_test_DB : NOM='DURANDAL'

      
$sql_query="SELECT Id, NOM, PRENOM FROM `Tab_test_DB` WHERE NOM='DURANDAL' ";    // Requête
      
$result_query=mysql_query($sql_query);     // Exécution de la requête
      
$Erreur mysql_error();
      echo 
"SELECT dans la table Tab_test_DB  - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      
//  SELECT dans la table Tab_test_DB : tous les enregistrements

      
$sql_query="SELECT Id, NOM, PRENOM FROM `Tab_test_DB` ";    // Requête
      
$result_query=mysql_query($sql_query);     // Exécution de la requête
      
$Erreur mysql_error();
      echo 
"SELECT dans la table Tab_test_DB  - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query 
 \n";
      if (
strlen($Erreur) > 0)   exit;
      
$result_count_row_get mysql_num_rows($result_query);  
      
$Erreur mysql_error();
      echo 
" Nombre d'enregistrements trouvés = $result_count_row_get 
 \n";
      if (
strlen($Erreur) > 0)   exit;

      if (
$result_query)
         {
         
$Count 0;
         while (
$result_query && $row=mysql_fetch_array($result_query)) 
            { 
            
$Count     $Count 1;
            
$NOM       $row['NOM'];
            
$PRENOM    $row['PRENOM'];
            echo 
" Table  Tab_test_DB : ".$Count." - \$NOM=".$NOM." - \$PRENOM=".$PRENOM." 
 \n";
            }
         }

      
// Fermeture de la connexion    
      
mysql_close($fh_db);                                 


      
$Date_end getmicrotime();
      
$Duree $Date_end $Date_start;
      
$Duree sprintf("%01.2f"$Duree);

      echo 

  Durée du traitement = 
$Duree secondes 
 \n";


?>

erwan-38
10/06/2010, 13h08
@ Cassiopee: il me semblait bien qu'il y avait une subtilité dans le genre ... Je teste ça dès que je pourrai !

@Gaston-phone: $db_hote = mysql5-15.60gp il me semble. Je ne sais pas encore si j'ai des problèmes de connexion vu que le script ne s'exécute même pas jusque là !

Merci à tous pour vos réponses ! Je vous dirai si ça marche

Gaston_Phone
10/06/2010, 11h05
Quelle valeur pour : $db_hote; ?

cassiopee
10/06/2010, 10h28
Vraisemblablement parce que ce sript ne fonctionne qu'en version 5 de PHP
(par défaut en mutualisé on est en PHP 4)
donc tu peux essayer de placer dans un fichier ".htaccess" à la racine de ton site :

Code:
SetEnv PHP_VER 5
afin d'indiquer au système que tu préfères être en PHP 5

erwan-38
10/06/2010, 10h20
Bonjour à tous, j'aborde un sujet qui a du être rebattu de nombreuses fois mais je ne trouve pas de réponse concrètes. J'ai testé un script de news, http://scripts.toocharger.com/fiches...ynews/5151.htm, et je l'ai testé avec WAMP (téléchargé en avril 2010). Tout marche pour le mieux, je suis très content ...
Quand je l'upload sur mon site, il me donne une erreur :
http://www.expression-sante.fr/phpmynews/

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homez.22/expressiq/www/phpmynews/includes/class.news.php on line 5

Le fichier incriminé est le suivant :
Code PHP:

class PhpMyNews
{
    public     
$maxLength;
    public    
$limite;            
    public    
$template_news;        
    public    
$template_gestion_news;
    public    
$db_nom;        
    public    
$db_hote;
    public    
$db_utilisateur;
    public    
$db_passe;
    public    
$db_table;
    public    
$connexion;
    
    
// Le constructeur
    
function __construct()
    {
        require(
'config.php');
        
        
$this->db_hote $db_hote;
        
$this->db_nom $db_nom;
        
$this->db_utilisateur $db_utilisateur;
        
$this->db_passe $db_passe;
        
$this->db_table $db_table;
        
$this->limite $limite;
        
$this->template $template_news;
        
$this->template_gestion $template_gestion_news;
    }
    
    
// Affichage des news
    
function displayAll()
    {
        
$this->connect();
        
        
$result mysql_query("SELECT * FROM ".$this->db_table." ORDER BY date DESC LIMIT 0, ".$this->limite);
        
        while(
$row mysql_fetch_assoc($result))
        {
            
$id $row['id'];
            
$author =  utf8_encode($row['author']);
            
$content $this->addSmiley(utf8_encode($row['content']));
            
$date $this->convertDate($row['date']);
            
            require(
$this->template);
        }
        
$this->close();
    }
    
    
// affichage de la gestion des news
    
function displayGestion()
    {
        
$this->connect();

        
$result mysql_query("SELECT * FROM ".$this->db_table." ORDER BY date DESC LIMIT 0, ".$this->limite);
                    
        while(
$row mysql_fetch_assoc($result))
        {
                
$id $row['id'];
                
$author =  utf8_encode($row['author']);
                
$content $this->addSmiley(utf8_encode($row['content']));

                require(
$this->template_gestion);
        }
        echo 
".CODE."&action=ajouter_news\">Ajouter une news

        Se déconnecter
";
        echo 
"Note: les actions sont désactivées en mode démo
";
        
        
$this->close();
    }

    
// On un seul objet par son ID
    
function displayItem($id)
    {
        if(
is_numeric($id))
        {
            
$this->connect();
            
            
$result mysql_query("SELECT * FROM ".$this->db_table." WHERE id = '".$id."'");
            
$row mysql_fetch_assoc($result);
            
            
$author =  $row['author'];
            
$content $row['content'];
            
$date $this->convertDate($row['date']);
            
            require(
$this->template);
            
            
$this->close();
            return 
true;
        }
        else return 
false;
        
    }
    
    
// On ajoute une news
    
function addNews($author$content)
    {
        
$this->connect();
        
        
$sql sprintf("INSERT INTO ".$this->db_table." (author, content ,date) VALUES ('%s','%s',CURDATE())",
        
$this->clean($author), $this->clean($content));
        
        
$result mysql_query($sql$this->connexion);
        
$this->close();
        
        if(
$result)
        {
            return 
true;
        }
        else return 
false;
    }
    
    
// On supprime une news
    
function deleteNews($id)
    {
        if(
is_numeric($id))
        {
            
$this->connect();
            
            
$result mysql_query("DELETE FROM ".$this->db_table." WHERE id='".$id."'");
            
            
$this->close();
            
            if(
$result)
            {
                return 
true;
            }
            else return 
false;
        }
        else return 
false
    }
    
    
// On modifie une news
    
function updateNews($id$author$content)
    {
        if(
is_numeric($id))
        {
            
$this->connect();
            
            
$sql sprintf("UPDATE ".$this->db_table." SET author='%s', content='%s' WHERE id='%d'",
            
$this->clean($author), $this->clean($content), $id);
            
            
$result mysql_query($sql);
            
            
$this->close();
            
            if(
$result)
            {
                return 
true;
            }
            else return 
false;
        }
        return 
false;
    }
    
    
// Connexion à la base
    
function connect()
    {
        
$this->connexion mysql_connect($this->db_hote$this->db_utilisateur$this->db_passe
                or die(
"Impossible de se connecter au serveur");

        
mysql_select_db($this->db_nom$this->connexion
                or die(
"Impossible de sélectionner la base de données!");
        
        if(!
$this->connexion)
        {
            return 
false;
        }
        else return 
true;
    }
    
    
// Déconnexion de la base
    
function close()
    {
        
mysql_close($this->connexion);
    }
    
    
// Conversion de la date en jj/mm/aaaa
    
function convertDate($date)
    {
        
$date_array explode("-",$date); 

    return 
$date_array[2]."/".$date_array[1]."/".$date_array[0];
    }
    
    
// Protection et nettoyage des données avant insertion
    
function clean($str)
    {
        if(
get_magic_quotes_gpc())
        {
            
$str stripslashes($str);
        }

        
$str mysql_real_escape_string(utf8_decode($str));
        
        return 
$str;
    }
    
    
// Ajout de smileys
    
function addSmiley($texte)
    {
        
$texte str_replace("^^",''$texte);
        
$texte str_replace(";)",''$texte);
        
$texte str_replace(":p",''$texte);
        
$texte str_replace(":-°",''$texte);
        
$texte str_replace(":gne:",''$texte);
        
$texte str_replace("x_x",''$texte);
        
$texte str_replace(":(",''$texte);
        return 
$texte
    }
}
?>
Je me doute vaguement que ça doit être une question de version, mais j'appelle à l'aide pour qu'on m'explique !
Merci d'avance !