Page 1 sur 1

Parse error: syntax error, unexpected $end

Posté : 27 févr. 2015, 18:58
par Lerikal
Bonjour, j'ai fais un fichier php qui me donne une erreur : << Parse error: syntax error, unexpected $end >>
je ne sais pas comment le résoudre, cela fais 1 semaine que j'essaye de le résoudre mais je ne vois pas ou est l'erreur
<head>
<body>
<?php

/** 
 * Script de controle et d'affichage du cas d'utilisation "Valider une fiche de frais"
 
 * @package default
 * @author  GSB
 */


  $repInclude = './include/';
  require($repInclude . "_init.inc.php");
 
  // page inaccessible si visiteur non connecté
  if ( ! estUserConnecte() ) { 
?>
		<script language="Javascript">
			<!--
			document.location.replace("cSeConnecter.php");
			// -->
		</script>';
<?php
  }
  
  // Supprime toutes les variables SESSION si action bouton annuler
  if (isset($_POST['effacer'])){
		
	unset($_SESSION['idValidation']);
	unset($_SESSION['moisValidation']);
	unset($_SESSION['etatFiche']);
	unset($_SESSION['nomValidation']);
	unset($_SESSION['prenomValidation']);
		
	}

  require($repInclude . "_entete.inc.html");
  require($repInclude . "_sommaire.inc.php");
  
	// page inaccessible si comptable non connecté
	if ($_SESSION["metierUtilisateur"] != 'comptable'){
?>
		<script language="Javascript">
			<!--
			document.location.replace("cAccueil.php");
			// -->
		</script>';
<?php
	
	}
	
  /* -- DEBUT RECCUPERATION DONNEES ENVOYEES PAR POST -- */


  // acquisition de l'étape du traitement 
  
  $etape=lireDonnee("etape","demanderSaisie");
  
  
  // acquisition des quantités des éléments forfaitisés 
  
  $tabQteEltsForfait=lireDonneePost("txtEltsForfait", "");
  
  
  // acquisition des données d'une nouvelle ligne hors forfait
  
  $idLigneHF = lireDonnee("idLigneHF", "");
  $dateHF = lireDonnee("txtDateHF", "");
  $libelleHF = lireDonnee("txtLibelleHF", "");
  $montantHF = lireDonnee("txtMontantHF", "");
  
  //Mise à jour du nombre de justificatifs
  
  $nbJustificatifs = lireDonnee("nbJustificatifs", "");
  
 
  // structure de décision sur les différentes étapes du cas d'utilisation
  
    if ($etape == "validerSaisie") { 
      // l'utilisateur valide les éléments forfaitisés         
      // vérification des quantités des éléments forfaitisés
	  
      $ok = verifierEntiersPositifs($tabQteEltsForfait);    
	  
      if (!$ok) {
	  
          ajouterErreur($tabErreurs, "Chaque quantité doit être renseignée et être numérique positive.");
		  
      }
	  
      else { 
		  // mise à jour des quantités des éléments forfaitisés
		  
          modifierEltsForfait($idConnexion, $_SESSION['moisValidation'], $_SESSION['idValidation'], $tabQteEltsForfait);
		  calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
?>
		  <script>
		     alert("Les valeurs des élements forfaitisés ont bien été changé. Merci");
	      </script>
<?php
      }
  } 
  
    elseif ($etape == "validerRefusLigneHF") {
  
      refuserLigneHF($idConnexion, $idLigneHF);
	  calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
	  
?>
	  
	  <script>
		alert("Votre Refus à bien été pris en compte . Merci");
	  </script>
	  
<?php
	  
  }

    elseif ($etape == "reporterLigneHF") {
  
     $req = reporterEltsHorsForfaitFicheFrais($idConnexion, $_SESSION['moisValidation'],  $_SESSION['idValidation'], $idLigneHF);
     $reporter = mysql_query($req, $idConnexion);
     echo $reporter;
?>
	  
	  <script>
		alert("La ligne hors forfait à  été reportée au mois suivant !");
	  </script>
	  
<?php
	  
  }
  
   elseif ($etape == "validerValidationLigneHF") {
  
      accepterLigneHF($idConnexion, $idLigneHF);
      calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
	  
?>
	  
	  <script>
		alert("Votre validation à bien été pris en compte. Merci");
	  </script>
	  
<?php
	  
  }
  
	elseif ($etape == "changerNbJustificatifs") {
  
      changerNbJustificatifs($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation'], $nbJustificatifs );
	  calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
	  
?>
	  <script>
		alert("Le nombre de justificatifs à bien été mis à jour. Merci");
	  </script>
<?	  
  }

  /* -- FIN RECCUPERATION DONNEES ENVOYEES PAR POST -- */
?>
  
   <div id="contenu">
		<h2>Valider une fiche de frais</h2>
		<div id="centerPrincipale">
<?php
	  
		if (!empty ($_POST['idValidation'])) {
			$_SESSION['idValidation'] = $_POST['idValidation'];
			$infoValidation = obtenirDetailUser($idConnexion, $_SESSION['idValidation']);
			$_SESSION['nomValidation'] = $infoValidation['nom'];
			$_SESSION['prenomValidation'] = $infoValidation['prenom'];
		}
		
		if (!empty ($_POST['moisValidation'])) {
			$_SESSION['moisValidation'] = $_POST['moisValidation'];
		}

		if (!empty ($_POST['etatFiche'])) {
			$_SESSION['etatFiche'] = $_POST['etatFiche'];
		}
		
		$id = array(); 
		$nom = array(); 
		$prenom = array(); 

		$visiteurs = obtenirListeVisiteurs();

		while($row=mysql_fetch_array($visiteurs)) {
		
			$id[]=$row['id'];
			$nom[]=$row['nom'];
			$prenom[]=$row['prenom'];

		}
		
		$compteTableau = count($nom);


/* ------- SI ID EST ENVOYE ------- */

		if (isset ($_SESSION['idValidation'])) {
		

/* ------- SI ID & MOIS  SONT ENVOYES ------- */

		if (isset ($_SESSION['moisValidation']) && isset ($_SESSION['idValidation']) && !isset ($_SESSION['etatFiche'])) {
		
			$tabFicheFrais = obtenirDetailFicheFrais($idConnexion, $_SESSION['moisValidation'], $_SESSION['idValidation']);
			
			if ($tabFicheFrais["idEtat"] == 'CR' || $tabFicheFrais["idEtat"] == 'VA')
			{
?>			
			<p style="font-weight:bold;font-size:19px;"><?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?> </p>
			<form method="post" action="cValidationFicheFrais.php" class="formulairesAnnulation">
				<p style="color:red;font-weight:bold;">Cliquez sur le bouton ci-dessous pour retourner à la selection du visiteur</p>
				<input type="submit" value="Annuler" name="effacer">
			</form>
			<hr />
			<h3>Fiche de frais du mois de <span style="font-weight:bold;color:#0055E3"><?php echo obtenirLibelleMois(intval(substr($_SESSION['moisValidation'],4,2))) . " "?></span> : 
				<em style="color:#0055E3"><?php echo $tabFicheFrais["libelleEtat"]; ?> </em>
				depuis le <em><?php echo date('d/m/Y', strtotime($tabFicheFrais["dateModif"])); ?></em></h3>
				<div class="encadre">
					<h3>Changer l'état de la fiche : </h3>  

						<form action="cValidationFicheFrais.php" method="post">
						  <select id="etatFiche" name="etatFiche">   
							 <option value="CR" selected="selected" id="chgmEtCree">CREER(EN COURS)</option>
							 <option value="VA"  id="chgmEtValid">VALIDER</option>
						  </select>
						  <button id="start">executer</button>
						</form>

					
					<p>Montant validé : <?php echo $tabFicheFrais["montantValide"] ;?></p>
				 

					<form action="cValidationFicheFrais.php" method="post">
						<div class="corpsForm">
						<input type="hidden" name="etape" value="validerSaisie" />
							<fieldset>
								<legend>Eléments forfaitisés</legend>
								
						
<?php
							// demande de la requête pour obtenir la liste des éléments 
							// forfaitisés du visiteur connecté pour le mois demandé
							
							$req = obtenirReqEltsForfaitFicheFrais($_SESSION['moisValidation'],  $_SESSION['idValidation']);
							$idJeuEltsFraisForfait = mysql_query($req, $idConnexion);
							echo mysql_error($idConnexion);
							$lgEltForfait = mysql_fetch_assoc($idJeuEltsFraisForfait);
							while ( is_array($lgEltForfait) ) {
							
								$idFraisForfait = $lgEltForfait["idFraisForfait"];
								$libelle = $lgEltForfait["libelle"];
								$quantite = $lgEltForfait["quantite"];
?>
									<p>
										<label for="<?php echo $idFraisForfait ?>">* <?php echo $libelle; ?> : </label>
										<input type="text" id="<?php echo $idFraisForfait ?>" 
										name="txtEltsForfait[<?php echo $idFraisForfait ?>]" 
										size="10" maxlength="5"
										title="Entrez la quantité de l'élément forfaitisé" 
										value="<?php echo $quantite; ?>" />
									</p>
<?php						                
							$lgEltForfait = mysql_fetch_assoc($idJeuEltsFraisForfait);
							}
							mysql_free_result($idJeuEltsFraisForfait);
?>							
						
						         </fieldset>
						</div>
						<div class="piedForm">
							<p>
								<input id="ok" type="submit" value="Valider" size="20" 
										title="Enregistrer les nouvelles valeurs des éléments forfaitisés" />
								<input id="annuler" type="reset" value="Effacer" size="20" />
							</p> 
						</div>
					</form>
					<table class="listeLegere">
					   <caption>Descriptif des éléments hors forfait :</caption> 
							 <tr>
								<th class="date">Date</th>
								<th class="libelle">Libellé</th>
								<th class="montant">Montant</th>                
							 </tr>
<?php          
							// demande de la requête pour obtenir la liste des éléments hors
							// forfait du visiteur connecté pour le mois demandé
							
							$req = obtenirReqEltsHorsForfaitFicheFrais($_SESSION['moisValidation'], $_SESSION['idValidation']);
							$idJeuEltsHorsForfait = mysql_query($req, $idConnexion);
							$lgEltHorsForfait = mysql_fetch_assoc($idJeuEltsHorsForfait);
							
							// parcours des éléments hors forfait 
							
							while ( is_array($lgEltHorsForfait) ) {
?>
								<tr>
									<td><?php echo date('d/m/Y', strtotime($lgEltHorsForfait["date"])) ; ?></td>
									<td><?php echo filtrerChainePourNavig($lgEltHorsForfait["libelle"]) ; ?></td>
									<td><?php echo $lgEltHorsForfait["montant"] ; ?></td>
									<td>	
										<?php 
											$verif = preg_match("/REFUSE/i", $lgEltHorsForfait["libelle"]);
											if (!$verif){
?>
										<form action="cValidationFicheFrais.php" method="POST">
											<input type='hidden' value='validerRefusLigneHF' name='etape' />
											<input type='hidden' value='<?php echo $lgEltHorsForfait["id"]; ?>' name ='idLigneHF' />
											<input type ="submit" value="REFUSER" name="refus" style="background-color:red;color:white;" />
										</form>
<?php 
										
										} 
										
										else { 
?>										
											
										<form action="cValidationFicheFrais.php" method="POST">
											<input type='hidden' value='validerValidationLigneHF' name='etape' />
											<input type='hidden' value='<?php echo $lgEltHorsForfait["id"]; ?>' name ='idLigneHF' />
											<input type ="submit" value="ACCEPTER" name="acceptation" style="background-color:green;color:white;" />
										</form>
										
<?php										}
										
?>
									</td>
									<td>
										<form action="cValidationFicheFrais.php" method="POST">
											<input type='hidden' value='reporterLigneHF' name='etape' />
											<input type='hidden' value='<?php echo $lgEltHorsForfait["id"]; ?>' name ='idLigneHF' />
											<input type ="submit" value="REPORTER" name="reporter" style="background-color:orange;color:white;" />
										</form>
									</td>
								</tr>
<?php
								$lgEltHorsForfait = mysql_fetch_assoc($idJeuEltsHorsForfait);
							}
							mysql_free_result($idJeuEltsHorsForfait);
?>
					</table>
					
				</div>
				
				<form action="" method="POST">
					<label for="nbJustificatifs" ><strong>Nombre de justificatifs envoyés </strong>(Changez la valeur et validez pour mettre à jour)</label>
						<input type="number" value='<?php echo $tabFicheFrais["nbJustificatifs"];?>'   name="nbJustificatifs"/>
						<input type="hidden" name="etape" value="changerNbJustificatifs" />
						<input type="submit" value='Valider'   name="changerNbJustificatifs"/>
				</form>
	</div>
<?php 
		}
		
		else 
		{
			$moisValidation = $_SESSION['moisValidation'];
			$nomMoisValidation = intval(substr($moisValidation, 4, 2));
			$anneeValidation = intval(substr($moisValidation, 0, 4));
?>

<p>La fiche de frais de <strong>" <?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?>  Pour le mois de <?php echo obtenirLibelleMois($nomMoisValidation);?> (<?php echo $anneeValidation;?>) à déjà été validée . Son statut actuel est : " <span style="color:red;font-weight:bold;"><?php echo $tabFicheFrais["libelleEtat"]; ?></span> " </strong> </p>
				<a href="cSuivrePaiementFicheFrais.php" style="color:red;font-weight:bold;Font-size:17px">Cliquez ici pour pouvoir suivre l'etat de la fiche ou le modifier</a>
				
				<hr style='margin-top:35px;margin-bottom:35px;'>
				
				<form method="post" action="cValidationFicheFrais.php" class="formulairesAnnulation">
				<p style="color:red;font-weight:bold;">Cliquez sur le bouton ci-dessous pour retourner à la selection du visiteur</p>
				<input type="submit" value="Annuler" name="effacer">
			</form>


<?php		
		}
		
		die();

		}
		
		
/* ------- SI ID & MOIS & ETAT  SONT ENVOYES ------- */                     // MAJ ETAT DE FICHE ICI!!


		elseif (isset ($_SESSION['idValidation']) && isset ($_SESSION['moisValidation']) && isset ($_SESSION['etatFiche']) && ( ($_SESSION['etatFiche'] == "CR") || ($_SESSION['etatFiche'] == "VA") ) ){

			modifierEtatFicheFrais($idConnexion, $_SESSION['moisValidation'], $_SESSION['idValidation'], $_SESSION['etatFiche']);
			
									$moisValidation = $_SESSION['moisValidation'];
									$nomMoisValidation = intval(substr($moisValidation, 4, 2));
									$anneeValidation = intval(substr($moisValidation, 0, 4));
			calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
?>			
			<p>L'état à été définit sur  <strong>" <?php echo convertionEtatFicheFrais($_SESSION['etatFiche']); ?> " </strong> pour le mois de <?php echo obtenirLibelleMois($nomMoisValidation);?> (<?php echo $anneeValidation;?>) de <?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?> , Merci.</p>
				<a href="cAccueil.php" style="color:red;font-weight:bold">Cliquez ici pour retourner à l'acceuil maintenant !</a>
<?php			
			unset($_SESSION['idValidation']);
			unset($_SESSION['moisValidation']);
			unset($_SESSION['etatFiche']);
			
			die();

		}
		
		
			$req = obtenirReqMoisFicheFrais($_SESSION['idValidation']);
			$idJeuMois = mysql_query($req, $idConnexion);
			$lgMois = mysql_fetch_assoc($idJeuMois);
				
			if (!empty($lgMois)){
?>
					<p style="font-weight:bold;font-size:19px;"><?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?> </p>
					<form method="post" action="cValidationFicheFrais.php">
						<p style="color:red;font-weight:bold;">Cliquez sur le bouton ci-dessous pour retourner à la selection du visiteur</p>
						<input type="submit" value="Annuler" name="effacer">
					</form>
					<hr />
					<h3>Choisissez maintenant le mois pour </h3>
					<form action="cValidationFicheFrais.php" method="post">
					
						<input type="hidden" name="etape" value="validerConsult" />
						<select id="mois" name="moisValidation">
<?php
								// on propose tous les mois pour lesquels le visiteur a une fiche de frais
								
								while ( is_array($lgMois) ) {
									$mois = $lgMois["mois"];
									$noMois = intval(substr($mois, 4, 2));
									$annee = intval(substr($mois, 0, 4));
									
?>    
							<option value="<?php echo $mois; ?>"><?php echo obtenirLibelleMois($noMois) . " " . $annee; ?></option>
<?php
									$lgMois = mysql_fetch_assoc($idJeuMois);        
								}
								mysql_free_result($idJeuMois);
?>
						</select>
						<button id="start">Lancer</button>
						
					</form>
	</div>
<?php 
			}
			
			else{
				  // affectation du mois courant pour la saisie des fiches de frais
			
				$mois = sprintf("%04d%02d", date("Y"), date("m"));
				
			     // vérification de l'existence de la fiche de frais pour ce mois courant
				 
			    $existeFicheFrais = existeFicheFrais($idConnexion, $mois, $_SESSION['idValidation']);
				
			    // si elle n'existe pas, on la crée avec les élets frais forfaitisés à 0
			  
			    if ( !$existeFicheFrais ) {
				  ajouterFicheFrais($idConnexion, $mois, $_SESSION['idValidation']);
			    }
			
?>			

				<script>
				
					alert('Aucune fiche de frais pour cette personne trouvée , celle du mois en cours viens d\'être créee ... Redirection...');
					document.location.href = 'cValidationFicheFrais.php';
					</script>
					<noscript><a href="cValidationFicheFrais.php">Retour Fiche de Frais</a></noscript>
				
		
<?			}
		
		
		}

/* ------- SI ID VISTEUR N'A PAS ETE SAISI ------- */
		
		else {
		
		
			if (!isset ($_SESSION['idValidation'])) {?>
			  
				<h3>Choisissez le visiteur concerné:</h3>
				<form action="cValidationFicheFrais.php" method="post">
					<input type="hidden" name="nom" value="validerConsult" />
					<select id="list" name="idValidation">
<?php

						for ($i = 0; $i <= $compteTableau -1 ; $i++) { 
?>
						
							<option id="<?php echo $i ; ?>" value="<?php echo $id[$i];?>" ><?php echo $nom[$i]. " - " .$prenom[$i];?></option>
							
						
<?php 				} 
?>


					</select>
					<button id="start">Lancer</button>
				</form>
<?php 	} 
		
?>
<?php
		}	
		
?>

</head>
</body>

Re: Parse error: syntax error, unexpected $end

Posté : 27 févr. 2015, 19:03
par tof73
if (isset ($_SESSION['idValidation'])) {

n'est pas fermé.

Re: Parse error: syntax error, unexpected $end

Posté : 27 févr. 2015, 19:14
par Lerikal
if (isset ($_SESSION['idValidation'])) {

n'est pas fermé.
Où le fermer s'il vous plaît, je suis vraiment perdu, pouvez vous le rajouter sur le code s'il vous plaît

Re: Parse error: syntax error, unexpected $end

Posté : 03 mars 2015, 20:08
par Lerikal
S'il vous plait