J’ai récupéré un agenda en php et parfois j’ai des erreurs et parfois non. Alors je comprends pas ce qu’il se passe (j’y connais rien en PHP :ane:)
Je vous mets les erreurs et les lignes incriminées:
Unexpected $ *****.php l22
$DB->DbQuery("SELECT DISTINCT util_id, CONCAT(util_nom,' ',util_prenom) AS nomUtil FROM ${PREFIX_TABLE}utilisateur LEFT JOIN ${PREFIX_TABLE}partage_planning ON ppl_util_id=util_id WHERE util_id=".$idUser." OR util_autorise_affect='1' OR (util_autorise_affect='2' AND (util_partage_planning='1' OR (util_partage_planning='2' AND ppl_consultant_id=".$idUser."))) ORDER BY nomUtil");
Unexpected $ ********.php l 22
$DB_CX->DbQuery("SELECT DISTINCT util_id, CONCAT(util_prenom,' ',util_nom) AS nomUtil FROM ${PREFIX_TABLE}utilisateur LEFT JOIN ${PREFIX_TABLE}partage_planning ON ppl_util_id=util_id WHERE util_id=".$idUser." OR (util_partage_planning='1') OR (util_partage_planning='2' AND ppl_consultant_id=".$idUser.") ORDER BY nomUtil");
$PREFIX_TABLE="ia_";
Voilà, ce que je comprends pas moi, c’est que les erreurs ne se produisent pas à chaque fois.
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE in agenda.php on line 13
13: $idUser = Session_ok($sid);
function Session_ok($idSession) {
global $DB_CX, $PREFIX_TABLE, $APPLI_STYLE, $DUREE_SESSION, $TELEPHONE_VF, $zlVu, $USER_SUBSTITUE;
// On supprime les sessions de plus de 1 heure
$DB_CX->DbQuery("DELETE FROM ${PREFIX_TABLE}sid WHERE sid_last_maj < '".date("Y-m-d H:i:s", (time() - $DUREE_SESSION))."'");
// On recherche les sessions encore valides
$DB_CX->DbQuery("SELECT util_id, util_interface, util_telephone_vf, util_planning, sid_util_subst_id FROM ${PREFIX_TABLE}sid, ${PREFIX_TABLE}utilisateur WHERE sid_id='".$idSession."' AND sid_util_id = util_id AND sid_session_id='".@session_id()."'");
if ($DB_CX->DbNumRows()) {
// Recuperation de l'uid et du style
$idUser = $DB_CX->DbResult(0,0);
$APPLI_STYLE += $DB_CX->DbResult(0,1);
$TELEPHONE_VF = ($DB_CX->DbResult(0,2)=="O") ? true : false;
$zlVu = ($zlVu=="") ? $DB_CX->DbResult(0,3) : $zlVu;
$USER_SUBSTITUE = $DB_CX->DbResult(0,4);
// Vérification de la substitution
$DB_CX->DbQuery("SELECT util_id FROM ${PREFIX_TABLE}utilisateur LEFT JOIN ${PREFIX_TABLE}partage_planning ON ppl_util_id=util_id WHERE (util_id=".$USER_SUBSTITUE." AND util_partage_planning='1') OR (util_id=".$USER_SUBSTITUE." AND util_partage_planning='2' AND ppl_consultant_id=".$idUser.")");
if (!$DB_CX->DbNumRows()) {
$USER_SUBSTITUE = $idUser;
$majSubst = ", sid_util_subst_id=".$idUser;
}
// Bail ok, on le renouvelle
$DB_CX->DbQuery("UPDATE ${PREFIX_TABLE}sid SET sid_last_maj=now()".$majSubst." WHERE sid_id='".$idSession."'");
}
else {
Header("location: deconnexion.php?msg=5");
exit;
}
return ($idUser);
}
Non non ya pas d’étoiles, c’est moi qui les ai mise pour pas avoir des noms à rallonge.
Sinon, pour les lignes c’est celles que j’ai donné. Ca représente la ligne en question à chaque fois (même si c’est sur plusieurs lignes dans le post :ane: )
Comment expliquer le fait que ces erreurs ne se produisent pas à chaque fois ???
C’est possible que parfois Apache se mélange les pinceaux et ne génère pas le bon code?
Ben pour être honnête le code est très sale donc je lis pas. Mais en général, l’erreur que tu as eu , c’est juste une parse erreur : ton code est malformé. Faut voir ce que tu fais (eval(), require, include, *_once) en plus de ce que fait l’agenda.
Il n’est peut être pas prévu pour ta version de php, etc. (je sais que certains de mes scripts php3 ne tournent plus en php4/5).
C’est une très bonne question.
J’ai 2 machines avec la meme version d’EasyPhp.
Sur l’une aucun pb, sur l’autre les pbs mentionnés ci dessus.
A noter que le serveur sur lequel se trouvent les pbs a été victime d’une brutale coupure de courant et il semble que les pbs ont lieu depuis.
J’ai pourtant réinstallé proprement EasyPhp et remis les *.php originaux