Modification d'un fichier avec un formulaire
Posté : 18 juin 2011, 16:49
Bonjour à tous.
Je cherche à modifier un fichier de conf nagios à l'aide d'un formulaire en PHP.
J'arrive à faire les modifs que je souhaite faire mais uniquement avec des champs input mais pas une combinaison de input et select.
Code de mon formulaire à remplir (accueil.php) :
Code du fichier cible2.php
Merci pas avance de vos retours
Je cherche à modifier un fichier de conf nagios à l'aide d'un formulaire en PHP.
J'arrive à faire les modifs que je souhaite faire mais uniquement avec des champs input mais pas une combinaison de input et select.
Code de mon formulaire à remplir (accueil.php) :
<p>
<b>Veuillez spécifier le nom et le service du serveur a superviser</b>
</p>
<form action="cible2.php" method="post">
<p>
Nom du serveur<br>
<input type="text" name="hostname" /><br><br>
Service a superviser<br>
<select name="service">
<option value="check_http">HTTP</option>
<option value="check_ftp">FTP</option>
<option value="check_ssh">SSH</option>
</select>
<br><br>Verifier que les informations sont justes, puis valider <input type="submit" value="Valider" />
Code de mon fichier qui traite les infos du formulaire (cible2.php) :Code du fichier cible2.php
<?php
$file = fopen('/usr/local/nagios/etc/objects/hosts.cfg', 'a+');
$host1 ='
define service{
use template-services
host_name ';
$host2 = $_POST['hostname'];
$host3 = '
service_description ';
$host4 = $_POST['service'];
$host5 = '
check_command'
$host6 = $_POST['service'];
$host7 = '
}
';
$host = $host1.$host2.$host3.$host4.$host5.$host6.$host7;
fputs($file, $host);
fclose ($file);
shell_exec('sudo /etc/init.d/nagios restart');
?>
Donc je veux modifier mon fichier hosts.cfg en ajoutant à la fin de celui-ci de nouveaux serveurs à superviser de la manière suivante :Je pense que ce soit compliquer à faire mais je ne trouve pas la solution, rien ne se passe dans mon fichier hosts.cfg lorsque j’exécute ce code.define service {
use template-services
host_name 'hostname'
service_description 'service'
check_command 'service'
}
Merci pas avance de vos retours