Vous n'êtes pas identifié(e).
Pages : 1
Voila toujours dans mon Projet BTS, j'ai avancé et j'arrive à un endroit .. je m'explique.
J'ai réalisé un script CGI qui va me lister toute les Adresses Mac du reseaux puis ca me les ajoutes dans la base de donnée directement, apart si celle si y es deja.
Sous cette forme :
Adresse_Mac2 : Nom_Eleve2:
xx:xx:xx:xx:xx:xx (Met rien)
xx:xx:xx:xx:xx:xx (Met rien)
xx:xx:xx:xx:xx:xx (Met rien)
etc
Ca, ca fonctionne.
Ensuite j'ai un programme en .csv ou le professeur va rentrer les Nom, Prenom etc de chaque éléves et ca les ajoutera dans la base de donnée.
Bref j'en arrive ou je bloque :
Sur mon interface web,je vais avoir un page de ce genre :
____________________________________________________________________________________________________
Identifier les adresses mac du reseaux :
Adresse N°$i : ( $i incrémenté a chaque fois, ici 1 )
xx:xx:xx:xx:xx:xx ( Je récupere sous forme de tableau ma table Adresse_Mac2, ici la 1ere Adresse Mac )
[Choisir votre eleve] ( J'affiche sous la forme d'une liste déroulante, tout les Noms rentré dans la base de donnée )
-----
Adresse N°$i : ( ici 2 )
xx:xx:xx:xx:xx:xx (Ici la 2eme Adresse_Mac )
[Choisir votre eleve] ( Je réaffiche la liste précédente en retirant la posibilité de choisir le Nom précedent )
-----
Cela ce fait jusqu'a ce que Adresse_Mac2 soit vide.
____________________________________________________________________________________________________
Mes soucis :
-L'affichage du tableau est correcte, mais il m'affiche la liste déroulante que pour la 1ere adresse mac, aprés je vois bien le select dans les autre ligne, mais il n'y a rien dans le select.
-Des que l'utilisateur aura rentré un nom en face de l'adresse mac, il faut que je rentre ce Nom dans Nom_Eleve2. J'arrive à le faire si il y à une seul adresse mac, mais si il y à plusieur variable à envoyer .. enfin j'y suis pas encore
J'ai cherché sur Internet, et j'arrive pas a faire :
- Afficher plusieur fois une Liste déroulante issu d'une requete SQL et qui retire la possibilité de choisir le choix précédent.
J'ai juste vu : Me!NomListe.Requery .. je me renseigne sur ca pour le moment =X
J'ai vu qu'utiliser du AJAX ou JAVASCRIPT se ferais forcement, qu'en PHP je pourrais surment pas .. mais je demande comme meme.
<table border=outset>
<td colspan=3 bgcolor="white">
<h2><center>Identifier les adresses mac du reseaux :</center></h2></td>
<tr>
<form method="GET" action="">
<?php
$i=1; // initialise i
while ( $LectureAffichageAdrM2 = mysql_fetch_array( $LesAdrM2 )) // Debut boucle while affichage tableau adresse mac
{
echo "<td><i>Adresse Mac N°$i</i> :<td>";
echo "<b><center>".$LectureAffichageAdrM2['Adresse_Mac2'];"</center></b>";
?>
<td>
<select name="mon_champmac" onchange="changemac(this.options[this.selectedIndex].innerHTML)">
<option>
<?php
echo $LectureAffichageAdrM2['Adresse_Mac2']; // affiche adresse mac
?>
</option>
</select>
<!-- Debut while liste déroulante-->
<td>
<select name="mon_champnom" onchange="document.location.reload()">
<?php
while ($LectureAffichageNom = mysql_fetch_array( $ComparaisonNom ))
{
?>
<OPTION>
<?php
echo $LectureAffichageNom['Nom']; // affiche liste déroulante
?>
</OPTION>
<?php
}
?>
</SELECT>
<!-- Fin while liste déroulante !-->
<?php
echo "<tr>";
$i++; //incremente i
}
?>
<tr><td colspan=3><center>
<br><br>
<input type="hidden" name="ma_valeurnom" id="new_valeurnom" /> <!-- recupere le nom et ladresse mac obtenue!-->
<input type="hidden" name="ma_valeurmac" id="new_valeurmac" />
<input type="submit" value="Assigner"/>
<input type="button" onclick="history.go(-1)" value="Retour"></center>
</table>
<?php
}
#########################################################CHOISIR LE NOM DES ELEVE A METTRE ADRESSE MAC ###########################################################
##########################################################################################################################################
$ma_valeurnom = $_GET['mon_champnom'];
$ma_valeurmac = $_GET['mon_champmac'];
if ($ma_valeurnom)
{
?>
<center><table border=outset bgcolor="grey"><td width = 300><center>Confirmer vos choix :<br><br><center>
<?php
$CompareNomEleve2=mysql_fetch_array($ListerNomEleve2);
if ($ma_valeurnom!=$CompareNomEleve2['Nom_Eleve2'])
{
mysql_query("UPDATE Info_PC_IRIS2 SET Nom_Eleve2='$ma_valeurnom' WHERE Info_PC_IRIS2.Adresse_Mac2='$ma_valeurmac'");
echo "Dedan<br>";
}
else
{
echo " Ce Nom est deja associé à une Adresse Mac<br>";
}
echo "L'eleve <i><b>$ma_valeurnom</b></i> va avoir l'Adresse Mac <i><b>$ma_valeurmac</i></b>";
?>
</form>
<input type="button" onclick="history.go(-1)" value="Retour"></center>
<?php
}
Voilaa, merci d'avoir pris la peine de lire ce message
Coordialement,
ElevedIRIS.
Au debut je recupere ca :
Host Max-PC.iris (192.168.0.10) appears to be up.
MAC Address: 00:xx:xx:xx:xx:xx (Unknown)
Aprés je fais en sorte d'affichere que les ligne contenant 00:, ca m'affiche ca :
MAC Address: 00:xx:xx:xx:xx:xx (Unknown)
Puis je lui demande de couper les caractere et de garder seulement du 14eme au 32 eme et j'obtient :
00:xx:xx:xx:xx:xx
00:xx:xx:xx:xx:xx
etc
Donc la séparation entre chaque adresse .. je dirais le retoure a la ligne, une ligne une adresse non ?
while (!feof($fichier))
{
$ligne = fgets($fichier,4096);
$tableauValeurs= explode("\n",$ligne);
mysql_query("INSERT INTO Info_PC_IRIS (Adresse_Mac) VALUES ('$tableauValeurs[0]', '$tableauValeurs[1]');");
echo "<br>";
}
fclose($fichier);
echo "Scan Terminé, il y a actuellement $i post sur le reseaux. <br>";
?>
J'ai essayé de faire une variable par ligne comme tu ma dis, et ca me renvoie :
Array s'too
Et bien voila .. me revoila x)
J'ai encore un souci avec Mysql .. j'aurais bien continué à chercher, sauf que je suis en vacance ce soir, et que pour mon programme j'ai besoin d'etre au lycée pour qu'il fonction, il releve les adresses mac du reseaux :
Si l'utilisateur appuye sur Scan, Ca va lancer ca :
<?
if($ScanValider=="Scanner")
{
exec('/usr/lib/cgi-bin/ScriptScanAdresseMac.cgi');
$cmd = exec('/usr/lib/cgi-bin/ScriptScanAdresseMac.cgi');
if (file_exists("/var/www/ProjetBTS1/recupfinish.php"))
{
?>
<center>
<TABLE border=outset width="600" height="50" bgcolor="grey">
<td>
<center>
<center><table border=outset width=900 bgcolor="grey">
<td colspan=3 bgcolor="white">
<h2><center>Compte rendu du Scan effectué :</center></h2></td>
<tr>
<td>
<?
$fp = fopen("/var/www/ProjetBTS1/recupfinish.php","r+"); //lecture du fichier
$i = 0; //on définit la variable $i qui sera notre nombre que l'on incrémentera. Ici $i va commencer à 0
while (!feof($fp))
{ //on parcourt toutes les lignes
$ligne[$i] .= fgets($fp); // lecture du contenu de la ligne
echo $ligne[$i];
mysql_query("INSERT INTO Info_PC_IRIS (Adresse_Mac) VALUES ('$ligne[$i]');");
$i++;
echo "<br>";
}
echo "Scan Terminé, il y a actuellement $i post sur le reseaux. <br>";
?>
<tr>
<td>
<center><input type="button" onclick="history.go(-1)" value="Retour"></center>
<?
}
else
{
?>
<center>
<TABLE border=outset width="600" height="50" bgcolor="grey">
<td>
<center>
Le Scan a echoue.
</center>
</TABLE>
<td>
<input type="button" onclick="history.go(-1)" value="Retour">
<?
}
}
Voici le script en Shell qui s'execute :
# Suppression du fichier temporaire
if [ -f /var/www/ProjetBTS1/recuptest.php ]
then sudo rm /var/www/ProjetBTS1/recuptest.php
fi
if [ -f /var/www/ProjetBTS1/recupfinish.php ]
then sudo rm /var/www/ProjetBTS1/recupfinish.php
fi
# Trims out only relevant lines
sudo nmap -sP 192.168.0.0/24 > /var/www/ProjetBTS1/recuptest.php
grep '^[MAC]' /var/www/ProjetBTS1/recuptest.php | cut -c 14-31 > /var/www/ProjetBTS1/recupfinish.php
Je recupere bien mes adresses mac, et quand je lance le scan j'obtient :
00:xx:xx:xx:xx:xx
00:xx:xx:xx:xx:xx
00:xx:xx:xx:xx:xx
00:xx:xx:xx:xx:xx
etc
Scan Terminé, il y a actuellement 25 post sur le reseaux.
Et ca me recupere bien chaque adresse mac du reseaux.
Le souci, c'est que dans ma base de donnée, ca me rentre que la premiere adresse mac dedan :X
Heu non j'ai seulement ca :
J'ai remplacé mes deux lignes par ta ligne :
Et ..
AVANT
Andres
APRES
APRES WHILE
Omg ca marche .. O.O
Jtaime ! xD
Franchement merci je vais pouvoir avancer ca gere
Thx a toi Maljuna Kris et merci aussi à toi xTG *_*
-------------------
Maintenant que ca, ca fonctionne, j'essaye de recuperer toute les adresses mac du reseaux, donc je creer un fichier .sh : (A mon avis je suis pu dans la bonne catégorie du forum :X)
# Suppression du fichier temporaire
rm /tmp/recupnom.php
# Recupere les informations
nmap -sP 192.168.0.0/24 >> /tmp/recupnom.php
# Affiche les Mac et les Nom
grep '.iris\|00:' /tmp/recupnom.php
Car je veux recuperer les adresse mac et le nom de la machine de chaque post.
Je recupere ceci pour le .iris :
Host Max-PC.iris (192.168.0.10) appears to be up.
etc
Je recupere ceci pour le 00: :
MAC Address: 00:**:**:**:**:** (Intel Corporate)
etc
Ce que je voudrais faire, c'est recuperer juste l'adresse mac sous forme de variable $adresse_mac 00:**:**:**:**:**et idem pour le nom de la machine : Max-PC.iris $nom_machine
Et qu'en suite, ces variables s'enregistre dans la base de donnée.
Pour l'enregistrement je sais faire je crois, mais avec le fichier .sh .. je galere en shell xD
Encore merci pour tout
Pour resumer mon probleme :
J'affiche dans une liste déroulante la base de donnée ou son stocké les adresses mac.
Donc dans la liste déroulante on aura toute les adresses qui s'affichent. En séléctionnant celle qu'on veut, puis en cliquant sur un bouton Ok, je veux obtenir cette adresse dans une variable.
Cette variable j'arrive a l'afficher et j'obtient bien l'adresse mac séléctionné.
Mais des que je veux l'utiliser dans une requete pour ma base de donnée, comme ceci :
Avec $ma_valeur qui correspond à mon adresse mac, ca me met que cette variable ne contient rien.
=> Je veux afficher le Nom de la personne qui possede cette adresse mac.
je sais pas si tu vois mieux le context.
Eh beh si tout ça se fait en PHP je resterai abasourdi !
Pour le contrôle de PC c'est totalement impossible sans installer un logiciel sur tous les PCs à ce que je sache. Personnellement j'utilise LogMeIn qui permet d'avoir une interface web pour le contrôle. Mais vu que pour ton cas il s'agit d'une utilisation professionnelle cela passe payant...
Non non ce n'est pas payant, je suis en BTS IRIS 2eme année et mon projet BTS c'est de rendre la ligne ADSL securisable et administrable via un administrateur.
Voila ce qu'on me demande :
Afin d'utiliser le réseau internet dans un cadre pédagogique sans être dépendant du réseau de l'établissement, les sections IRIS et IG du lycée *************** sont équipées depuis octobre 2009 d'une liaison internet indépendante. L'objectif du projet est de réaliser un serveur permettant le contrôle des connexions ainsi que l'hébergement de services divers. Le serveur devra agir sur deux zones privées (IG, IRIS) et devra permettre aux enseignants de gérer les connexions de manière indépendante.
__________________
Fonctions à développer et tâches à effectuer
Etudiant 1 :
M ............................
Réalisation d'une interface d'enregistrement des utilisateurs.
Mise en œuvre et paramétrage d'un serveur mail. Une interface permettra la création d'emails ainsi que la création d'une zone de partage.Etudiant 2 :
M ............................Installation et paramétrage du proxy avec partage de débit.
Réalisation d'une interface de contrôle du proxy.
Donc aprés la personnalisation c'est moi qui vois, mais comme j'adore le language informatique et que l'année prochaine je souhaite continuer vers une licence pro CISI, il faudrait que je m'améliore un peu donc je rajoute un peu de truc à ma sauce :X
J'essaye de regler le petit souci que j'ai avec ma liste déroulante qui affiche mes adresses mac, et je m'attaque à tout ce que tu m'as répondu, je te remercie pour tes informations, je vais aller potasser cela
Dans ta boucle while tu crées des <option>s qui ont toutes la même value="1", c'est plutôt ballot.
Awi désolé, erreur de ma pars. C'est bien le fait de cliquer sur le bouton qui va valider mon choix.
______________________
En faite ma liste déroulante se trouve dans le fichier : index.php et plus précisement dans la partie : if ($Choix=="Choix2") {}
Le fait de cliquer sur le bouton [Ok] va envoyer les informations dans ce meme fichier : index.php et donc pour afficher uniquement ce que je souhaite, j'ai mis une value="1" et en bas de la page index.php j'ai : if ($mon_champ >=1) {}
Je vois pas si tu vois pourquoi je fais ca, mais tu pense que le souci vienne du faite que j'affecte la meme valeur à toutes les options que j'aurais ? ( Désolé si je comprend mal ce que tu essaye de me dire)
J'ai rajouté l'action, mais comme c'était dans le meme fichié je pensais que c'était négligeable ;O
Enfin cela ne change pas, je n'obtient toujours pas le nom :X
<center>
<TABLE border=outset width=600 bgcolor="grey">
<td colspan=4 bgcolor="white">
<h3><center>Vous avez choisi de gérer les BTS IRIS</center></h3></td>
<tr>
<td><center>Choisissez l adresse MAC d un Poste :
<form name='formulaire' method='post' action='index.php'>
<select name="mon_champ" onchange="change(this.options[this.selectedIndex].innerHTML)">
<?php
$result = mysql_query("SELECT Adresse_Mac FROM Info_PC_IRIS ORDER BY Adresse_Mac ASC;");
while ( $r = mysql_fetch_array( $result ))
{
printf("<option value=\"%s\">%s</option>",$r['Adresse_Mac'],$r['Adresse_Mac']);
}
?>
</select>
<input type="hidden" name="ma_valeur" id="new_valeur" />
<input type="submit" value="Ok"/>
</form>
</TABLE></TABLE></div>
J'ai ceciii pour afficher ma liste déroulante :
<center>
<TABLE border=outset width=600 bgcolor="grey">
<td colspan=4 bgcolor="white">
<h3><center>Vous avez choisi de gérer les BTS IRIS</center></h3></td>
<tr>
<td><center>Choisissez l adresse MAC d un Poste :
<form method="POST">
<select name="mon_champ" onchange="change(this.options[this.selectedIndex].innerHTML)">
<?php
$result = mysql_query("SELECT Adresse_Mac FROM Info_PC_IRIS ORDER BY Adresse_Mac ASC;");
while ( $r = mysql_fetch_array( $result ))
{
?>
<OPTION VALUE="1">
<?
echo $r['Adresse_Mac'];
}
?>
</select>
<input type="hidden" name="ma_valeur" id="new_valeur" />
<input type="submit" value="Ok"/>
</form>
</TABLE></TABLE></div>
Donc j'ai ceci en haut de ma page comme script :
Et donc pour recuperer la variable j'avais mis ceci dans la page que je recois :
Et donc si j'ai compris, je devrait utiliser la méthode GET et non POST ?
Ok j'essaye ca demain à la premiere heure au lycée, ca fais plaisir d'etre aider aussi rapidement et de pouvoir avancer, encore merci
Voila je ne savais pas ou poster donc je post ici, j'espere pas me tromper.
Je vais vous expliquer brievement ce que je fais :
Suis à la mise en ligne d'une nouvelle ligne ADSL pour l'établissement ou je travail, c'est moi et ma binome qui en sommes responsables.
Les posts ayant accés à cette ligne, seront en reseaux locals.
Il y aura donc deux sous reseaux, les BTS IRIS et les BTS IG.
~> Partie installation :
Je dois gerer la connexion ADSL de facon a partager le débit de facon équitable (Ou un peu plus aux IRIS qui télécharge souvent). Donc on doit installer un serveur DHCP (Fais sous virtual Box qui va gerer les IP des post .. environ 70 en comptant les deux reseaux, donc IP dynamique) un serveur DNS ( Idem, réalisé sur virtual Box en attendant), un serveur mail ( On a pensé a Postfix .. mais on galerer pour la config actuellement qui doit permettre d'attribuer une adresse mail par utilisateur). Ensuite on doit gerer le proxy ( Donc on a installé Squid et Squid Guard pour la black list ).
Maintenant que vous savez globalement ce que je dois faire, je vais rentrer dans les details, afin d'avoir vos avis
Doonc ..
Pour ce qui es de la partie language internet, j'ai le choix entre : PHP/JAVA et je peut utiliser du QT.
Voici le panneau principale : (La partie IG n'est pas faite, je fais deja la partie IRIS)
<BODY>
<form name='formulaire' method='post' action='index.php'>
<center><table border=outset width="800" height="500" bgcolor="grey">
<tr>
<td>
<center>Que voulez vous surveiller ?</center></li>
</td>
</tr>
<tr>
<td>
<input type="radio" name="client" value="Choix1">Liste des Postes connectés au Réseau.<br>
<center><textarea name="message" rows=1 cols=100>
Vous allez pouvoir regarder tout les postes étant actuellement connectés au reseaux.
</textarea><br><br></center>
<input type="radio" name="client" value="Choix2">Contrôler un Poste grâce à son adresse MAC.<br>
<center><textarea name="message" rows=1 cols=100>
Vous pourrez acceder aux coordonnées de la personnes grace à son adresse MAC, et vous pourrez lui couper l'accés à internet si vous le souhaitez.
</textarea><br><br></center>
<input type="radio" name="client" value="Choix3">Liste des Eleves sur chaque Réseau.<br>
<center><textarea name="message" rows=1 cols=100>
Vous allez pouvoir regarder combien d'éléves sont actuellement registrés dans chaque section, et ainsi regarder quel poste leur à était assigné.
</textarea><br><br></center>
<input type="radio" name="client" value="Choix4">Configuration du Proxy et de Squid.<br>
<center><textarea name="message" rows=1 cols=100>
Vous pourez modifier les parametres du proxy et de Squid, ainsi que gerer l'acces au Prxoy pour les BTS IRIS et IG.
</textarea><br><br></center>
</tr>
</table>
<input type='submit' name='PasserEtape1' value='Valider' >
</BODY>
</HTML>
En fonction du choix, ca va m'envoyer plusieur interface :
Je dois creer des interfaces, j'ai choisie PHP et JAVA plutot que QT, qui permettent de gerer : (Depuis un administrateur)
Le choix est envoyé dans le fichié suivant :
<script type="text/javascript">
function change(valeur)
{
document.getElementById('new_valeur').value= valeur;
}
</script>
<!--
######################################################################################################################
######################################################################################################################
<SCRIPT language="Javascript">
function Lien()
{
i = document.Choix.Liste.selectedIndex;
if (i == 0) return;
url = document.Choix.Liste.options[i].value;
parent.location.href = url;
}
</SCRIPT>
######################################################################################################################
######################################################################################################################
-->
</head>
<body bgcolor="pink">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
##########################################################################################################################################
################# Connexion a la base de donnee ###########################################################################################
mysql_connect("localhost","*****","*****");
mysql_select_db("Projet");
##########################################################################################################################################
##########################################################################################################################################
$Choix=$_POST['client'];
$mon_champ = $_POST['mon_champ'];
$ma_valeur = $_POST['ma_valeur'];
?>
ICI CHOIX 1, CHOIX 2 etc (Que j'ai copié collé aprés)
<?php
#########################################################DEBUT INDEX NON CHOIX###########################################################
##########################################################################################################################################
if ($mon_champ >=1)
{
?>
<center>
<TABLE border=outset width=1100 bgcolor="grey">
<td colspan=4 bgcolor="white">
<center><font size=5><span style="font-style: italic;">Information sur l'adresse Mac </span></font><b><font COLOR="#FF0000="><? echo $ma_valeur; ?></b> </font></center></td>
<tr>
<form method="POST">
<td>
<center>Autoriser l accés à internet au post correspondant à cette Adresse Mac ? <br>
<input type="radio" name=client value="Choix 1" checked>Oui
<input type="radio" name=client value="Choix 2">Non
<td>
<center><input type="submit" value="OK"/></center>
</TABLE>
</form>
<center>
<TABLE border=outset width="1000" bgcolor="grey">
<br>
<td colspan=3 bgcolor="white">
<center><font size=5><span style="font-style: italic;">Informations relatives à l adresse MAC choisie :</span></font></center>
<tr><td>
<TABLE border=outset height="100" width="1000">
<td>
<img src="http://img532.imageshack.us/img532/8172/planirisbis.png">
<td>
<ul type ="square">
<li>Nom de la personne :<br><br>
<li>Prénom :<br><br>
<li>Adresse Mail :<br><br>
<li>Numero du Post :<br><br>
<td></ul>
Affichage des info a propos de
<?php
echo $ma_valeur;
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS INNER JOIN Info_PC_IRIS ON eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS WHERE Adresse_Mac ='$ma_valeur'");
echo $ChoixAffichage;
echo "<br>AVANT WHILE<br>";
while ($LectureAffichage=mysql_fetch_assoc($ChoixAffichage))
{
echo "<br>AVANT<br>";
echo "<table border=outset><td>";
echo $LectureAffichage['Nom'];
echo "<br>APRES</td></table><br>";
}
echo "<br>APRES WHILE<br>";
?>
</TABLE></TABLE></div>
<center>
<input type="button" onclick="history.go(-1)" value="Choisir une autre Adresse Mac"></center>
<?php
}
mysql_close();
?>
</body>
</html>
-Interface connexion:
Chaque eleve possede un post. A la premiere connexion un script doit se lancer des qu'il demande à acceder a Internet (Donc en passant par le proxy Squid) afin de demander une identification. L'eleve rentrera son nom et prenom, (normalement un administrateur aura rentré dans la base de donnée SQL les nom et prenom de tout les eleve) et si son nom et prenom est dans la base de donnée, l'identification est réussie, sinon il n'a pas accés a internet.
=> Le souci ? Le script doit se lancer chaque moi uniquement, et des que l'utilisateur se connecte, il doit etre afficher dans l'interface qui suis afin de montrer qu'il es connecté :
- Interface qui indique quels sont les élèves présents sur le reseaux, donc ceux qui ont demandé l'accés à internet :(Accessible uniquement par l'Admin)
=> Le petit souci c'est que je voudrais relever les ordinateurs connecté en fonction de leur adresse mac, mais j'ai actuellement un souci pour relever les adresses mac, il me faut un script qui me permette de relever toute les adresses mac du reseaux locals.
<h2>PC actuellement connecté au réseaux</h2>
<tr>
<td colspan=3><center>Liste des PC actuellement connectés (EN LIGNE : <img src="http://www.world-of-warriors.com/templates/Warriors/images/online.png"> / HORS LIGNE : <img src="http://img705.imageshack.us/img705/3279/giiifoffine.png">)
</tr>
<td><center>
Pour le moment rien
<td><center>
ON
</table></center>
<p><p>
<hr width =30% size =3></hr>
<p><p>
'?>
<center>
<table>
<td>
<input type="button" onclick="history.go(-1)" value="Retour">
<td>
<button onclick="javascript:location.reload();">Actualiser</button>
</table>
</center>
<?
}
?>
-Controler un post a distance
Je dois pourvoir gerer un post depuis le pc Admin, donc je doit pouvoir couper la connexion a un post sur le reseaux quand je veux. Pour l'instant j'essaye d'affichage le Nom, Prenom et l'endroit dans la salle ou il es situé, en fonction de son adresse mac.
=> Je cherche et j'ai posté sur ce forum justement.
OUPS : Je vien de m'appercevoir que j'avais pas mis la derniere version, j'ai modifié.
?>
<center>
<TABLE border=outset width="600" height="50" bgcolor="grey">
<td>
<center>
Quel classe choisissez vous de contrôler ?
BTS IRIS <input type="radio" name="affiche" value="oui" onClick="afficher();"/>
BTS IG <input type="radio" name="affiche" value="non" onClick="cacher();"/>
</center>
</TABLE>
<hr width =30% size =3></hr>
<div id="champ_cacheiris">
<center>
<TABLE border=outset width=600 bgcolor="grey">
<td colspan=4 bgcolor="white">
<h3><center>Vous avez choisi de gérer les BTS IRIS</center></h3></td>
<tr>
<td><center>Choisissez l adresse MAC d un Poste :
<form method="POST">
<select name="mon_champ" onchange="change(this.options[this.selectedIndex].innerHTML)">
<?php
$result = mysql_query("SELECT Adresse_Mac FROM Info_PC_IRIS ORDER BY Adresse_Mac ASC;");
while ( $r = mysql_fetch_array( $result ))
{
?>
<OPTION VALUE="1">
<?
echo $r['Adresse_Mac'];
}
?>
</select>
<input type="hidden" name="ma_valeur" id="new_valeur" />
<input type="submit" value="Ok"/>
</form>
</TABLE></TABLE></div>
<div id="champ_cacheig">
<center><table border=outset width=900 bgcolor="grey">
<td colspan=3 bgcolor="white">
<h2><center>Vous avez choisi de gérer les BTS IG</center></h2></td>
<tr>
<td>
<center><br>Choisissez l adresse MAC d un Poste :
<form method="POST">
<select name="AdresseIPPosteIG">
<option>00:1c:c0:f2:98:31</option>
<option>00:1c:c0:f2:97:96</option>
<option>00:1c:c0:f2:98:31</option>
<option>00:1c:c0:f2:97:96</option>
<option>00:1c:c0:f2:98:31</option>
<option>00:1c:c0:f2:97:96</option>
</select></form>
<td>
<center>Autoriser l accés à internet au post correspondant à cette IP ? <br>
<input type="radio" name=client1 value="Choix 3" checked>Oui
<input type="radio" name=client1 value="Choix 4">Non</center>
<td>
<input type="submit" value="OK"/>
</TABLE>
<center>
<TABLE border=outset width="1000" bgcolor="grey">
<br>
<td colspan=3 bgcolor="white">
<h2 size="17"><center>Informations relatives à l adresse MAC choisie :</center></h2><tr>
<td>
<TABLE height="100" width="1000">
<td>
<img src="http://img532.imageshack.us/img532/8172/planirisbis.png">
<td>
<ul type ="square">
<li>Nom de la personne :<br><br>
<li>Prénom :<br><br>
<li>Adresse Mail :<br><br>
<li>Numero du Post :<br><br>
<td>
<input type="text" Name=Nom><br><br>
<input type="text" Name=Prenom><br><br>
<input type="text" Name=AdresseM><br><br>
<input type="text" Name=NumeroPost><br><br>
</ul>
</table></table></div>
<center>
<table>
<td>
<input type="button" onclick="history.go(-1)" value="Retour Menu Principal">
</table>
</center>
</p>
<script type="text/javascript">
document.getElementById("champ_cacheiris").style.display = "none";
function afficher()
{
document.getElementById("champ_cacheiris").style.display = "block";
document.getElementById("champ_cacheig").style.display = "none";
}
document.getElementById("champ_cacheig").style.display = "none";
function cacher()
{
document.getElementById("champ_cacheig").style.display = "block";
document.getElementById("champ_cacheiris").style.display = "none";
}
</script>
<?php
}
?>
-Un listing des eleves
Je dois pouvoir savoir quels sont tout les eleves qui se sont deja connecté au moin une fois :
=> Pour le moment j'ai seulement relevé toutes les personnes qu'on a entrés dans la bases de données.
if ($Choix=="Choix3")
{
echo '
<center><table border=outset bgcolor="grey" width="2000">
<h2>Liste des élèves sur le réseau IRIS et IG.</h2>
<table border=outset bgcolor="grey" width="1000">
<td>
<br><center><img src="http://alexmouth.no-ip.org/nav/nav_9_bts_tv.gif"></center>
<hr width =30% size =3></hr>
<center>
<table bgcolor="grey" width="950">
<ul type ="square">
<td>
<li>Liste des Eleves de BTS IRIS 1ere année :<p>';
######
$affichagenomBD = mysql_query("SELECT * FROM eleve_IRIS LIMIT 0, 40");
echo "<center><table border=1 cellpadding=1 bgcolor=grey width=50%>";
echo "
<td colspan=1><h><b><center>Nom</center></h></b>
<td colspan=1><h><b><center>Prenom</center></h></b>
<td colspan=1><h><b><center>Adresse mail</center></h></b>";
while ($boucle = mysql_fetch_array($affichagenomBD))
{
echo "
<tr>
<td align = left>";
echo $boucle[Nom];
echo "<td>";
echo $boucle[Prenom];
echo "<td>";
echo $boucle[AdresseMail];
echo"
</td>
</tr>";
}
echo "</table></center>";
echo"<br>";
echo '
<td>
<li>Liste des Eleves de BTS IRIS 2eme année :<p>
</ul>
</table></table></center><p>
<center><table border=outset bgcolor="grey" width="1000">
<td>
<br><center><img src="http://img707.imageshack.us/img707/8250/61891109.gif"></center>
<hr width =30% size =3></hr>
<center><table bgcolor="grey" width="950">
<ul type ="square">
<td>
<li>Liste des Eleves de BTS IG 1ere année :<p>';
######
$affichagenomBDbis = mysql_query("SELECT * FROM eleve_IG LIMIT 0, 40");
echo "<center><table border=1 cellpadding=1 bgcolor=grey width=50%>";
echo "
<td colspan=1><h><b><center>Nom</center></h></b>
<td colspan=1><h><b><center>Prenom</center></h></b>
<td colspan=1><h><b><center>Adresse mail</center></h></b>";
while ($bouclebis = mysql_fetch_array($affichagenomBDbis))
{
echo "
<tr>
<td align = left>";
echo $bouclebis[Nom];
echo "<td>";
echo $bouclebis[Prenom];
echo "<td>";
echo $bouclebis[AdresseMail];
echo"
</td>
</tr>";
}
echo "</table></center>";
echo "
<td>
<li>Liste des Eleves de BTS IG 2eme année :<p>
</ul>
</table></table></table>
<p></center>
"?>
<center>
<table>
<td>
<input type="button" onclick="history.go(-1)" value="Retour">
<td>
<button onclick="javascript:location.reload();">Actualiser</button>
</table>
</center>
<?
}
?>
-Le proxy : (Accessible uniquement par l'Admin)
* Couper l'accé a internet d'un post.
* Couper l'accé a internet au reseau IRIS/IG.
* Pouvoir le modifier grace a mon interface.
=> Sur virtual box, le proxy actuel de l'etablissement me fais **** donc je peut pas test si ca fonctionne, donc la pas de soucy. J'attend qu'on le mette sur la ligne ADSL pour commencer a faire les variables etc.
<center>
<table border=outset width="700" height="50" bgcolor="grey">
<h2>Configuration du Proxy et de Squid.</h2>
<tr><td colspan=3>
<h2><center>Parametrage du Squid.</center></h2>
</tr></td>
<td>
<FORM METHOD="POST" ACTION="../../cgi-bin/squidconf.cgi">
<li>Nom du Proxy</li>
<td>
<input name="hote" value="test">
<tr>
<td>
<li>Numero du port</li>
<td>
<input size="6" maxlength="6" name="port" value="1664">
<tr>
<td>
<li>IP de l interface d ecoute</li>
<td>
<input size="3" maxlength="3" name="interface" value="192">.
<input size="3" maxlength="3" name="interface1" value="168">.
<input size="3" maxlength="3" name="interface2" value="1">.
<input size="3" maxlength="3" name="interface3" value="1">
</center>
<tr>
<td>
<li>Ip du Masque sous-reseau</li>
<td>
<input size="3" maxlength="3" name="masque1" value="255">.
<input size="3" maxlength="3" name="masque2" value="255">.
<input size="3" maxlength="3" name="masque3" value="255">.
<input size="3" maxlength="3" name="masque4" value="0">
<tr>
<td>
<li>Voulez vous passer par Squid ?</li>
<td>
<select name="ActiverSquid">
<option>Oui</option>
<option>Non</option>
</select><br>
<tr>
<td colspan=3><center>
<input type="reset" value="Reset" class="bouton">
<input type="submit" value="Envoi" class="bouton">
</table>
<table border=outset width="700" height="50" bgcolor="grey">
<br>
<tr><td colspan=3>
<h2><center>Parametrage du Proxy.</center></h2>
</tr></td>
<FORM METHOD="POST" ACTION="">
<tr>
<td>
<input type="checkbox" name="proxy" value="ouiIRIS" checked="checked"> Autorisez l accés du PROXY aux IRIS<br>
<tr>
<td>
<input type="checkbox" name="proxy" value="ouiIG" checked="checked"> Autorisez l accés du PROXY aux IG
<tr>
<td colspan=3><center>
<input type="reset" value="Reset" class="bouton">
<input type="submit" value="Envoi" class="bouton">
</center></table>
<p><p>
<hr width =30% size =3></hr>
<p><p>
'?>
<center>
<table>
<td>
<input type="button" onclick="history.go(-1)" value="Retour">
<td>
<button onclick="javascript:location.reload();">Actualiser</button>
</table>
</center>
<?
}
?>
<?
mysql_close();
?>
</body>
</html>
Pour ce qui es de l'interface Admin ( Qui permet de rajouter des eleves dans la base de donnée ) Et l'interface utilisateur ( Ou l'utilisateur va se logger), je les posterais plus tard, car pour le moment je cherche surtout :
- Comment relever les Adresses Mac de tout les PC sur le reseaux Locals (Unix/Windows) .. Je voulais un script (Php ou autre ) pour que l'Admin puisse le reexecuter plusieur fois si il y a du changement (Actuellement je suis obligé de faire un ifconfig sur chaque post .. puis de tout rajouter dans la base de donnée)
-Pour autoriser/refusé à un post l'accé à internet, je ne peut pas passer par les IP car je suis en IP Dynamique, donc je pense passer par les adresses mac .. qu'en dites vous ? Et pour bloquer, je penser rajouter dans la blacklist un groupe : EleveIRIS (par exemple) et qu'on puisse rajouter les adresses dedant ..
-Savoir comment, si l'utilisateur clique sur une application, cela demande l'accé au proxy et que ca lui ouvre l'interface utilisateur que j'ai creer en PHP. Mais qu'il ne puisse pas accéder à internet tant qu'il ne s'est pas enregistrer, donc quu'il ne puisse pas changer l'url pour taper www.google.fr par exemple.
-Si ya un pti truc sympa qui permet de rafraichir une page automatiquement toute les 5 minutes (par exemples) pour que l'Admin voye en temps reels qui es connecté sur internet. ( Lors d'un DS par exemple ou internet est interdit par exemple )
- Si vous voyez des ptits trucs simpa a rajouter a mon projet pour personnaliser .. ou si vous voulez plus d'informatiions, demandez moi
Je demande ca maintenant, mais ca ce trouve en cherchant encore plus sur le net, je peut trouver mais pour le moment je suis a fond sur les adresses mac, et je stagne depuis 3 semaines, donc je demande de l'aide un pti peu :X
Voila merci a ceux qui voudrons m'aider
Le souci, c'est que je clique pas sur un bouton pour valider mon choix, c'est juste le fais de choisir une adresse dans la liste déroulante, un $_POST ou un $_GET s'impose comme meme ?
Je testerais au lycée, j'ai pu mes identifiants sur l'unix de mon portable là x)
Merci encore des réponses
Justement elle n'est pas déclarée puisque je ne fais qu'afficher la valeur qu'on à séléctionné dans ma liste déroulante.
Le fait est que je ne peut pas la déclarer puisque sa valeur change en fonction du choix qu'on va selectionner dans la liste déroulante.
J'ai essayé de faire un truc du genre :
$CaseTest=$ma_valeur;
Puis d'utiliser $CaseTest dans cette ligne :
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS INNER JOIN Info_PC_IRIS ON eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS WHERE Adresse_Mac ='$CaseTest'")
Mais cela ne change rien du tout
Donc il faudrait que je déclarer ma variable aprés le choix de la selection .. Hum je vois pas comment faire :X
Ok je recommence désolé.
J'ai ceci :
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS INNER JOIN Info_PC_IRIS ON eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS WHERE Adresse_Mac ='$ma_valeur'");
echo $ChoixAffichage;
echo "<br>AVANT WHILE<br>";
$LectureAffichage=mysql_fetch_assoc($ChoixAffichage);
echo "<br>AVANT<br>";
echo "<table border=outset><td>";
echo $LectureAffichage['Nom'];
var_dump($LectureAffichage);
echo "<br>APRES</td></table><br>";
echo "<br>APRES WHILE<br>";
?>
</TABLE></TABLE></div>
<center>
<input type="button" onclick="history.go(-1)" value="Choisir une autre Adresse Mac"></center>
La ca ne fonctionne pas, comme si $ma_valeur ne contient rien, comme si elle n'était pas déclarée en faites.
Et si je rajoute ceci :
$ma_valeur=00:1c:c0:f2:98:3a;
Avant cette ligne :
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS INNER JOIN Info_PC_IRIS ON eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS WHERE Adresse_Mac ='$ma_valeur'");
Dans ce cas, il m'affichera bien le Nom correspondant à cette Adresse Mac.
J'en conclue que je ne peut qu'afficher $ma_valeur, mais je ne peut pas l'utiliser, a moin de la redéclarer juste avant. (Je me trompe peut etre sur toute la ligne et je sais pas si je suis clair =/)
-----------------------
Mon autre souci, c'est que je suis responsable de mon reseaux local, et je dois savoir toute les adresses mac de chaque post qui utilisent mon reseaux, pour savoir qui es connectés dessus en temps voulu.
Et cela doit fonctionner sur Windows, Unix etc.
Donc je cherche un script qui permet de le faire. On ma conseillé Soft Perfect Network Scanner (Fonctionne que sur Windows je crois),jdk/jre < 1.6 (En java je crois) etc, je voulais voir ce que vous me conseillez.
(Je sais pas si je dois refaire un post pour ca, ou si je peut poster sur mon post)
C'est ca le souci, j'arrive a lire la valeur que l'on selectionne dans la liste, je l'affecte a une variable et j'arrive à l'afficher .., mais il ne fait que l'afficher .. il ne "garde" pas cette valeur si je veux l'utiliser.
Et franchement je vois pas quoi faire .. J'ai essayé de réafecter cette variable a une autre variable, mais c'est le meme souci.
Ca fonction que si je met :
$ma_variable=00:55:etc..;
Que si je la réafecte en gros =/
Et j'ai besoin de ca, puisque en fonction de l'adresse mac que j'aurais rentré dans la base de donnée (D'ailleur je vais recreer un topic pour ca car je dois faire en sorte que je puisse recevoir toute les adresse mac des pc du reseaux local afin de ne pas faire un ifconfig sur chaque post pour rentrer tout a la main).
Enfin si vous pouvez encore m'aider .. car la je suis un peu perdu x)
Donc j'ai remplacé
echo $LectureAffichage['Nom']; par var_dump($LectureAffichage);
Pour qu'on voye la difference, j'ai supprimé le while et j'ai mis :
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS INNER JOIN Info_PC_IRIS ON eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS WHERE Adresse_Mac ='$ma_valeur'");
echo $ChoixAffichage;
echo "<br>AVANT WHILE<br>";
$LectureAffichage=mysql_fetch_assoc($ChoixAffichage);
echo "<br>AVANT<br>";
echo "<table border=outset><td>";
echo $LectureAffichage['Nom'];
var_dump($LectureAffichage);
echo "<br>APRES</td></table><br>";
echo "<br>APRES WHILE<br>";
?>
Et voici ce qu'il me met :
----------------------------------
Affichage des info a propos de 00:1c:c0:f2:98:3a Resource id #3
AVANT WHILE
AVANT
bool(false)
APRES
APRES WHILE
----------------------------------
Mais ca ne fonctionne toujours pas ='(
Je testerais ca des que j'aurais accé à la base de donné du lycée, c'est à dire Lundi, mais encore merci pour vos réponses
J'espere sincérement que a va marcher, et merci pour les conseils ^^
Pour le $LectureAffichage['Nom'] cela change vremment quelque chose ? Car avec ou sans cela ne change rien, mais je prefere suivre tes conseils et les mettre ^^
Pour ce qui es des mysql_fetch, j'ai suivi le cours sur :
http://www.php.net/manual/fr/function.m … -assoc.php
Je trouve ce site trés bien, j'avais testé tout les types qu'ils me proposaient, mais je pense que celui qui me convenait le mieux était :
mysql_fetch_assoc($ChoixAffichage) ou mysql_fetch_assoc($ChoixAffichage, MYSQL_ASSOC) je suis pas sur
Mais dans tout les cas cela ne fonctionne pas =/
Cela fonction que si je met par exemple:
Je créer une Adresse_Mac dans la base de donnée qui à pour valeur : '1:5 ' .
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS INNER JOIN Info_PC_IRIS ON eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS WHERE Adresse_Mac ='$ma_valeur'");
echo $ChoixAffichage;
echo "<br>AVANT WHILE<br>";
while ($LectureAffichage=mysql_fetch_assoc($ChoixAffichage))
{
echo "<br>AVANT<br>";
echo "<table border=outset><td>";
echo $LectureAffichage['Nom'];
echo "<br>APRES</td></table><br>";
}
echo "<br>APRES WHILE<br>";
?>
La ca fonctionne .. mais uniquement je réafecte une valeur à ma variable avant de l'utiliser dans :
Enfin je sais pas trop comment expliquer ceci :X
Merci pour ta réponse rapide
Donc jpour la norme, ma binome me soutenait qu'on utilisait IN a la place de ="" .. Je vais pouvoir la charier, merci xD
Donc j'avais comme meme essayé avant avec le ="" et le souci est le meme :
echo "<br> AVANT AVANT WHILE<br>";
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS INNER JOIN Info_PC_IRIS ON eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS WHERE Adresse_Mac ='.$ma_valeur.'");
echo $ChoixAffichage;
echo "<br>AVANT WHILE<br>";
while ($LectureAffichage=mysql_fetch_array($ChoixAffichage))
{
echo "<br>AVANT<br>";
echo "<table border=outset><td>";
echo $LectureAffichage[Nom];
echo "<br>APRES</td></table><br>";
}
echo "<br>APRES WHILE<br>";
?>
</TABLE></TABLE></div>
<center>
<input type="button" onclick="history.go(-1)" value="Choisir une autre Adresse Mac"></center>
<?php
}
mysql_close();
?>
J'obtient :
Affichage des info a propos de 00:1c:c0:f2:98:3a
AVANT AVANT WHILE
Resource id #3
AVANT WHILE
APRES WHILE
Si je remplace Adresse_Mac ='.$ma_valeur.' par 00:1c:c0:f2:98:3a j'obtient ca :
Affichage des info a propos de 00:1c:c0:f2:98:3a
AVANT AVANT WHILE
Resource id #3
AVANT WHILE
AVANT
Spriet
APRES
APRES WHILE
Bonjour,
Suite à mon Projet BTS, je bloque à un endroit, et je suis tombé sur ce forum ou j'ai vu que vous etiez actif, sympatique et que vous avez l'air de vous y connaitre.
J'ai vu un sujet semblable, j'ai essayé de modifié ce qu'il y était dis, mais rien n'y fais ca bouge pas, donc voila mon souci :
Je dois parametrer un Proxy etc Creer des interfaces utilisateurs, administrateur etc et parmi ces interface j'en ai une qui me permet de reperer un eleve grace a son Adresse Mac que l'administrateur a rentré dans sa base de donnée MySQL.
J'ai ceci qui fonctionne trés bien : ( Ici l'administrateur choisie une adresse mac dans la liste déroulante .. c'est aprés le soucie)
<td>
<center>
Quel classe choisissez vous de contrôler ?
BTS IRIS <input type="radio" name="affiche" value="oui" onClick="afficher();"/>
BTS IG <input type="radio" name="affiche" value="non" onClick="cacher();"/>
</center>
</TABLE>
<hr width =30% size =3></hr>
<div id="champ_cacheiris">
<center>
<TABLE border=outset width=600 bgcolor="grey">
<td colspan=4 bgcolor="white">
<h3><center>Vous avez choisi de gérer les BTS IRIS</center></h3></td>
<tr>
<td><center>Choisissez l adresse MAC d un Poste :
<form method="POST">
<select name="mon_champ" onchange="change(this.options[this.selectedIndex].innerHTML)">
<?
$result = mysql_query("SELECT Adresse_Mac FROM Info_PC_IRIS ORDER BY Adresse_Mac ASC;");
while ( $r = mysql_fetch_array( $result ))
{
?>
<OPTION VALUE="1">
<?
echo $r['Adresse_Mac'];
}
?>
</select>
<input type="hidden" name="ma_valeur" id="new_valeur" />
<input type="submit" value="Ok"/>
</form>
</TABLE></TABLE></div>
Et voici la partie ou je stagne .. : (il ne rentre pas dans la boucle While .. j'ai testé des mysql_fetch_object .. _result .. etc tout ce qu'ai j'ai lu sur l'autre topic, mais rien .. cela ne m'affiche pas le Nom de la personne.. Si je remplace $ma_valeur par la valeur de l'adresse mac : 00:1c:c0:f2:98:3a (par exemple) qui es situé dans ma base de donné, la il m'affiche bien le Nom .. mais des que je remplace l'adresse Mac par la variable .. je n'ai rien et je ne vois pas quoi faire, donc je vien vous demander de l'aide.)
echo "<br> AVANT AVANT WHILE<br>";
$ChoixAffichage=mysql_query("SELECT Nom FROM eleve_IRIS, Info_PC_IRIS WHERE eleve_IRIS.Num_Post = Info_PC_IRIS.N_Post_IRIS AND Adresse_Mac IN ('".$ma_valeur."');");
echo $ChoixAffichage;
echo "<br>AVANT WHILE<br>";
while ($LectureAffichage=mysql_fetch_array($ChoixAffichage))
{
echo "<br>AVANT<br>";
echo "<table border=outset><td>";
echo $LectureAffichage[Nom];
echo "<br>APRES</td></table><br>";
}
echo "<br>APRES WHILE<br>";
?>
</TABLE></TABLE></div>
<center>
<input type="button" onclick="history.go(-1)" value="Choisir une autre Adresse Mac"></center>
<?
}
mysql_close();
?>
</body>
</html>
Voila je suis libre a tout idée pour améliorer et surtout resoudre le soucie pour que je puisse avancer =X
Merci bien
Pages : 1