[PHP]probleme requete snmp,afichage formulair

Résolu/Fermé
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 - 2 mai 2007 à 11:22
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 - 4 mai 2007 à 10:09
Bonjour,
on va déjà dire que je sui un débutant dans le php, en fait je fai mon stage en DUT réseaux et Télécom et jai un souci au niveau du projet qu'on m'a confié.

Premierement et celui qui m'enbete le plus, j'arive pas a envoyer ou reçevoir (je sais pas) des requete snmp et je reçoi l'erreur suivante:

Warning: snmpget() [function.snmpget]: Invalid object identifier: system.SysDescr.0 in C:\Program Files\EasyPHP 2.0b1\www\ajout2.php on line 9


et mon code est

            
                
A voir également:

10 réponses

alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 3
2 mai 2007 à 14:26
ouai coole le délire du formulaire marche, merci beaucoup, en fait c'était tout con j'ai carément honte :S


bon le formulaire de la requete SNMP,c'est celui la!

	<form method="post" action="ajout2.php" >

<CENTER>Entrer l'adresse IP de l'équipement à ajouter à la base :<input type="text" name="IP"></CENTER>
</br>
<CENTER>Entrer le nom de la communauté:<input type="text" name="communaute"></CENTER>
</br>
<CENTER>Entrer le nom sous lequel l'enregistrer:<input type="text" name="nom"></CENTER>
</br>

<CENTER><input type="Submit" value="Ajouter à la base"> </CENTER><!--bouton ajouter a la base-->

	</form>
	</br></br></br>

<?php




et le script qui est sencé se charger d'envoyer la requete et de l'afficher, c'est celui ci :


<?php



    if ($_POST['IP'] != NULL AND $_POST['communaute'] != NULL AND $_POST['nom'] !=NULL) // Si on a quelque chose à enregistrer
    {
		$message = snmpget($_POST['IP'],$_POST['communaute'], "sysDescr.0");?></br>
	
<?php}?>
l'adress IP est:  <STRONG><?php echo $_POST['IP']?></STRONG>,  la communauté est:  <STRONG><?php echo $_POST['communaute'] 
?></STRONG>  et le nom sous lequel cet équipement va être enregistré est :  <STRONG><?php echo $_POST['nom'] ?> </STRONG><br></br>

<?php
echo "message snmp et j'espere ca marche: $message";
}
else
{
$message2 = "Vous avez oublié de rentrer une ou plusieurs données, veuillez recommencer.";
echo "$message2";
}?> 



et la reponse que je recoi c'est ça:


Warning: snmpget() [function.snmpget]: Invalid object identifier: sysDescr.0 in C:\Program Files\EasyPHP 2.0b1\www\ajout2.php on line 9

l'adress IP est:  127.0.0.1,  la communauté est:  public  et le nom sous lequel cet équipement va être enregistré est :  pc 

message snmp et j'espere ca marche: 






petit commentaire quand même , mes deux formulaire (celui que ta corriger et celui là) sont sur la même page , je ne sais pas si ça change quelque chose mais je préfere te le dire peut etre que ça joue je sais pas.
bref voila quoi.
1
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 mai 2007 à 11:28
Ton code m'a l'air pourtant pas mal :D

Peux-tu le remettre ?
0
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 3
2 mai 2007 à 11:29
DESOLE C'EST MON PREMIER MESSAGE ET JAI FAIT UNE BOULETTE JE CROIS, VOILA LE VRAI MESSAGE !!




Bonjour,
on va déjà dire que je sui un débutant dans le php, en fait je fai mon stage en DUT réseaux et Télécom et jai un souci au niveau du projet qu'on m'a confié.

Premierement et celui qui m'enbete le plus, j'arive pas a envoyer ou reçevoir (je sais pas) des requete snmp et je reçoi l'erreur suivante:

Warning: snmpget() [function.snmpget]: Invalid object identifier: system.SysDescr.0 in C:\Program Files\EasyPHP 2.0b1\www\ajout2.php on line 9


et mon code est

<?php
    if ($_POST['IP'] != NULL AND $_POST['communaute'] != NULL AND $_POST['nom'] !=NULL) // Si on a quelque chose à enregistrer
    {
		$message = snmpget($_POST['IP'],$_POST['communaute'], "system.SysDescr.0");?></br>
	
<?php}?>
l'adress IP est:  <STRONG><?php echo $_POST['IP']?></STRONG>,  la communauté est:  <STRONG><?php echo $_POST['communaute'] 
?></STRONG>  et le nom sous lequel cet équipement va être enregistré est :  <STRONG><?php echo $_POST['nom'] ?> </STRONG><br></br>

<?php
echo "message snmp et j'espere ca marche: $message";
}
else
{
$message2 = "Vous avez oublié de rentrer une ou plusieurs données, veuillez recommencer.";
echo "$message2";
}?> 



ET mon deuxieme probleme est le suivant:

dans une page je demande à l'utilisateur de rentrer des infos et apre je les affiche dans un autre page (je sais que ça sert a rien mais deja j'ai simplifier le sujet pour essayer de regler le probleme sans succes :( )

voila le code

<?php
if (isset ($_POST['marque']) AND isset ($_POST['designation'])  AND isset ($_POST['type'])  AND isset ($_POST['ref']) )
{
if ($_POST['marque']!=NULL AND $_POST['designation']!=NULL AND $_POST['type']!=NULL AND $_POST['ref']!=NULL)
{

echo $_POST['marque'];
echo $_POST['designation'] ;
 echo $_POST['type'] ;
echo $_POST['ref']; 

}
}
?>

<?php



en fait quand je suis sencé recevoir les info que l'utilisateur à rentré, ça m'affiche une page vierge.

Merci pour toutes les aides.





voila et merci pour les réponse !!!
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 mai 2007 à 11:39
Pour le probleme 1, je ne connais pas trop ce protocol et son utilisation en php, mais je pense que "SysDescr" n'est pas défini.
Aurais-tu pu te tromper ? Par exemple est ce ca ne pourrait pas etre plutot : "SysDescription" ?

Pour le probleme 2 il faudrait que tu nous mette le code de ton formulaire pour voir :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 3
2 mai 2007 à 11:50
pour le premier script je pense pas que la fonction est fausse, j'ai trouvé un exemple sur https://www.php.net/manual/fr/function.snmpget.php

et il donne cet exemple

//system description
$sysdesc[0] = snmpget($sysip[$i], $snmpcommunity, "sysDescr.0");
$sysdesc[1] = eregi_replace("STRING:","",$sysdesc[0]);
echo 'System Description: '.$sysdesc[1].'<br>';


P.S. en essayant avec "sysDescr.0" ca me donne
Warning: snmpget() [function.snmpget]: Invalid object identifier: sysDescr.0 in C:\Program Files\EasyPHP 2.0b1\www\ajout2.php on line 9


et voila le code de mon formulaire

<CENTER>Entrer la marque de l'équipement :<input type="text" name="marque">   Exemple: Cisco, Motorola...</CENTER>
</br>
<CENTER>Entrer la désignation de l'équipement:<input type="text" name="designation">   Exemple: BSR64000(pour Motorola),3750(pour Cisco)...</CENTER>
</br>
<CENTER>Choisir le type d'équipement:<input type="text" name="type">   Exemple: Routeur, Switch...</CENTER>
<br/>
<CENTER>Entrer la référence:<input type="text" name="ref">   Exemple:C3750-I5-M... </CENTER>
<br/>

<form method="post" action="ajout3.php" >
<input type="Submit" value="Ajouter à la base">
</form>


merci ;)
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 mai 2007 à 12:12
Pour ton formulaire, il te faut mettre ta balise <form> avant tout ! Sinon tes champs input ne seront pas considérés comme appartenant a ton formulaire, tu comprends ?
Imagine le cas ou tu ai plusieurs formulaire sur une meme page, il faut bien que chaque formulaire reconnaisse ses propres champs INPUT, sinon ce serait l'anarchie :)

Donc voici ton code corrigé (juste la déclaration du form):

<form method="post" action="ajout3.php" >

<CENTER>Entrer la marque de l'équipement :<input type="text" name="marque">   Exemple: Cisco, Motorola...</CENTER>
</br>
<CENTER>Entrer la désignation de l'équipement:<input type="text" name="designation">   Exemple: BSR64000(pour Motorola),3750(pour Cisco)...</CENTER>
</br>
<CENTER>Choisir le type d'équipement:<input type="text" name="type">   Exemple: Routeur, Switch...</CENTER>
<br/>
<CENTER>Entrer la référence:<input type="text" name="ref">   Exemple:C3750-I5-M... </CENTER>
<br/>

<input type="Submit" value="Ajouter à la base">
</form>


Ca devrait fonctionner désormais.
Pour ce qui est du premier pb, comme j'ai dis je ne suis pas spécialiste la dedans et je ne pense pas pouvoir répondre.
Effectivement tu as bien repris l'exemple... je pense donc que cela vient de la requete que tu envoi. Elle ne contient certainement pas l'objet descr pour description, ce qui serait bizarre mais...

C'est pour l'envoi de message j'imagine, peux-tu donner ton code ?
(le code du formulaire d'envoi je parle - si ce n'est pas le même que celui que tu viens de donner bien sur ^^)
0
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 3
2 mai 2007 à 21:42
bein alors personne ne sait ? .... :(
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
3 mai 2007 à 12:29
Tes deux formulaires sont sur la meme page mais ne font pas appel au meme script php je pense. Ca ne vient pas de là je te rassure :)

Par contre, regarde attentivement ton formulaire... quels champs as tu dans ton formulaire ? IP, COMMUNAUTE et NOM. C'est tout.
Or dans ton script PHP, tu demande la valeur d'un champ DESCR qui n'existe pas dans le formulaire.. il n'est donc pas envoyé à ta page, ce qui produit l'erreur que tu as (le fait qu'il ne trouve aucune information nommée 'descr')

Vois-tu ce que je veux dire ?

Si tu tiens tant à avoir une description il faut que tu la renseigne. C'est comme ca que je vois la chose en tout cas.
0
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 3
3 mai 2007 à 14:43
Je crois comprendre ce que tu raconte, mais d'apres ce que j'ai pu voir dans l'exemple que j'avai donné plus haut, le mot sysdesc est le nom d'une fonction ça na rien a voir avec le formulaire, la syntaxe de cette fonction est bonne (enfin je pense) mais i doit avoir un souci , et d'apres un technicien qui est dans le meme bureau que moi, le fait que je n'ai pas d'adresse IP fixe jouerai dans le fonctionnement de mon script.
enfin aparamen ce serai ca. Mais lerreur que je recoit ne me fait pas du tout penser à ca.
Donc il faut que je trouve un programme qui me permettrai de simuler ce script en local, je vais voir si je trouve quelque chose qui tienne la route.

ET si quelqu'un à une idée d'un logiciel pour mon souci qu'il ne se gene pas !!!!
Merci

et merci pour tes coups de mains kij_82 ;)
0
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 3
4 mai 2007 à 10:09
EUREKAAAAAAAAAAAA!!!

enfait le probleme venai du fait qu'une partie de windobe qui prend en charge le protocole SNMP n'est pas installer par défaut il suffisait de l'installer et de le configurer,
un site qui l'explique tres tres bien http://christian.caleca.free.fr/snmp/install_snmp1.htm mon script est donc, de c fait juste, mis à part qu'il faut remplacer cette
ligne
$message = snmpget($_POST['IP'],$_POST['communaute'], "sysDescr.0");


par

$message = snmpget('$IP','$communaute', '.1.3.6.1.2.1.1.1.0');


voila, j'espere que ca aidera d'autres personne qui ont ce genre de probleme
et sinon bein passons au reste ...
a++
0