Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/03/2007, 15h35   #1
Invité de passage
 
Inscription : août 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 16
Points : 2
Points : 2
Par défaut Des débuts difficiles en php5

Bonjour,

je débute le php5 et jai essayé de faire une tite classe des plus bateau et il me pond une erreur dans le style :
Citation:
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /mnt/112/free.fr/3/b/moi/Connexion.php on line 11
NB : j'envoi cette page sur un site perso de FREE et qu'un petit phpinfo me dit php 5.1.x.

Voila un ptit bout de code si ca peut aider en notant qu'il gueule sur les déclarations de variables :
Code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<html> 
<head> 
<title>Exercice 1</title> 
</head> 
<body> 
<?php 
 
class Connexion{ 
 
//Variables 
private string $serverName; 
private string $userName; 
private string $password; 
private string $databaseName;
....
En vous remerciant par avance
DJesus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h52   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Tu es sûr qu'il faut préciser string ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h53   #3
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Citation:
Tu es sûr qu'il faut préciser string ?
Ca aurait été pas mal que cela puisse être le cas...
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h57   #4
Invité de passage
 
Inscription : août 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 16
Points : 2
Points : 2
j'ai meme tenté avec
Code :
1
2
3
4
   private $serverName = '';
   private $userName = '';
   private $password = '';
   private $databaseName = '';
et
Code :
1
2
3
4
   private $serverName;
   private $userName;
   private $password;
   private $databaseName;
et même sans les private !!

Le bougre ne varie pas d'un iota !!
DJesus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h59   #5
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Citation:
Le bougre ne varie pas d'un iota
Alors c'est inquiétant car tes 2 derniers exemples sont syntaxiquement bons...
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 16h17   #6
Invité de passage
 
Inscription : août 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 16
Points : 2
Points : 2
Aurais-je oublié quelquechose au niveau logiciel ou autres trucs?
DJesus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 18h22   #7
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
As tu essayé avec :
Code :
1
2
3
4
5
6
7
8
9
 
class Connexion{ 
 
//Variables 
var $serverName; 
var $userName; 
var $password; 
var $databaseName;
....
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 19h01   #8
Membre émérite
 
Avatar de FraK
 
Homme
Développeur Java
Inscription : juin 2005
Messages : 819
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2005
Messages : 819
Points : 817
Points : 817
Envoyer un message via MSN à FraK
ou pourquoi tu assignes pas des valeurs à tes variables directement ?
(surtout au vue des varibales, elles vont pas beaucoup variées j imagine ...)
FraK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 19h09   #9
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Citation:
Envoyé par N1bus
As tu essayé avec :
Code :
1
2
3
4
5
6
7
8
9
 
class Connexion{ 
 
//Variables 
var $serverName; 
var $userName; 
var $password; 
var $databaseName;
....
Je te conseille d'essayer ce qui est énoncé ci-dessus.
J'ai eu le meme probleme chez un hébergeur et j'ai du recoder toutes mes classes avec des "var" et retirer tous les public, private, protected (meme devant les functions).
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 19h17   #10
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
D'autant plus que c'est dans la doc PHP
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 20h33   #11
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 914
Points : 1 914
A tout hasard tu as essayé de renommer ton fichier en .php5 ? Je ne connais pas free, mais il y à des hebergeurs qui utilise l'extension pour déterminer quel version de php à appeler.

Citation:
Citation:
Tu es sûr qu'il faut préciser string ?

Ca aurait été pas mal que cela puisse être le cas...
vi
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 00h43   #12
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Citation:
Envoyé par kaymak
A tout hasard tu as essayé de renommer ton fichier en .php5 ? Je ne connais pas free, mais il y à des hebergeurs qui utilise l'extension pour déterminer quel version de php à appeler.
Un petit test pour savoir : le phpinfo().

Tu fais une page toute bête, disons index.php avec juste ce code :

Code :
1
2
3
4
 
<?php
phpinfo();
?>
Et tu regardes la sortie.
Puis tu la renommes en index.php5 et tu regardes la sortie.

Il y a des chances que les versions d'inetrpréteur php diffèrent...
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 09h27   #13
Invité de passage
 
Inscription : août 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 16
Points : 2
Points : 2
oué ca marche !!
maintenant il me met lerreur 10 lignes plus loin sur ma fonction __construct
(Rappel de l'erreur : Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /mnt/112/free.fr/3/b/moi/Connexion.php on line 21)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
20  /*Constructor */
21  function __construct($serverName, $userName, $password, $databaseName) {
22    $this->serverName = $serverName;
23    $this->userName = $userName;
..    $this->password = $password;
    $this->databaseName = $databaseName;
  }
 
  /*List of Getters and Setters */
  public getserverName(){
      return $this->serverName;
  }
C'est des trucs à vous faire abandonner le php séance tenante !! Mince !!

NB : le phpinfo me di 5.1 (avec un petit .htaccess en plus sur le site) et .php5 ne change rien !
DJesus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 09h35   #14
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
C'est bizarre, tu sembles pourtant être en php5...

Mais juste pour tester, renommes ton constructeur de __construct en nom_de_ta_classe.
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 09h42   #15
Invité de passage
 
Inscription : août 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 16
Points : 2
Points : 2
je viens d'ajouter des valeurs à mes variables lors de leur déclaration et on avance encore d'une ligne mais c stupide parce que je passe en paramètre des valeurs dans le constructeur !!

Code :
1
2
3
Parse error: syntax error, unexpected T_VARIABLE in /mnt/112/free.fr/3/b/moi/Connexion.php on line 22
à savoir : 
$this->serverName = $serverName;
j'écris mal ou c'est lui qui fait la sourde oreille ?
DJesus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 10h13   #16
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Pourrais-tu mettre tout le code de la classe, parce que pour l'instant ça relève plus du divinatoire...
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 10h34   #17
Invité de passage
 
Inscription : août 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 16
Points : 2
Points : 2
Allez c'est cadeau je met toute la page
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<html>
<head>
<title>Exercice 1</title>
</head>
<body>
<?php
 
class Connexion{ 
 
  //Variables 
  var $serverName='meuh'; 
  var $userName='erf'; 
  var $password='nia'; 
  var $databaseName='aaaah';
 
  /*function __tostring() {
    return "Cette classe permet de définir et manipuler une connexion.<br/>";
  } */ 
 
  /*Constructor */
  function __construct($serverName, $userName, $password, $databaseName) {
    $this->serverName = $serverName;
    $this->userName = $userName;
    $this->password = $password;
    $this->databaseName = $databaseName;
  }
 
  /*List of Getters and Setters */
  public getserverName(){
      return $this->serverName;
  }
 
  public setserverName($server) {
      $this->serverName = $server;
  }
 
  public getuserName(){
      return $this->userName;
  }
 
  public setuserName($user) {
      $this->userName = $user;
  }
 
  public getpassword(){
      return $this->password;
  }
 
  public setpassword($pass) {
      $this->password = $pass;
  }
 
  public getdatabaseName(){
      return $this->databaseName;
  }
 
  public setdatabaseName($database) {
      $this->databaseName = $database;
  }
 
  public test() {
  		echo "$this->password est le mo2pass<br>";
  }
 
  /*Destructor*/
  function __destruct() {
    fclose($this->serverName);
    fclose($this->userName);
    fclose($this->password);
    fclose($this->databaseName) ;
  } 
}
 
$conn = new Connexion('hum', 'arf', 'héhé', 'ha');
$conn->test();
?>
</body>
</html>
DJesus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 10h55   #18
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Déjà, ça risque de foirer pour les getters et setter : il manque le mot function
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 10h56   #19
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Et si tu essaies ça ?

Code :
1
2
3
4
5
6
7
 /*Constructor */
  function Connexion($serverName, $userName, $password, $databaseName) {
    $this->serverName = $serverName;
    $this->userName = $userName;
    $this->password = $password;
    $this->databaseName = $databaseName;
  }
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 11h09   #20
Invité de passage
 
Inscription : août 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 16
Points : 2
Points : 2
c'est exactement pareil qu'avec __construct, cette satanée erreur ne bouge pas !!

J'ai ajouté function a tous mes getters et setters, rien ne change mais au moins c'est conforme !!
DJesus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h50.


 
 
 
 
Partenaires

Hébergement Web