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 : 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
 
<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 : 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
<?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 :

define service {
use template-services
host_name <couleur nom="rouge">'hostname'</couleur>
service_description <couleur nom="rouge">'service'</couleur>
check_command <couleur nom="rouge">'service'</couleur>
}
Je pense pas 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.

Merci pas avance de vos retours