Appeler script perl depuis php/html
Bonjour.
Tout d'abord je tiens à préciser que j'ai déja éplucher la multitude de post traitant de l'appel de l'execution de script .pl par le biais d'interface web , mais aucun n'a réussi à résoudre mon problème.
J'ai donc un script .pl que je veut lancer depuis une url du type https://.../perl/monscript.pl.
J'ai donc une petite page html du type
Code:
1 2 3 4 5 6 7 8 9 10 11
| <html>
<head>
</head>
<body>
<FORM action="https://xxx/aff.pl" method=POST>
<INPUT type="submit" value="MOULINETTE!!">
</FORM>
</body>
</html |
Cependant , quand je clique sur le bouton , mon navigateur me propose uniquement de télécharger ce fichier. Or , moi je souhaite le lancer uniquement.
Voici mon script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| #!/usr/bin/perl
use CGI;
use warnings;
use strict;
use Net::LDAP;
use DBI;
############# DB ################
my $BaseDeDonnees = "/var/lib/asterisk/astsqlite";
my $NomHote = "localhost";
my $login = "";
my $MotDePass = "";
#################################
############LDAP################
my $ldap = Net::LDAP->new("x",port =>389, version => 3) or die "Impossible de contacter le serveur $@";
my $mesg = $ldap->bind("cn=Manager,dc=x,dc=fr",password => "toto");
$mesg->code && die $mesg->error;
################################
#=====db
my $dbh=DBI->connect( "dbi:SQLite2:dbname=$BaseDeDonnees;host=$NomHote;",,)
or die "Connection impossible à la base de donnees $BaseDeDonnees !";
my $sth = $dbh->prepare("SELECT lastname,firstname,number FROM userfeatures");
$sth->execute();
my @row=$sth->fetchrow_array;
print "\n## Debut de la recuperation des utilisateurs Asterisk ##\n\n";
while (@row = $sth->fetchrow_array)
{
print "@row[0..2]\n";
$mesg = $ldap->add("cn=@row[0,1],ou=asterisk,dc=x,dc=fr",
attr => [
cn => "@row[0,1]",
sn => "@row[0,1]",
homePhone => $row[2],
displayName => "@row[0,1]",
objectClass => ['top','AsteriskSIPUser','inetOrgPerson'],
]
);
}
print "\n## Fin de la recuperation ##\n"; |
Commment faire pour que , dés que je clique sur mon bouton , le script se lance ?
J'imagine que mon problème vient de l'utilisation de CGI , mais je ne comprend pas trop son utilisation.
J'ai tenté de faire un petit programme tout bete utilisant CGI
Code:
1 2 3 4 5 6 7 8 9 10
|
#!/usr/bin/perl
#
use strict; use warnings;
use CGI qw/:standard/;
print header,
start_html('Page de test : Hello world !'),
p('Hello world !'),
end_html; |
Mais le résultat est le meme , la navigateur me propose de télécharger le script et ne me l'execute pas :(
Best regards,