Page 1 sur 2

acceptation syntaxe par free

Posté : 08 juil. 2008, 20:49
par zoom
Bonjour ,
Je voudrais avoir un peu de l'aide. Car j ai developpé en local un site web et j ai utilisé pour les formulaire une class avec les mot private public ect . En local ça marche mais quand je l ai mis dans free il n accepte plus ces mots reservés alors je voudrais savoir est ce que c est free qui n accepte pas ou bien c est moi qui n ai pas le necessaire
Merci

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 08 juil. 2008, 21:37
par Sékiltoyai
Renomme tes fichiers en .php5 ou mets dans un .htaccess "php 1"

Posté : 09 juil. 2008, 00:13
par Hywan
Hey :),

Je ne sais si « php 1 » équivaut à ceci :

Code : Tout sélectionner

AddHandler x-httpd-php5 .php
Mais le comportement sera que les .php seront exécutés comme du PHP 5. En-tête à placer dans un .htaccess évidemment.

Posté : 09 juil. 2008, 00:48
par Sékiltoyai
free c'est spécial hein :)

Posté : 09 juil. 2008, 18:44
par zoom
Merci de m avoir repondu
Seulement voici la class et l erreur que je reçois
<?php

class BDD
{
	private $host;
	private $user;
	private $pass;
	private $base;
	private $link;
	
	
	
	
 function __construct($parametres)
{
	$this->host = $parametres['host'];
	$this->user = $parametres['user'];
	$this->pass = $parametres['pass'];
	$this->base = $parametres['base'];
	//connexion au SGBD :
	$this->link = mysql_connect($this->host, $this->user, $this->pass)or die("Connection à ".$this->host." impossible\n".mysql_error());
	//onnection à la base de donnée
	mysql_select_db($this->base, $this->link)or die("Accès à la base ".$this->base." impossible\n".mysql_error());
}
 
 /**
    * Prendre la valeur de link
    */

	
public function getLink()
{
	return $this->link;	
}
 
/**
    * Effectue une requête.
    * 
    * @param String $requete Requete SQL
    */ 
	
public function query($req)
{
	$r = mysql_query($req, $this->link) or die("erreur requete".mysql_error());
	return $r;	
}

/**
    * Sélectionne des enregistrements.
    * 
    * @param String $champs champs à retourner (SELECT, peut être '*')
    * @param String $tables table(s) à lire (FROM)
    * @param String $conditions critères de filtrage (WHERE)
    * @param String $order ordre de tri (par défaut par ordre croissant)
    * @param int $limit limite du nombre de résultats renvoyés, par défaut aucune limite
    * @return Array tableau contenant les enregistrements sélectionnés (1 enregistrement = 1 ligne)
    */ 

public function select($parametres)
{
    $requete = 'SELECT '.$parametres['champs'].' FROM '.$parametres['tables'];
	if(!empty($parametres['conditions']))
       $requete.= ' WHERE '.$parametres['conditions'];
    if(!empty($parametres['order']))
       $requete.= ' ORDER BY '.$parametres['order'];
    if(!empty($parametres['limit']) && $parametres['limit']>0)
       $requete.= ' LIMIT '.$parametres['limit'];
    $q = $this->query($requete);
    return $q;
   }

 
/**
    * Insert des données dans la base.
    * 
    * @param String $table table où insérer les données (TABLE)
    * @param Array $data tableau contenant les données (1 ligne = 1 champ)
    */   
public function insert($table, $data)
{
    foreach($data as $k => $v)
	{
      $keys[] = $k;
      $vals[] = $this->quote_smart($v);
    }
    $this->query('INSERT INTO '.$table.' ('.implode(',',$keys).') VALUES ('.implode(',',$vals).')');
    return mysql_insert_id($this->link);
}

 /* 
 
    * @param String $value la variable à protéger
    * @return String la variable protégée
    */  
public	function quote_smart($value)
{
	if(get_magic_quotes_gpc())
		$value = stripslashes($value);
	if(!is_numeric($value))
		$value = "'".mysql_real_escape_string($value)."'";
	return $value;
}

 /**
    * Modifie des données dans la base.
    * 
    * @param String $table table où modifier les données
    * @param Array $data tableau contenant les données (1 ligne = 1 champ)
    * @param String $conditions conditions permettant la sélection des enregistrements à modifier
    */   
public function update($table, $data, $conditions)
{
	foreach($data as $k => $v)
         $modifications[] = $k.'='.$this->quote_smart($v);
    $this->query('UPDATE '.$table.' SET '.implode(',',$modifications).' WHERE '.$conditions);
}

/**
    * Supprime des données dans la base.
    * 
    * @param String $table table où on supprime les données
    * @param String $conditions conditions permettant la sélection des enregistrements à modifier
    */   
public function delete($table,$conditions)
{	
    $this->query('DELETE FROM '.$table.' WHERE '.$conditions);
}

}

?>
Voici l erreur
la ligne 5 correspond avec le debut de la declation private
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /mnt/103/free.fr/6/7/fatoutoure/includes/classes/sql.php on line 5

Posté : 09 juil. 2008, 21:08
par Sékiltoyai
As tu seulement fait ce que j'ai dit ?

Posté : 09 juil. 2008, 22:54
par Hywan
Pareil ;-).

Et merci d'utiliser les balises

Code : Tout sélectionner

et [php] pour mettre en forme ton code :). Ce sera nettement plus plaisant pour tout le monde.

Posté : 09 juil. 2008, 23:24
par zeus
Modération :
zoom, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Hywan, encore une fois, merci de t'abstenir de ce genre de message. Tu as un bouton pour signaler.

Posté : 10 juil. 2008, 12:32
par zoom
Slt Sekiltayai
J ai renommé les fichier en mettant .php5 mais toujours pareil il me donne la meme erreur

Code : Tout sélectionner

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /mnt/103/free.fr/6/7/fatoutoure/includes/classes/sql.php on line 5

Posté : 10 juil. 2008, 12:37
par Calimero
J ai renommé les fichier en mettant .php5 mais toujours pareil
Apparemment tu as oublié de renommer au moins un fichier... Tu peux deviner lequel ? :D

Posté : 10 juil. 2008, 12:39
par Hywan
Est-ce que tu as créé un fichier qui se prénomme « .htaccess » et qui comporte :
  1. soit « php 1 » ;
  2. soit « AddHandler x-httpd-php5 .php » ;
  3. soit les deux.
Ce fichier doit être placé à la racine de ton site.

Pour ces 3 solutions, tu peux laisser tes fichiers avec l'extension .php tout simplement.

Posté : 10 juil. 2008, 19:28
par zoom
Salut HyWaN,
Enfait je ne sais pas comment creer ce fichier .htaccess et quoi je dois mettre dedans
Si vous pouvez m'aider svp car je suis bloque
Merci :)

Posté : 11 juil. 2008, 00:19
par Hywan
Bah … tu ouvres le bloc-note par exemple (ou n'importe quel autre éditeur de texte hein), tu écris : « php 1 » ou « AddHandler trucmuche » dedans, et tu enregistres sous le nom .htaccess. Pour être sûr qu'il n'ajoute pas l'extension, tu peux mettre des guillemets autour : ".htaccess" [Sauver], paf. Attention, c'est un fichier caché.
Après, tu le mets sur ton server FTP à la racine de ton site. C'est tout.

Posté : 11 juil. 2008, 00:37
par Sékiltoyai
Le AddHandler ne marchera pas. HyWaN quand je te dis que free n'est pas normal, c'est que free n'est vraiment pas normal…

Posté : 11 juil. 2008, 11:12
par momox