Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/06/2011, 16h54   #1
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
Par défaut Modification d'un fichier avec un formulaire PHP

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

Citation:
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
FordPrefect est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 20h00   #2
Membre régulier
 
Homme
Développeur Web
Inscription : octobre 2009
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Vietnam

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2009
Messages : 72
Points : 99
Points : 99
Bonjour,
Sur cible2.php un var_dump($_POST) retourne bien toutes les valeurs du form?
Aussi les droits sont paramétrés en écriture sur le fichier de conf ?
(C'est certainement un oublie au copier / coller mais je ne vois pas de balise de fermeture du form)
matlow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 21h51   #3
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
Salut,

En premier lieu, tu peux faire plus simple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$file = fopen('/usr/local/nagios/etc/objects/hosts.cfg', 'a+');
 
$host ="define service{
        use template-services
        host_name {$_POST['hostname']}
        service_description {$_POST['service']}
        check_command {$_POST['service']}
        }";
 
fputs($file, $host);
fclose ($file);
shell_exec('sudo /etc/init.d/nagios restart');
?>
Après, vérifie les droits d'accès au fichier. Ou essaye d'écrire dans un autre fichier.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h21.


 
 
 
 
Partenaires

Hébergement Web