Et ce qui est très bizarre c'est que quand je met le path require_once('../Ressources/Modele/class/Tache.php'); la console affiche une erreur mais la page est ok! Alors que quand je change le chemin par ../../Ressources/Modele/class/Tache.php, la j'obtiens l'erreur affichée (orange et rouge) sans page:
Warning: Uncaught exception 'Exception' with message 'Erreur PHP n°2 : require_once(../../../Ressources/Modele/class/Tache.php): failed to open stream: No such file or directory dans C:\wamp\www\Pointage\SaisiePointage\vue\ressources\saisieOtp.php ligne 4' in C:\wamp\www\Pointage\SaisiePointage\index.php:21 Stack trace: #0 C:\wamp\www\Pointage\SaisiePointage\vue\ressources\saisieOtp.php(4): errorHandler(2, 'require_once(.....', 'C:\\wamp\\www\\Poi...', 4, Array) #1 C:\wamp\www\Pointage\SaisiePointage\vue\ressources\saisieOtp.php(4): require_once() #2 C:\wamp\www\Pointage\SaisiePointage\vue\tachesConduite.php(9): require_once('C:\\wamp\\www\\Poi...') #3 C:\wamp\www\Pointage\SaisiePointage\index.php(368): include_once('C:\\wamp\\www\\Poi...') #4 {main} thrown in C:\wamp\www\Pointage\SaisiePointage\index.php on line 21
En fait cela marche pareil sur mac et pc, simplement le pc affiche plus d'erreur

! Je viens de retenter autoload, include etc sur le pc, aucun résultat ... Toujours cette erreur d'ouverture. Je me demande si cela ne vient pas d'une autorisation, car l'erreur indique failed opening, or quand le chemin est mauvais la page ne s'affiche pas et quand il fail (avec le message d'erreur que je t'ai envoyé en premier), la page s'affiche.
Pour info quand je n'inclus rien, la variable $_SESSION['matriceTacheConduite'] contient:
<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b> <i>(size=1)</i>
7 <font color='#888a85'>=></font>
<b>array</b> <i>(size=1)</i>
9 <font color='#888a85'>=></font>
<b>object</b>(<i>__PHP_Incomplete_Class</i>)[<i>56</i>]
<i>public</i> '__PHP_Incomplete_Class_Name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Tache'</font> <i>(length=5)</i>
<i>private</i> 'id' <small>(Tache)</small> <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'9'</font> <i>(length=1)</i>
<i>private</i> 'nom' <small>(Tache)</small> <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Découverte'</font> <i>(length=11)</i>
</pre>
Et pour finir tu voulais le contenu de ce qui est inclus, par exemple pour tache.php (la class tache) :
<?php
/*
** Cette classe représente une tache. Se reporter au schéma de la base pour plus de détails.
*/
class Tache{
/* -------------------- ATTRIBUTS -------------------- */
private $id;
private $nom;
/* -------------------- CONSTRUCTEUR -------------------- */
/* Construit l'objet à partir des données présentes dans la base
** ENTREES: - id : identifiant de la tache à construire
** - type : type de tache à récuperer. Peut prendre les valeurs 'conduite' ou 'entretien'.
** CONTRAT: id est un identifiant valide et présent dans la base (et dans la bonne table, à savoir tachesconduite ou tachesentretien).
** EXCEPTION : Lève une exception en cas d'erreur
*/
public function __construct($id, $type){
global $DATABASE;
if ( $type == 'conduite' ) {
$table = 'tachesconduite';
} elseif ( $type == 'entretien' ) {
$table = 'tachesentretieninstallation';
}
$requete = $DATABASE->prepare("SELECT * FROM " . $table . " WHERE id = ? ");
$requete->execute(array($id));
$resultat = $requete->fetch();
$requete->closeCursor();
if($resultat == false) {
throw new Exception( 'DATABASE ERROR');
}
$this->id = $id;
$this->nom = $resultat['nom'];
}
/* -------------------- ACCESSEURS -------------------- */
public function getId(){
return $this->id;
}
public function getNom(){
return $this->nom;
}
/* -------------------- MUTATEURS -------------------- */
public function setNom($nom){
$this->nom = $nom;
}
/* -------------------- METHODES -------------------- */
}
?>
Desolé des pavés :p Mais je prefere que ce soit bien précis
