[RESOLU] Parse error: syntax error, unexpected $end

Lerikal
Invité n'ayant pas de compte PHPfrance

27 févr. 2015, 18:58

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>

Mammouth du PHP | 688 Messages

27 févr. 2015, 19:03

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

n'est pas fermé.

Lerikal
Invité n'ayant pas de compte PHPfrance

27 févr. 2015, 19:14

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

Lerikal
Invité n'ayant pas de compte PHPfrance

03 mars 2015, 20:08

S'il vous plait