[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Que tal, espero que me puedan ayudar, quiero implementar este programa
para que me haga la funcion de contador de paginas, pero no funciona
si lo mando llamar de una pagina ya sea por <!-- exec
cgi=/cgi-bin/contador.pl"-->, ni directo es decir ej:
http://172.24.5.212/cgi-bin/contador.pl , pero si lo ejecuto desde la
consola si despliega los encabezados de html algo asi:
Content-Type: text/html
<html>
<body> etc...
que onda en los logs del apache en access_log no hace ninguna
referencia a el y en error_log dice
malformed header from script. Bad header <html><body>:
/home/httpd/cgi-bin/contador.pl
No jala at /home/httpd/cgi-bin/contador.pl line 19.
No jala at /home/httpd/cgi-bin/contador.pl line 19.
No jala at /home/httpd/cgi-bin/contador.pl line 18.
No jala at /home/httpd/cgi-bin/contador.pl line 18.
No jala at /home/httpd/cgi-bin/contador.pl line 18.
el archivo que lleva el control de el numero esta en
/home/httpd/cgi-bin/marca.txt con permiso 744 y ademas por si las
moscas hice otra copia en /home/httpd/html/marca.html los permisos de
contadro.pl son 755, cual es mi error? Que tengo que hacer para
corregirlo? Porque en consola si manda un documento con los numeros
desplegados pero al inicio, no se porque dice Content-Type: text/html
e inmediatamente los #'s, ya que ese encabezado se supone que no debe
aparecer?
Gracias por su ayuda
#!/usr/bin/perl
#programa: contador.pl
$num_dig = 5;
$img_end = "\.gif";
$txt_pth = "/home/httpd/cgi-bin/marca.txt";
$img_pth = "http://172.24.5.212/";
$graphic = "yes";
print "Content-Type: text/html\n\n";
print "<html>";
print "<body>";
open (COUNTER, "$txt_pth") || die ("No jala");
$count = <COUNTER>;
close (COUNTER);
$count += 1;
open (COUNTER, ">$txt_pth") || die ("No jala");
print COUNTER ("$count");
close (COUNTER);
@digits = split (//, $count);
if ($num_dig=0) {$howmany = @digits;}
else {$howmany = $num_dig;}
$spline = '%0'.$howmany.'d';
$count=sprintf("$spline",$count);
@dgt_num = split (//, $count);
foreach $cnt_num (@dgt_num) {
if ($graphic eq "yes") {
print ("<img src\=\"$img_pth$cnt_num$img_end\">\n");}
else {
$plain=$cnt_num;
print ("$plain");}
}
print "</body></html>";