Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    il mio primo programma in cgi come farlo girare?

    ciao ragazzi volevo chiedervi gentilmente una cosa, come fare a fare funzionare un programma scritto in cgi e perl come questo:

    ho scaricato questo script cgi da un sito e volevo farlo funzionare prima in locale e poi sul server:

    #!/usr/local/bin/perl
    ################################################## ############
    # Script Info: ##
    # Script: Nytedate ##
    # Descripttioin: Shows date on web page ##
    # Author: Patrick Chukwura ##
    # Email: nytesoft@dnpro.net ##
    # Email2: nytesoft@aol.com ##
    # Site: http://nytesoft.hypermart.net ##
    # Version: 1.5 ##
    ################################################## ############
    # (c) 1999-2000 Nytesoft WebSolutions ##
    ################################################## ############
    # Script Usage Info: ##
    # This script is free for use for anyone. ##
    # If you are going to use this script please ##
    # leave the "Script Info" above intact. ##
    # You are free to modify this script. ##
    # *DO NOT* sell this script for profit. ##
    # Selling this script for profit is strictly prohibited. ##
    ################################################## ############
    # Script Log: ##
    #3/26/99- This is the first CGI script I have made. ##
    #Created with Microsoft Wordpad. ##
    #3/26/99-Script is fixed for some errors. Script ##
    # is uploaded to site and ready to use! ##
    #6/13/99- Minor changes. ##
    #6/18/99- Minor problem fixed, the script wouldn't display ##
    #the date ##
    #11/13/99- Supossed year 2000 problem fixed. ##
    #11/13/99- Time fixed ##
    ################################################## ############
    #Edit the variables below. ##
    ################################################## ############
    ##Choose your method: Set $Choice to 1,2,3,4, or 5.
    #Choice1 = day/month/date/year (bolded)
    #Choice2 = month/date/year-day (italics)
    #Choice3 = day: month/date/year ( same as choice 1 with bolded, italics, color)
    #Choice4 = day: month/date/year-time(hour:min[am or pm])(same as 3)
    #Choice5 = hour:min(am or pm) (color)
    ################################################## ############
    #edit the area below this line
    #type one of the choices above,
    #to the below variable
    $Choice = 3;
    #
    #Enter the HTML code for the color you want the date
    #(only for choice 3)Example: <font color="000080">
    #Just enter the number code(not FONT color)
    $color = '000000';
    ################################################## ############
    #Enter the HTML code for the color you want the time to be.
    #For choice 4 or 5.
    $color2 = '000000';
    ################################################## ##########
    #Add the following code to the HTML part of your site to display the date
    #(Change it to the location of the nytedate.pl file):
    #
    ################################################## ###########
    #DONE! ##
    ################################################## ###########

    print ("Content-type: text/html\n\n");

    ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime;


    if ($hour > 12) {
    $hour = $hour - 12;
    $ampm = " P.M.";
    } else {
    $ampm = " A.M.";
    }
    if ($min eq "0") {
    $min = "00";
    }
    elsif ($min eq "1") {
    $min = "01";
    }
    elsif ($min eq "2") {
    $min = "02";
    }
    elsif ($min eq "3") {
    $min = "03";
    }
    elsif ($min eq "4") {
    $min = "04";
    }
    elsif ($min eq "5") {
    $min = "05";
    }
    elsif ($min eq "6") {
    $min = "06";
    }
    elsif ($min eq "7") {
    $min = "07";
    }
    elsif ($min eq "8") {
    $min = "08";
    }
    elsif ($min eq "9") {
    $min = "09";
    }


    @Days = ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");

    @Months = ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");


    $day = $Days[$wday];

    $date = $mday + 0;

    $year = 1900 + $year;
    if ($year eq "1900") {
    $year = 2000 + $year;
    }

    $month = $Months[$mon];

    #If you know what you are doing
    #you may change the area below to
    #have the date look the style or
    #color you want
    ################################################## ##########
    if ($Choice eq "1") {
    print "$day: $month/$date/$year\n";
    }
    elsif ($Choice eq "2") {
    print "$month/$date/$year-$day";
    }
    elsif ($Choice eq "3") {
    print "<font color=\"$color\">$day: $month/$date/$year</font>";
    }
    elsif ($Choice eq "4") {
    print "<font color=\"$color\">$day: $month/$date/$year</font> <font color=\"$color2\"> $hour:$min<small>$ampm EDT</small></font>";
    }
    elsif ($Choice eq "5") {
    print "<font color=\"$color2\">$hour:$min$ampm EDT</font>";
    }
    exit;

    COME FARE A PROVARLO IN ENTRAMBE LE PARTI?

  2. #2
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    ?

    nessuno sā come far girare un script cgi? perfavore...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto una precisazione:
    CGI (common gateway interface) e` un protocollo (per interfacciare un server con un client)
    Perl e` un linguaggio di programmazione interpretato (detto anche script).

    Altra considerazione preliminare: non postare codice direttemtne nel testo: si perde la formattazione ed e` difficile seguirlo: il forum ha gli appositi bottoni # o PHP per inserire il codice.

    Quindi tu hai un CGI scritto in Perl.

    In linea di massima un CGI viene fatto partire dal client, tramite una chiamata al server (ad esempio tramite un form), e motstra i risultati sullo stesso client.

    Poi non so da dove hai preso quello script: sembra una cosa preconfezionata, ma ci sono alcune ingenuita` che mi fanno supporre modifiche da parte di una persona poco esperta.

    Comunque dal tuo codice non vedo la chiamata al modulo per far funzionare i CGI: di solito c'e` la riga
    use CGI;
    Senza quella non credo che il programma possa essere considerato un CGI, e rispondere alla chiamata dalla rete.
    Inoltre ci sono una serie di accorgimenti che vanno peresi, che dipendono da come e` configurato il webserver: il CGI deve essere inserito in una dir particolare, deve avere permessi opportuni e in genere anche un proprietario particolare. Per queste info devi chiedere all'amministratore del server; nessun altro le puo` sapere (io ho esperienza con CGI sotto linux; per windows le cose sono leggermente diverse).
    Comunque una buona guida per iniziare si trova nel sito di shishii: prova a guardarci.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.