IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Creation d'une page php pour site perso


Sujet :

Langage PHP

  1. #61
    Invité
    Invité(e)
    Par défaut
    Tant que tu n'auras pas écrit CLAIREMENT ce que tu souhaite réaliser ETAPE PAR ETAPE, .... ca ne sert à rien.
    Tu vas continuer à tourner en rond jusqu'à t'étourdir ...

  2. #62
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 5
    Points
    5
    Par défaut
    Je sais pas j'ai l'impression de l'avoir fait mais je le refais.

    L'utilisateur qui arrive sur cette page voit le menu deroulant (qui lui permet de se loger) et les cases a cocher (qui lui permettent une fois loge de regarder ses graph) et aussi l'endroit d'ajout d'un logger.

    L'utilisateur choisis un log dans le menu deroulant et cliaue sur le bouton log.

    Puis il coche certaines cases pour afficher les images qu'il veut voir.

    Si jamais l'utilisateur n'a pas de logger a son nom dans le menu deroulant, il peut rajouter un logger.

  3. #63
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par mathoel Voir le message
    Je sais pas j'ai l'impression de l'avoir fait mais je le refais.
    Ce n'est pas pour nous que tu dois le faire. C'est avant tout pour TOI !
    Car c'est CA qui te permet de STRUCTURER la METHODOLOGIE à mettre en place afin d'obtenir le RESULTAT voulu.

    Cela dit ... il me semble avoir répondu à ta problématique en écrivant les codes que je t'ai fournis.
    Par conséquent, tu ne devrais plus avoir le moindre soucis pour terminer ton projet.

    Prenons cette phrase :
    Citation Envoyé par mathoel Voir le message
    L'utilisateur qui arrive sur cette page voit le menu deroulant (qui lui permet de se loguer) et les cases a cocher (qui lui permettent une fois logué de regarder ses graph) et aussi l'endroit d'ajout d'un logger.
    Il y a un incohérence ICI : "...et...une fois logué..."
    1/ SOIT les cases à cocher ne doivent pas apparaitre "en même temps" que la liste déroulante, mais APRES avoir choisi dans la liste (-> voir 1ère logique ci-après)
    2/ SOIT ils doivent être présent dans le même formulaire (-> voir 2ème logique ci-après), ce qui pourrait être une contrainte imposée.

    A/ 1ERE LOGIQUE : d'abord le formulaire d'identification, ENSUITE l'affichage des cases à cocher.
    -> "...PUIS...une fois logué..."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Et dans ce cas, il faut :
    1/ un formulaire n°1 "IDENTIFICATION" (-> liste déroulante)
    2/ traitement du formulaire n°1, mise en session du nom-logger
    3/ affichage (de la page) du nomlogger + formulaire n°2 "CASES A COCHER" (avec 3 cases à cocher)
    4/ traitement formulaire n°2 pour afficher les images correspondant aux cases cochées.
    => ICI : le javascript devient inutile, puisqu on a 2 formulaires traités indépendamment, 
    et qu au moment d afficher les images, le nomlogger est connu (et enregistré en session).
    B/ 2EME LOGIQUE : en MEME TEMPS, on veux que la liste et les cases à cocher soient dans le même formulaire.
    -> "...ET...une fois logué..."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1/ 1 seul formulaire "IDENTIFICATION + CASES A COCHER"
    2/ Comme les noms des images dépendent du choix dans la liste déroulante,
    => on aura ICI besoin de javascript pour récupérer le nomlogger sélectionné dans la liste (et afficher les bonnes images)
    BREF : Décider entre 1ERE et 2EME LOGIQUE est une question de CHOIX DE CONCEPTION.
    C'est DETERMINANT quant à la méthode de programmation à employer.
    Dernière modification par Invité ; 28/07/2011 à 19h57.

  4. #64
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 5
    Points
    5
    Par défaut
    Effectivement je fesais une erreur de conception, je fesais un doux melange entre les deux methodes que tu a presente.

    Maintenant que tu a bien presente les choses je comprends que ce que je veux faire c'est la deuxieme logique.

    je sais aussi ou je bloquais, je pensais que le fait de choisir un logger allait FORCEMENT entrainer la notion de session. Or la meniere dont tu presentes les choses me fait ouvrir les yeux sur la possibilite de recuperer le nom du logger sans avoir besoin d'une session.
    Ce qui rends possible mon projet celon ta deuxieme logique.

    J'ai encore un probleme de conception qui depasse le cadre de mon projet.
    C'est le "cours" que je ne comprends pas...

    Concretement un formulaire t'envoi sur une nouvelle page ou pas ? (je bloque la dessus, je ne comprends pas dans le tuto)

    Merci beaucoup de "ranger" dans ma tete toute les idees dans le bon ordre

  5. #65
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Oui un formulaire t'envoie sur une nouvelle page... qui peut être la même page
    Dans ton cas, tu veux tout faire sur une seule page, c'est pour ça qu'il y a les conditions de jreaux.

    En fait, tous les formulaires ont pour action "index.php" par exemple. La première fois qu'on arrive, aucune variable n'est chargée, donc on affiche le premier formulaire ( celui de la liste avec les noms ). On envoie, ça recharge la page, avec cette fois ci la variable du logger chargée, du coup ça affiche le second formulaire.
    Et on répète ce processus jusqu'à la fin
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  6. #66
    Invité
    Invité(e)
    Par défaut
    Bonjour Matthieu,
    je constate que tu t'accroches et que tu ne "laches pas l'affaire". C'est bien !
    Citation Envoyé par mathoel Voir le message
    la maniere dont tu presentes les choses me fait ouvrir les yeux
    Ouf ! je suis content que mes explications portent leurs fruits.
    Citation Envoyé par mathoel Voir le message
    un formulaire t'envoi sur une nouvelle page ou pas ?
    C'est TOI qui décide quelle page va traiter le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="xxxxxxxxxx.php">
    c'est la page xxxxxxxxxx.php à laquelle sera transmise le formulaire.

    Pour que ce soit LA MEME page, tu peut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method="post" action="le-nom-de-lapage.php">
    ou :
    <form method="post" action=""> <!-- si on ne met rien, c'est la page en cours qui est prise par defaut -->
    ou encore :
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    A part ca, tous les scripts que je t'ai donnés précédemment traitent la 2EME METHODE.
    Tu peux donc les utiliser.

  7. #67
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 5
    Points
    5
    Par défaut
    Ca y est j'y suis merci!

    En fait dans le tuto je comprenais que le formulaire envoyait sur une nouvelle page de facon systematique.

    Dans mon cas on est donc bien d'accord sur le fait que tous mes formulaires renvoient sur la meme page.

    Je vais modifier tout ca.

  8. #68
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 5
    Points
    5
    Par défaut
    Je vais peut etre me faire engeuler (je prends le risque) mais pour moi le code est fini, la page devrait faire tout ce que je voulais qu'elle fasse.

    Il me reste donc a vous remercier pour votre patience, la pertinence de vos reponses et votre formidable disponibilite.

    Je retiendrais de cette experience qu'il faut etre organise car :

    Nicolas Boileau-Despréaux
    "Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément. "

  9. #69
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par mathoel Voir le message
    pour moi le code est fini, la page devrait faire tout ce que je voulais qu'elle fasse.
    Je ne comprends pas. Tu n'as pas les moyens de TESTER ta page ?? (en local, ou en ligne) ??

  10. #70
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 5
    Points
    5
    Par défaut
    Alors c'est un peu etrange, mais en fait j'ai depose ma page sur le serveur de mon pote mais je ne connais pas l'adresse de ma page donc je ne peux pas la visualiser..

    Mais je pense qu'il va me donner l'adresse pour que je puisse voir tout ca.

  11. #71
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par mathoel Voir le message
    j'ai depose ma page sur le serveur de mon pote mais je ne connais pas l'adresse de ma page donc je ne peux pas la visualiser..
    Trop fort !!

    Normalement, si tu connais :
    - le nom du serveur "http://lesitedetonpote.com"
    - que ta page s'appelle "tapage.php" (à priori, tu l'as déposée à la racine)

    tu devrais pouvoir la voir ici : http://lesitedetonpote.com/tapage.php
    ou si ta page est dans le dossier "ledossier" : http://lesitedetonpote.com/ledossier/tapage.php

    Remets donc ton code ICI, ok ?
    Je peux toujours le TESTER pour toi !

  12. #72
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 5
    Points
    5
    Par défaut
    Le truc c'est que je depose ma page sur le serveur de mon pote.

    Donc j'ai le host name sur lequel je me connecte en ssh avec Geosync, mais je ne connais pas le nom du site de mon pote

    Je peux te remettre mon code mais j'ai peur que ce soit faux (encore) et que je passe encore plus pour un gros attarde..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <title> Stage CGG Veritas </title>
    </head>
     
    <style type=\"text/css\" title=\"currentStyle\" media=\"screen\">
    	@import \"css/geosyn.css";
    </style>
     
    <body>
     
    <!-- Ici c'est une sorte de menu, mais on s'en fiche completement c'est du html ca ne me pose pas de problemes -->
    	<div id="navigation">
    		<ul class="mainMenu">
    			<li><a href="#" class="selectMenu" title="Home">Logger</a></li>
    			<li><a href="#" title="About">Graph</a></li>
    			<li><a href="#" title="Services">Bla</a></li>
    			<li><a href="#" title="Support">Bla</a></li>
    			<li><a href="#" title="Chat">Bla</a></li>
    			<li><a href="#" title="History">Bla</a></li>
    		</ul>
     
    <!--La c'est la section qui permet d'ajouter un logger au fichier loggers.ini sous la forme logger=adresseIP. Cette partie n'est pas du tout finie je ne sais pas comment faire -->
    <table width="566" border="5" align="right">
    	<tr>
    		<td>
    				<!-- formulaire d'inscription d'un logger -->
    				<form name="AddLogger" method="post" action="">
    				<fieldset>
    				<p>
    				<label for="idnomlogger">Nom du Logger : </label>
    				<input id="idnomlogger" name="nomlogger" type="text" size="20" />
    				</p>
    				<p>
    				<label for="idIP">IP : </label>
    				<input id="idIP" name="IP" type="text" size="20" />
    				</p>
    				<p><input type="submit" name="enregistrer" value="Add To Loggers"></p>
    				</fieldset>
    				</form>
    				<?php 
    				// TRAITEMENT du formulaire
    				$log_valid = 0;
    				$msg_error = '';
    				if(isset($_POST['enregistrer']))
    				{
    				// recuperation des donnees du formulaire
    				$logger = stripslashes(trim($_POST['nomlogger']));
    				$IP = stripslashes(trim($_POST['nomlogger']));
    				// on construit le couple logger=IP
    				$logger_IP = $logger.'='.$IP;
     
    				// le fichier qui comporte les couples logger=IP (un couple par ligne)
    				$log_file = "./loggers.ini";
     
    				// -------------------
    				// GESTION DES ERREURS
    				// -------------------
    				// erreur si $logger et $IP sont vides
    				if ($logger=='' || $IP=='') {
    				$log_valid = 2;
    				$msg_error .= 'Vous devez remplir les champs "Nom du Logger" et "IP".<br />';
    				}
    				// existence du fichier
    				if (!file_exists($log_file)) {
    				$log_valid = 2;
    				$msg_error .= 'Le fichier d\'enregistrement n\'existe pas. Contactez l\'administrateur du site.<br />';
    				} else {
    				// Chargement de l'ensemble du fichier dans un tableau
    				$log_tab = file($log_file);
    				// on verifie si le couple logger=IP n'est pas deja enregistre
    				foreach($log_tab as $key => $val){
    				//echo '['.$key.'] = '.$val.'<br />';
    				if($logger_IP == trim($val)) {
    				$log_valid = 2;
    				$msg_error .= 'Déja enregistré : '.$logger_IP.'<br />';
    				}
    				}
    				}
    				if ($log_valid!=2){
    					$log_valid = 1; // ok
    				}
    				// -------------------
    				// OK : on enregistre
    				// -------------------
    				if ($log_valid==1) {
    				// Ouverture du fichier en écriture
    				$in_file = fopen($log_file, "w");
    				// on ré-écrit les lignes existantes
    				$log_count = count($log_tab);
    				for ($i=0; $i<$log_count; $i++) {
    					fputs($in_file,$log_tab[$i]."\n"); 
    				}
    				// on ajoute la nouvelle ligne
    				fputs($in_file,$logger_IP."\n");
    				// on ferme le fichier
    				fclose($in_file);
    				// message ok
    				$msg_ok = 'Vos identifiant ont bien été enregistrés : '.$logger_IP.'<br />';
    				}
    				unset($_POST);
    				} // fin traitement
    				?>
     
    				<!-- message -->
    				<?php if ($log_valid==1) { ?>
    				<p class="msg-ok"><?php echo $msg_ok; ?></p>
    				<?php elseif ($log_valid==2) { ?>
    				<p class="msg-error"><?php echo $msg_error; ?></p>
    				<?php } ?>
     
    				<?php
    				// AFFICHAGE du formulaire
    				if ($log_valid!=1)
    				{
    				?>
    				<?php
    				} // fin affichage
    				?>
     
     
     
    		</td>
    	</tr>
    </table>               
     
    <!-- Ici c'est le menu deroulant avec la liste des loggers deja enregistres, ils suffit de derouler la liste choisir son logger et de cliquer sur le bouton log pour etre sur sa propre page. C'est uniquement dans le but d'afficher des graph personalises qui portent le nom du logger dans leur nom.png -->
     
    				<script type="text/javascript"><!--
    		function affichebox(idcheckbox, idbox, finimage) {
    			var lacheckbox = document.getElementById(idcheckbox);
    			if(lacheckbox.checked) { // coché : on affiche la box
    				document.getElementById(idbox).style.display = "block";
    				// recuperation du nom du logger, qui servira a nommer correctement les images
    				var lenomlogger = document.getElementById(idliste1).value; 
    				// affichage de l'image correspondante : on ajoute le code html dans le div
    				document.getElementById(idbox).innerHTML = '<img src="/var/www/html/Geosync_www/pics/' + lenomlogger + finimage + '" alt="" />';
    			} else { // on masque la box
    				document.getElementById(idbox).style.display = "none";
    			};
    		}
    		//-->
    	</script>
     
    	<form method="post" action="">
    	<fieldset>
    		<!-- selection du nom du logger -->
    		<p>
    			<label for="idliste1">Nom du Logger : </label>
    			<select id="idliste1" name="liste1" style="width:146px;">
    				<option value="">Marlog01</option>
    				<option value="">bla</option>
    				<option value="">bla</option>
    				<option value="">bla</option>
     
    		<?php 
    	// le fichier qui comporte les couples logger=IP (un couple par ligne)
    	$log_file = "./loggers.ini";
    	if (file_exists($log_file)) {
    		// Chargement de l'ensemble du fichier dans un tableau
    		$log_tab = file($log_file);
    		// on affiche ligne par ligne
    		foreach($log_tab as $key => $val){
    			// on separe logger de IP dans le couple logger=IP
    			$log_tab = explode('=', $val);
    			$log_logger = trim($log_tab[0]); // nom du logger
    			$log_IP = trim($log_tab[1]); // IP
    ?>
    				<option value="<?php echo $log_logger; ?>"><?php echo $log_logger; ?></option>
    <?php
    		}
    	}
    ?>
    			</select>
    		</p>
    		<!-- les 3 checkbox -->
    		<p>
    			<input type="checkbox" id="idcase1" name="case1" value="Daily" onclick="affichebox('idcase1', 'idbox1', '_daily.png');" />
    			<input type="checkbox" id="idcase2" name="case2" value="Weekly" onclick="affichebox('idcase2', 'idbox2', '_weekly.png');" />
    			<input type="checkbox" id="idcase3" name="case3" value="Monthly" onclick="affichebox('idcase3', 'idbox3', '_monthly.png');" />
    		</p>
    	</fieldset>
    	</form>
     
    	<!-- Affichage des images : le contenu sera ecrit via le script javascript ! -->
    			<div id="idbox1" style="display:none;"></div>
    			<div id="idbox2" style="display:none;"></div>
    			<div id="idbox3" style="display:none;"></div>
     
     
     
     
     
     
    </body>
    </html>

  13. #73
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Ce qui est attardé, pour reprendre tes mots ( et attention je ne te vise pas ) c'est de coder sans tester...
    C'est juste une abération de pondre une page de code et de l'envoyer en production sans savoir si ça fonctionne ou non...
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  14. #74
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 5
    Points
    5
    Par défaut
    Je l'ai simplement envoyee sur le serveur et j'attends qu'il me donne le nom de son site pour justement pouvoir tester ma page.

    Je vais pas lui dire "a priori tout fonctionne, aller a plus"

  15. #75
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 335
    Points : 5 704
    Points
    5 704
    Billets dans le blog
    1
    Par défaut
    Moi, ce que je ferais pour tester (et y a de grosses chances que ça marche), je mettrais mes pages sur un serveur que je maîtrise (et pages dont je connaitrais du coup l'adresse !)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  16. #76
    Invité
    Invité(e)
    Par défaut
    Hello Matthieu,
    me revoici, avec ton code corrigé et fonctionnel !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    	<title> Stage CGG Veritas </title>
    	<style type=\"text/css\" title=\"currentStyle\" media=\"screen\">
    		@import \"css/geosyn.css";
    	</style>
    </head>
     
    <body>
     
    <!-- MENU -->
    <div id="navigation">
    	<h4>MENU</h4>
    	<ul class="mainMenu">
    		<li><a href="#" class="selectMenu" title="Home">Logger</a></li>
    		<li><a href="#" title="About">Graph</a></li>
    		<li><a href="#" title="Services">Services</a></li>
    		<li><a href="#" title="Support">Support</a></li>
    		<li><a href="#" title="Chat">Chat</a></li>
    		<li><a href="#" title="History">History</a></li>
    	</ul>
    </div><!-- fin navigation -->
     
    <div id="contenupage">
     
    <!-- section qui permet d'ajouter un logger au fichier loggers.ini sous la forme logger=adresseIP -->
    <div id="ajouterlogger">
    	<h4>AJOUTER UN LOGGER</h4>
    <?php 		// TRAITEMENT du formulaire
    $log_valid = 0;
    $msg_error = '';
    if(isset($_POST['enregistrer']))
    {
    	// le fichier qui comporte les couples logger=IP (un couple par ligne)
    	$log_file = "./loggers.ini";
    	// -------------------
    	// recuperation des donnees du formulaire
    	$logger = stripslashes(trim($_POST['nomlogger']));
    	$IP = stripslashes(trim($_POST['IP']));
    	// on construit le couple logger=IP
    	$logger_IP = $logger.'='.$IP;
    	// -------------------
    	// GESTION DES ERREURS
    	// -------------------
    	// erreur si $logger et $IP sont vides
    	if ($logger=='' || $IP=='') {
    		$log_valid = 2;
    		$msg_error .= 'Vous devez remplir les champs "Nom du Logger" et "IP".<br />';
    	}
    	// existence du fichier
    	if (!file_exists($log_file)) {
    		$log_valid = 2;
    		$msg_error .= 'Le fichier d\'enregistrement n\'existe pas. Contactez l\'administrateur du site.<br />';
    	} else {
    		// Chargement de l'ensemble du fichier dans un tableau
    		$log_tab = file($log_file);
    		// on verifie si le couple logger=IP n'est pas deja enregistre
    		foreach($log_tab as $key => $val){
    			//echo '['.$key.'] = '.$val.'<br />';
    			if($logger_IP == trim($val)) {
    				$log_valid = 2;
    				$msg_error .= 'Déja enregistré : '.$logger_IP.'<br />';
    			}
    		}
    	}
    	if ($log_valid!=2){
    		$log_valid = 1; // ok
    	}
    	// -------------------
    	// si OK : on enregistre
    	// -------------------
    	if ($log_valid==1) {
    		// Ouverture du fichier en écriture
    		$in_file = fopen($log_file, "w");
    		// on ré-écrit les lignes existantes
    		$log_count = count($log_tab);
    		for ($i=0; $i<$log_count; $i++) {
    			fputs($in_file,$log_tab[$i]."\n"); 
    		}
    		// on ajoute la nouvelle ligne
    		fputs($in_file,$logger_IP."\n");
    		// on ferme le fichier
    		fclose($in_file);
    		// message ok
    		$msg_ok = 'Vos identifiants ont bien été enregistrés : '.$logger_IP.'<br />';
    	}
    	unset($_POST);
    } // fin traitement
    ?>
    			<!-- message -->
    <?php if ($log_valid==1) { ?>
    				<p class="msg-ok"><?php echo $msg_ok; ?></p>
    <?php } elseif ($log_valid==2) { ?>
    				<p class="msg-error"><?php echo $msg_error; ?></p>
    <?php } ?>
     
    <?php	// AFFICHAGE du formulaire
    if ($log_valid!=1) {
    ?>
    		<!-- formulaire d'inscription d'un logger -->
    		<form name="AddLogger" method="post" action="">
    		<fieldset>
    			<p>
    				<label for="idnomlogger">Nom du Logger : </label>
    				<input id="idnomlogger" name="nomlogger" type="text" size="20" />
    			</p>
    			<p>
    				<label for="idIP">IP : </label>
    				<input id="idIP" name="IP" type="text" size="20" />
    			</p>
    			<p><input type="submit" name="enregistrer" value="Add To Loggers"></p>
    		</fieldset>
    		</form>
    <?php
    } // fin affichage du formulaire "ajouter logger"
    ?>
    </div><!-- fin ajouterlogger -->
     
    <div id="selectionlogger">
    	<h4>SELECTION DU LOGGER</h4>
    	<script type="text/javascript"><!-- 
    	// (ce script javascript peut/doit etre placé entre les balises head /head )
    		// CHOIX du logger dans la liste deroulante -> ce qui permet de NOMMER LES IMAGES
    		function choixlogger(lenomlogger) {
    			var lenomlogger; // valeur du select = nom du logger
    			if(lenomlogger!='') {
    				// noms des images associées
    				var image1 = '<img src="/var/www/html/Geosync_www/pics/' + lenomlogger + '_daily.png" alt="' + lenomlogger + ' daily" />';
    				var image2 = '<img src="/var/www/html/Geosync_www/pics/' + lenomlogger + '_weekly.png" alt="' + lenomlogger + ' weekly" />';
    				var image3 = '<img src="/var/www/html/Geosync_www/pics/' + lenomlogger + '_monthly.png" alt="' + lenomlogger + ' monthly" />';
    				// on les affiche dans les div correspondantes (on ajoute le code html dans le div)
    				document.getElementById('idbox1').innerHTML = image1;
    				document.getElementById('idbox2').innerHTML = image2;
    				document.getElementById('idbox3').innerHTML = image3;
    			} else {
    				document.getElementById('idbox1').innerHTML = '';
    				document.getElementById('idbox2').innerHTML = '';
    				document.getElementById('idbox3').innerHTML = '';
    			}
    		};
    		// AFFICHER / MASQUER les div contenant les images
    		function affichebox(idcheckbox, idbox) {
    			var lacheckbox = document.getElementById(idcheckbox);
    			if(lacheckbox.checked) { // coché : on affiche la box
    				document.getElementById(idbox).style.display = "block";
    			} else { // on masque la box
    				document.getElementById(idbox).style.display = "none";
    			}
    		};
    	//-->
    	</script>
     
    	<form method="post" action="">
    	<fieldset>
    		<!-- selection du nom du logger : liste deroulante -->
    		<p>
    			<label for="idliste1">Nom du Logger : </label>
    			<select id="idliste1" name="liste1" style="width:146px;" onchange="choixlogger(this.value);">
    				<option value="">... choisissez ...</option>
    <?php // affichage des loggers enregistres dans le fichier "loggers.ini"
    	// le fichier qui comporte les couples logger=IP (un couple par ligne)
    	$log_file = "./loggers.ini";
    	if (file_exists($log_file)) {
    		// Chargement de l'ensemble du fichier dans un tableau
    		$log_tab = file($log_file);
    		// on affiche ligne par ligne
    		foreach($log_tab as $key => $val){
    			// on separe logger de IP dans le couple logger=IP
    			$log_tab = explode('=', $val);
    			$log_logger = trim($log_tab[0]); // nom du logger
    			$log_IP = trim($log_tab[1]); // IP
    ?>
    				<option value="<?php echo $log_logger; ?>"><?php echo $log_logger; ?></option>
    <?php
    		} // fin foreach
    	} // fin if
    ?>
    			</select>
    		</p>
    		<!-- les 3 checkbox : à cocher pour affichage des images -->
    		<p>
    			<input type="checkbox" id="idcase1" name="case1" value="Daily" onclick="affichebox('idcase1', 'idbox1');" /> daily
    			<input type="checkbox" id="idcase2" name="case2" value="Weekly" onclick="affichebox('idcase2', 'idbox2');" /> weekly
    			<input type="checkbox" id="idcase3" name="case3" value="Monthly" onclick="affichebox('idcase3', 'idbox3');" /> monthly
    		</p>
    	</fieldset>
    	</form>
    </div><!-- fin selectionlogger -->
     
    <div id="affichageimages">
    	<h4>AFFICHAGE des IMAGES</h4>
    	<!-- Affichage des images : le contenu sera ecrit via le script javascript (car les images dependent du nom du logger) -->
    	<div id="idbox1" style="display:none;"></div>
    	<div id="idbox2" style="display:none;"></div>
    	<div id="idbox3" style="display:none;"></div>
    </div><!-- fin affichageimages -->
     
    </div><!-- fin contenupage -->
     
    </body>
    </html>
    Etudie-le bien !

    J'ai :
    - remis de l'ordre dans le code,
    - corriger les erreurs (dont certaines venaient de ... mon code)
    - ajouter des titres aux différentes section du code (<h4>...</h4>) : ca sépare bien les "modules"
    - remplacé les <table> par des <div> (pour la mise en page : utiliser du CSS)
    - MODIFIE les fonctions javascript :
    -> fonction choixlogger(lenomlogger) : on recupère le CHOIX du logger dans la liste deroulante -> ce qui permet de NOMMER LES IMAGES.
    -> fonction affichebox(idcheckbox, idbox) : AFFICHER / MASQUER les div contenant les images si la checkbox est cochée ou non.

    Et si tu veux pouvoir travailler tranquille et tester toi-même tes scripts, pourquoi ne pas installer WampServer sur ton ordi.
    Citation Envoyé par mathoel Voir le message
    Je vais pas lui dire "a priori tout fonctionne, aller a plus"
    Maintenant, SI !
    Dernière modification par Invité ; 29/07/2011 à 17h10.

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/03/2010, 11h19
  2. [Spip] créer une page php pour chaque enregistrement ajouté à la base
    Par ecdxml dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 05/06/2008, 18h33
  3. Réponses: 4
    Dernier message: 20/08/2006, 15h03
  4. Réponses: 4
    Dernier message: 18/10/2005, 16h21
  5. Réponses: 1
    Dernier message: 22/09/2005, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo