gestion absences/presences en php

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

31 mai 2011, 22:33

Le découpage de l'attestation en 2 div et l'appel de l'impression doit être Comme ça :
Programme : afficher_attestation.php
<div id="attest_page1">
        <h1><u>Attestation</u></h1>
        <br/><br/><br/>
       
        Période : <?php echo isset($nomMois)?$nomMois:''; ?> (<?php echo isset($annee)?$annee:''; ?>)
        <br/>
        <br/>
        Relevé de présence : <br/><br/>
       
        Je soussigné M......., en qualité de directeur de ......... , Institut Supérieur <br/>
        de Commerce et Gestion,.................. - ..............  .............., certifie que  :
        <br/>
        <br/>
                <?php echo isset($civiliteEtudiant)?$civiliteEtudiant:''; ?> <?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?> inscrit en <?php echo isset($idClasse)?$idClasse:''; ?>
        &nbsp;(<?php echo isset($promotion)?$promotion:''; ?>)
                <br/>
        <br/>
        A été présent(e) <?php echo isset($nombreheurepresencemois)?$nombreheurepresencemois:'0'; ?> heures

        <br/>
        <br/>
        Relevé d'Absence :
        <br/>
        Total des absences : <?php echo isset($nombreheureabsencemois)?$nombreheureabsencemois:'0'; ?> heures    
        <div id="message1"><?php echo isset($message1)?$message1:''; ?></div>

        <br/><br/>
        <br/><br/>
        <br/><br/>
        <table border="0" width="100%">
        <tr><th>Le Salarié</th><th>Le Directeur de l'établissement</th></tr>
        <tr><th><?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?></th><th>........</th></tr>
        </table>
</div>
<div id="attest_page2">2° page
....
....
....
....
</div>
<input type="button" value="Imprimer" onClick="imprime_zone('attest_page1'); imprime_zone('attest_page2');" />
Je rappelle que la fonction JavaScript est la suivante : (IMPORTANT: une modification à faire au niveau du window.open : le deuxième paramètre reste vide aussi pour ne pas donner le même nom à plusieurs fenêtres d'impression activées en parallèle)
        <script language="JavaScript">
           function imprime_zone(obj){
                        // Ouvre une nouvelle fenêtre
                        var f = window.open("", "", "height=50, width=400,toolbar=0, menubar=0, scrollbars=0, resizable=0,status=0, location=0, left=0, top=0");

                        // Définit le Style de la page
                        f.document.body.style.color = '#000000';
                        f.document.body.style.backgroundColor = '#FFFFFF';
                        f.document.body.style.padding = "10px";

                        // Affiche le contenu HTML de obj dans le body de la nouvelle fenêtre
                        f.document.title = "Impression: " + document.getElementById(obj).id;
                        f.document.body.innerHTML  = document.getElementById(obj).innerHTML;

                        // Imprime et ferme la fenêtre
                        f.window.print();
                        f.window.close();
                        return true;
                 }
           </script> 
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

31 mai 2011, 23:10

Merci c'est parfait, et pour ce qui est de mon logo dans l'attestation tu sais comment limprimer?
Sinon j'ai un autre petit problème c'est au niveau de l'affichage avec le css, j'ai beau changer le "float" en center de ma div mon texte principale se met en dessou de mon menu :

div.main{
	float:left;
	padding-left:15px;

}
div.main2{
	padding-left:15px;
	margin-left:20px;
	margin-top:10px;
}
div.logo{
	height:150px;
	float:center;
}
"div.logo" c'est pour ma banniere qui se trouve en haute du site, "div.main" c'est pour mon menu et "div.main2" c'est le contenu de ma page html.
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

01 juin 2011, 12:24

Pour les styles, tu dois revoir les dispositions des DIV. Evite de mettre trop d'imbrications de DIV qui servent à rien. Evite aussi de répéter l'entête HTML dans plusieurs pages de tes programmes, mets une seule entête HTML (<html>, <head>, styles, script, <body>) dans le fichier "menu.php" sans faire de </body> et </html> dedans et sans répéter ces éléments dans les autres fichiers des programmes et formulaires puisque tu fais toujours dedans un include("menu.php").

Dans un premier temps j'ai modifié légèrement les styles pour que la bannière soit en haut centrée, le menu à gauche et le contenu à droite.
div.logo{
        float:center;
        width:100%;
	height:150px;
}
div.main{
        float:left;
        padding-left:15px;
	height:100%;
}
div.main2{
	float:right;
        padding-left:15px;
        margin-left:20px;
        margin-top:10px;
}
Et Voici le format modifié du fichier menu.php:
<?php
// on se connecte à notre base  
mysql_select_db("bd_etudiants", @mysql_connect("localhost","root","")) or die(mysql_error());
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ajout d'élève dans la base</title>
<link rel="stylesheet" type="text/css" href="calendrier.css">
<script type="text/javascript" src="calendrier.js"></script>
  <link href="/index.php?format=feed&type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
  <link href="/index.php?format=feed&type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
  <script type="text/javascript" src="/media/system/js/mootools.js"></script>
  <script type="text/javascript" src="/media/system/js/caption.js"></script>
	<link rel="stylesheet" type="text/css" href="css/content.css">
	<link rel="stylesheet" type="text/css" href="css/current.css">
	<link rel="stylesheet" type="text/css" href="css/form.css">
	<link rel="stylesheet" type="text/css" href="css/html_code.css">
	<link rel="stylesheet" type="text/css" href="css/menu.css">
	<link rel="stylesheet" type="text/css" href="css/message.css">
	<link rel="stylesheet" type="text/css" href="css/module.css">
	<link rel="stylesheet" type="text/css" href="css/page_nav.css">
	<link rel="stylesheet" type="text/css" href="css/print.css">
	<link rel="stylesheet" type="text/css" href="css/template.css">
	<script language="JavaScript">
                        function imprime_zone(obj)

                        {
                        // Ouvre une nouvelle fenêtre
                        var f = window.open("Impression.htm", "Impression", "height=50, width=400,toolbar=0, menubar=0, scrollbars=0, resizable=0,status=0, location=0, left=0, top=0");

                        // Définit le Style de la page
                        f.document.body.style.color = '#000000';
                        f.document.body.style.backgroundColor = '#FFFFFF';
                        f.document.body.style.padding = "10px";

                        // Affiche le contenu HTML de obj dans le body de la nouvelle fenêtre
f.document.title = "Impression: " + document.getElementById(obj).id;
                        f.document.body.innerHTML  = document.getElementById(obj).innerHTML;

                        // Imprime et ferme la fenêtre
                        f.window.print();
                        f.window.close();
                        return true;
                        }
                        </script>
</head>
<body>
	
<div class="logo"><img src="images/banniere.jpg" width="1133" height="138" alt="banniere" /></div>
<div class="main">

<div class="leftmod">
<div class="leftmod2">

<div class="module_menu">
<h3>Menu Principal</h3>
<ul class="menu">
  <li id="current" class="active item1"><a href="index.php"><span>Accueil</span></a></li>
  <li class="parent item27"><a href="formAssiduite.php"><span> Gestion d'assiduité</span></a></li>
  <li class="item2"><a href="consultation_d_assiduite.php"><span>Consultation d'assiduite</span></a></li>
  <li class="item37"><a href="attestation.php"><span>Attestation</span></a></li>
  <li class="item37"><a href="gestion_etudiants.php"><span>Gestion des étudiants</span></a></li>
  <li class="item37"><a href="gestion_profs.php"><span>Gestion des profs</span></a></li>
  <li class="item37"><a href="gestion_matiere.php"><span>Gestion des matieres</span></a></li>
  <li class="item37"><a href="gestion_entreprise.php"><span>Gestion des entreprises</span></a></li>
</ul>
</div>

<div class="module_menu">
<h3>Ressources</h3>
<ul class="menu">
  <li class="item11"><a href="modeles.php"><span>Modèles</span></a></li>
  <li class="item12"><a href=""><span></span></a></li>
  <li class="item13"><a href=""><span></span></a></li>
  <li class="item17"><a href=""><span></span></a></li>
</ul>
</div>

</div>
</div>

</div>
Comme tu vois, le div porteur du logo reste indépendant des autres et non imbriqué et de même pour le div du menu.
Le div du contenu viendra plu-tard dans les fichiers formulaires et affichage d'attestation. Comme par exemple dans le formulaire "attestation.php":
<?php
include ("menu.php");
include ("fonctions_attestation.php");
?>

<div class="main2">
<h1>Consultation d'assiduité des élèves</h1>

<div id='feuille_absence'>
<form name="form1">
<table>
<tr>
<th>Année :&nbsp;&nbsp; 
<select name="annee" onChange="form1.submit();">
<option value="" ></option>
<?php echo $listeAnnees; ?>
</select>
</th>
<th>Mois :&nbsp;&nbsp; 
        <select name="mois" onChange="form1.submit();" >
        <option value="" ></option>
        <?php echo $listeMois; ?>
        </select>
</th>
</tr>
<tr>
<th>
Etudiant :&nbsp;&nbsp;      
        <select name="idEtudiant" >
        <option value="" >
        </option>
        <?php echo isset($listeDesEtudiants)?$listeDesEtudiants:null; ?>
        </select>
</th>
<th>
        <br/>
        <input type="submit" name="action_attestation" value="Total absences">
        <br /><br />          
</th>
 </tr>  
</table>
</form>
<div id="messag"><?php echo isset($message2)?$message2:''; ?></div>
<br/><br/>
                       
</div>
      
</div>
Tu vois ici, pas d'entête HTML et de <body> car ce programme fait un include() du fichier "menu.php" qui inclut l'entête HTML et les divs du logo et du menu.

Un autre exemple : l'affichage de l'attestation:
<style media="screen">
.invisible_sur_ecran {
	visibility:hidden;
	height:0px;
}
</style>

<div class="main2">
<div id="attestation">
 <img class="invisible_sur_ecran" src="images/banniere.jpg" width="100%" height="138" alt="banniere"></img>  
 <h1><u>Attestation</u></h1>
        <br/><br/><br/>
       
        Période : <?php echo isset($nomMois)?$nomMois:''; ?> (<?php echo isset($annee)?$annee:''; ?>)
        <br/>
        <br/>
        Relevé de présence : <br/><br/>
       
        Je soussigné M......., en qualité de directeur de ......... , Institut Supérieur <br/>
	de Commerce et Gestion,.................. - ..............  .............., certifie que  :
        <br/>
        <br/>
		<?php echo isset($civiliteEtudiant)?$civiliteEtudiant:''; ?> <?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?> inscrit en <?php echo isset($idClasse)?$idClasse:''; ?>
        &nbsp;(<?php echo isset($promotion)?$promotion:''; ?>)
		<br/>
        <br/>
        A été présent(e) <?php echo isset($nombreheurepresencemois)?$nombreheurepresencemois:'0'; ?> heures

        <br/>
        <br/>
        Relevé d'Absence :
        <br/>
        Total des absences : <?php echo isset($nombreheureabsencemois)?$nombreheureabsencemois:'0'; ?> heures    
        <div id="message1"><?php echo isset($message1)?$message1:''; ?></div>

        <br/><br/>
        <br/><br/>
        <br/><br/>
        <table border="0" width="100%">
        <tr><th>Le Salarié</th><th>Le Directeur de l'établissement</th></tr>
        <tr><th><?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?></th><th>........</th></tr>
        </table>
</div>
<input type="button" value="Imprimer" onClick="imprime_zone('attestation');" />
</div>
Remarque: j'ai aussi ajouté un logo dans l'attestation qui ne se voit pas à l'écran mais simplement à l'impression grâce à un style media="screen".
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

01 juin 2011, 15:09

Un autre exemple : l'affichage de l'attestation:
<style media="screen">
.invisible_sur_ecran {
	visibility:hidden;
	height:0px;
}
</style>

<div class="main2">
<div id="attestation">
 <img class="invisible_sur_ecran" src="images/banniere.jpg" width="100%" height="138" alt="banniere"></img>  
 <h1><u>Attestation</u></h1>
        <br/><br/><br/>
       
        Période : <?php echo isset($nomMois)?$nomMois:''; ?> (<?php echo isset($annee)?$annee:''; ?>)
        <br/>
        <br/>
        Relevé de présence : <br/><br/>
       
        Je soussigné M......., en qualité de directeur de ......... , Institut Supérieur <br/>
	de Commerce et Gestion,.................. - ..............  .............., certifie que  :
        <br/>
        <br/>
		<?php echo isset($civiliteEtudiant)?$civiliteEtudiant:''; ?> <?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?> inscrit en <?php echo isset($idClasse)?$idClasse:''; ?>
        &nbsp;(<?php echo isset($promotion)?$promotion:''; ?>)
		<br/>
        <br/>
        A été présent(e) <?php echo isset($nombreheurepresencemois)?$nombreheurepresencemois:'0'; ?> heures

        <br/>
        <br/>
        Relevé d'Absence :
        <br/>
        Total des absences : <?php echo isset($nombreheureabsencemois)?$nombreheureabsencemois:'0'; ?> heures    
        <div id="message1"><?php echo isset($message1)?$message1:''; ?></div>

        <br/><br/>
        <br/><br/>
        <br/><br/>
        <table border="0" width="100%">
        <tr><th>Le Salarié</th><th>Le Directeur de l'établissement</th></tr>
        <tr><th><?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?></th><th>........</th></tr>
        </table>
</div>
<input type="button" value="Imprimer" onClick="imprime_zone('attestation');" />
</div>
Remarque: j'ai aussi ajouté un logo dans l'attestation qui ne se voit pas à l'écran mais simplement à l'impression grâce à un style media="screen".
merci pour tout, petit hic : l'image ne s'affiche toujours pas a l'impression, et pourquoi le met tu en invisible avant l'impression ?

Image voici le logo que je veux placé en haut a gauche de mon attestation et surtout qu'il reste quand on imprime, sinon j'ai un petit problème avec l'affichage de l'attestation : elle se met en dessous du menu de gauche, cela viens des div?comment faire pour quelle s'affiche comme les autres?
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Eléphant du PHP | 150 Messages

01 juin 2011, 15:28

Sinon j'ai essayer d'afficher les classes des étudiants par rapport au niveau d'étude mais ça ne fonctionne pas :
// remplissage de la liste des classe pour l'année sélectionnée
                $listeClasses = "";
					$sql = "SELECT idClasse FROM etudiant WHERE annee='".$anneeNiveau."'";
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($idClasse)&&$row['idClasse']==$idClasse? " selected " : "";
                                $listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
                        }
où me suis-je trompé?
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

01 juin 2011, 15:35

Bon, si tu veux que le logo s'affiche aussi, ben ignore le style que j'ai utilisé.

Par contre, pour justement éviter que le contenu de l'attestation ne s'affiche toujours en bas à la suite du menu, il faut que la largeur du logo ne dépasse pas l'espace libre restant après le div du menu car ce dernier flotte à gauche.
Toutefois, on peut régler le problème une fois pour toute (et comme j'ai dit dans mon message précédent) il faut faire flotter le div contenant l'attestation à droite du div menu qui lui flotte à gauche. Comme ça tu auras le cadre menu à gauche et le cadre contenu à droite. Voici donc le style à modifier pour ça (ajout de float:right):
div.main2{
        float:right;
        padding-left:15px;
        margin-left:20px;
        margin-top:10px;
}
Quant au logo, voila, j'ai enlevé le style qui le cachait et mis les bonnes dimensions de l'image "logo.png":
<div class="main2">
<div id="attestation">
 <img src="images/logo.png" width="205px" height="82px" alt="banniere"></img>  
 <h1><u>Attestation</u></h1>
        <br/><br/><br/>
       
        Période : <?php echo isset($nomMois)?$nomMois:''; ?> (<?php echo isset($annee)?$annee:''; ?>)
        <br/>
        <br/>
        Relevé de présence : <br/><br/>
       
        Je soussigné M......., en qualité de directeur de ......... , Institut Supérieur <br/>
	de Commerce et Gestion,.................. - ..............  .............., certifie que  :
        <br/>
        <br/>
		<?php echo isset($civiliteEtudiant)?$civiliteEtudiant:''; ?> <?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?> inscrit en <?php echo isset($idClasse)?$idClasse:''; ?>
        &nbsp;(<?php echo isset($promotion)?$promotion:''; ?>)
		<br/>
        <br/>
        A été présent(e) <?php echo isset($nombreheurepresencemois)?$nombreheurepresencemois:'0'; ?> heures

        <br/>
        <br/>
        Relevé d'Absence :
        <br/>
        Total des absences : <?php echo isset($nombreheureabsencemois)?$nombreheureabsencemois:'0'; ?> heures    
        <div id="message1"><?php echo isset($message1)?$message1:''; ?></div>

        <br/><br/>
        <br/><br/>
        <br/><br/>
        <table border="0" width="100%">
        <tr><th>Le Salarié</th><th>Le Directeur de l'établissement</th></tr>
        <tr><th><?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?></th><th>........</th></tr>
        </table>
</div>
<input type="button" value="Imprimer" onClick="imprime_zone('attestation');" />
</div>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

01 juin 2011, 15:41

Sinon j'ai essayer d'afficher les classes des étudiants par rapport au niveau d'étude mais ça ne fonctionne pas :
// remplissage de la liste des classe pour l'année sélectionnée
                $listeClasses = "";
					$sql = "SELECT idClasse FROM etudiant WHERE annee='".$anneeNiveau."'";
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($idClasse)&&$row['idClasse']==$idClasse? " selected " : "";
                                $listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
                        }
où me suis-je trompé?
Il n'y a rien en programmation pour un programmeur qui s'appelle : ça ne fonctionne pas :twisted:
désormais je serai exigeant avec toi. Quand ça ne fonctionne pas il faut au moins poster le message d'erreur que tu reçois ou faire un débogage en mettant des echos pour les variables utilisées et pour $sql. Pour repérer l'erreur.

Aller au boulot.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

01 juin 2011, 15:57

Sinon j'ai essayer d'afficher les classes des étudiants par rapport au niveau d'étude mais ça ne fonctionne pas :
// remplissage de la liste des classe pour l'année sélectionnée
                $listeClasses = "";
					$sql = "SELECT idClasse FROM etudiant WHERE annee='".$anneeNiveau."'";
                        $result = mysql_query($sql) or die(mysql_error());
                        while($result && $row=mysql_fetch_array($result))
                        {
                                $selected = isset($idClasse)&&$row['idClasse']==$idClasse? " selected " : "";
                                $listeClasses .= "<option value=\"".$row['idClasse']."\" ".$selected." >".$row['idClasse']."</option>";
                        }
où me suis-je trompé?
Il n'y a rien en programmation pour un programmeur qui s'appelle : ça ne fonctionne pas :twisted:
désormais je serai exigeant avec toi. Quand ça ne fonctionne pas il faut au moins poster le message d'erreur que tu reçois ou faire un débogage en mettant des echos pour les variables utilisées et pour $sql. Pour repérer l'erreur.

Aller au boulot.
d'acc. excuse moi, en faite cela "fonctionne" lol , j'ai juste rajouté un "Distinct" car j'avais plusieurs fois les classes, le nombre de fois que j'avais d'élèves de la classe en faite.Il faut vraiment que tu m'explique comment sont formé ces "form" car c'est a cause de ça que cela ne fonctionnait pas. Je ne vois pas quand on doit mettre
action="" method="get"
ou pas,

est ce que pour rajouter le "motif" des absence dans la page "formassiduite" (et qui y rajouterais dans le tableau ) il faut tout que je modifie?et aussi la base de donnée je pense?je sens que sa va être dur, je ne sais pas comment m'y prendre.
Modifié en dernier par cobra2930 le 01 juin 2011, 16:04, modifié 1 fois.
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

01 juin 2011, 16:03

PS : Toujours pas de solutions pour mon logo dans mon impression?
Pour moi le logo s'affiche bien avec l'attestation sur écran et à l'impression. T'as regardé comment j'ai fait dans le programme que j'ai posté tout à l'heure?
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

01 juin 2011, 16:13

Il faut vraiment que tu m'explique comment sont formé ces "form" car c'est a cause de ça que cela ne fonctionnait pas. Je ne vois pas quand on doit mettre
action="" method="get"
ou pas,
Si tu ne mets pas explicitement method="get" ou method="post" le formulaire envoi les données par défaut par la méthode GET (données visibles) et les données sont visibles avec l'adresse URL du navigateur. Par contre quand on spécifie method="post" alors les données sont envoyées en mode invisible.
L'attribut action="...." spécifie le nom du programme PHP qui recevra les données envoyées. Si action="" (vide) ou absente le formulaire envoi les données vers le même fichier où il se trouve (ça c'est notre cas puisque qu'on met à la fois le programme PHP et le formulaire HTML dans le même fichier)

Remarque: Quand un formulaire envoi en mode POST (method="post") il faut utiliser dans PHP la variable $_POST pour lire les données postées. Sinon si c'est la méthode GET il faut utiliser la variable $_GET.

Attention : la méthode GET limite la longueur des données transmise en chaine avec l'URL à moins de 255 caractères.

Si les données envoyées sont sensibles (données personnelles, mot de passes, ...) et pour plus de "sécurité" on privilégie l'usage de la méthode POST.

Bon, je mets bien sûr le mot "sécurité" entre guillemets car le fait d'utiliser POST n'est pas vraiment une sécurité au vrai sens du mot car les données envoyées sont simplement cachée et non cryptées selon les normes de la VRAIE sécurité SSL.
Pour parler donc de sécurité propre il faut passer en mode HTTPS. Ce qui exige un certain paramétrage côté serveur et client.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

01 juin 2011, 16:24

Bon, si tu veux que le logo s'affiche aussi, ben ignore le style que j'ai utilisé.

Par contre, pour justement éviter que le contenu de l'attestation ne s'affiche toujours en bas à la suite du menu, il faut que la largeur du logo ne dépasse pas l'espace libre restant après le div du menu car ce dernier flotte à gauche.
Toutefois, on peut régler le problème une fois pour toute (et comme j'ai dit dans mon message précédent) il faut faire flotter le div contenant l'attestation à droite du div menu qui lui flotte à gauche. Comme ça tu auras le cadre menu à gauche et le cadre contenu à droite. Voici donc le style à modifier pour ça (ajout de float:right):
div.main2{
        float:right;
        padding-left:15px;
        margin-left:20px;
        margin-top:10px;
}
Quant au logo, voila, j'ai enlevé le style qui le cachait et mis les bonnes dimensions de l'image "logo.png":
<div class="main2">
<div id="attestation">
 <img src="images/logo.png" width="205px" height="82px" alt="banniere"></img>  
 <h1><u>Attestation</u></h1>
        <br/><br/><br/>
       
        Période : <?php echo isset($nomMois)?$nomMois:''; ?> (<?php echo isset($annee)?$annee:''; ?>)
        <br/>
        <br/>
        Relevé de présence : <br/><br/>
       
        Je soussigné M......., en qualité de directeur de ......... , Institut Supérieur <br/>
	de Commerce et Gestion,.................. - ..............  .............., certifie que  :
        <br/>
        <br/>
		<?php echo isset($civiliteEtudiant)?$civiliteEtudiant:''; ?> <?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?> inscrit en <?php echo isset($idClasse)?$idClasse:''; ?>
        &nbsp;(<?php echo isset($promotion)?$promotion:''; ?>)
		<br/>
        <br/>
        A été présent(e) <?php echo isset($nombreheurepresencemois)?$nombreheurepresencemois:'0'; ?> heures

        <br/>
        <br/>
        Relevé d'Absence :
        <br/>
        Total des absences : <?php echo isset($nombreheureabsencemois)?$nombreheureabsencemois:'0'; ?> heures    
        <div id="message1"><?php echo isset($message1)?$message1:''; ?></div>

        <br/><br/>
        <br/><br/>
        <br/><br/>
        <table border="0" width="100%">
        <tr><th>Le Salarié</th><th>Le Directeur de l'établissement</th></tr>
        <tr><th><?php echo isset($nomEtudiant)?$nomEtudiant:''; ?> <?php echo isset($prenomEtudiant)?$prenomEtudiant:''; ?></th><th>........</th></tr>
        </table>
</div>
<input type="button" value="Imprimer" onClick="imprime_zone('attestation');" />
</div>
alors pour le logo sa ne fonctionne toujours pas, il met le cadre qui correspond a la taille défini et il met une mini page fissuré avec écrit a coté l'id de l'image.
PS : Est ce qu'on peut enlever le titre du document en haut a gauche, le "about:blank"en haut a droite, le numéro de page et la date ?
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

01 juin 2011, 16:34

alors pour le logo sa ne fonctionne toujours pas, il met le cadre qui correspond a la taille défini et il met une mini page fissuré avec écrit a coté l'id de l'image.
Je pense qu'il ne trouve pas ton image du coup elle n'est pas chargée. est-ce que tu la vois à l'affichage? si oui, vérifie les paramètres d'impression dans la Mise en page du navigateur (Fichier --> Mise en page), si n'affiche pas les images et couleurs d'arrière plan.
PS : Est ce qu'on peut enlever le titre du document en haut a gauche, le "about:blank"en haut a droite, le numéro de page et la date ?
Pour ces informations regarde du côté de la mise en page sur ton navigateur. Généralement : Fichier --> Mise en page et regarde les paramètres de l'entête/pied de page.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

01 juin 2011, 17:17

alors pour le logo sa ne fonctionne toujours pas, il met le cadre qui correspond a la taille défini et il met une mini page fissuré avec écrit a coté l'id de l'image.
Je pense qu'il ne trouve pas ton image du coup elle n'est pas chargée. est-ce que tu la vois à l'affichage? si oui, vérifie les paramètres d'impression dans la Mise en page du navigateur (Fichier --> Mise en page), si n'affiche pas les images et couleurs d'arrière plan.
tu as raison l'option n'était pas cocher mais sa n'a pas résolu le problème,je la vois bien a l'affichage mais elle ne veux pas s'imprimer .tu pense qu'il faut que j'essay d'un autre pc?
PS : Est ce qu'on peut enlever le titre du document en haut a gauche, le "about:blank"en haut a droite, le numéro de page et la date ?
Pour ces informations regarde du côté de la mise en page sur ton navigateur. Généralement : Fichier --> Mise en page et regarde les paramètres de l'entête/pied de page.[/quote]Merci,j'ai reussi a enlever les entête et pied de page

et pour les div cela fonctionne pour toute les pages mais pas pour l'attestation et je crois que c'est a cause du <hr/> qui encadre "ATTESTATION".d'ailleur la solution que tu m'as donné avec le float "right" tu l'avais déja mise dans les ancien post donc ça n'a rien changé.
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

01 juin 2011, 20:47

Essaye de recompresser l'image "logo.png" pour l'optimiser pour l'impression.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 150 Messages

01 juin 2011, 21:02

Essaye de recompresser l'image "logo.png" pour l'optimiser pour l'impression.
recompresser en kwa?au même format mais réduit?ou en jpeg?quel taille?quelle mémoire?

edit : j'ai testé de le convertir en jpg avec photoshop mais ça ne change rien.
Tu veux mourir? OK!! Mais pas dans ma voiture, alors attache ta ceinture !! :pouce:
Tony :boire9: