CGI skripti ei toimi...???

Olen tekemässä sivuilleni palautelomaketta, joka lukee annetut syötteet ja tallentaa ne viestit.txt tiedostoon.

Koodi näyttää tältä:







Viestien lähetys




Nimi






Aihe







Viesti






















#!usr/bin/perl

reguire "cgi-lib.pl";

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

&ReadParse;

$LAHETTAJA=$in{'lahettaja'};

$AIHE=$in{'aihe'};

$VIESTI=$in{'viesti'};

if ($LAHETTAJA eq ") {
   $LAHETTAJA=''}

if ($AIHE eq "){
   $AIHE='\n';}

if ($VIESTI eq "){
   $VIESTI='\n';}

open(VIESTIT,">>viestit.txt");
print VIESTIT "$LAHETTAJA\n";
print VIESTIT "#END#\n";
print VIESTIT "$AIHE\n";
print VIESTIT "#END#\n";
print VIESTIT "$VIESTI\n";
print VIESTIT "#END#\n;


print "\n\n";
print "Kiitos viestistäsi $LAHETTJA!\n;
print "\n";

olen aloittelija ja en tajua mikä tässä koodissa mättää? Mitä minun pitäisi muuttaa tai lisätä että saan toimivan palautelomakkeen sivuilleni. Lähdekoodi on nähtävillä kokonaisuudessaan osoitteessa: http://www.ptoplus.net/~janimal/. Kiitän jo etukäteen kaikkia, jotka auttavat minua tässä ongelmassa..:)
4572
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Oletko kokelillut ajaa scriptiä shellistä. Perlin kääntäjä kyllä kertoo mille riville homma tyssää.

Muutama vinkki missä voisin olettaa ongelman olevan.

1. Perl löytyy palvelimeltasi ja se on paikassa usr/bin/perl (UNIX/LINUX)?

2. action="skripti2.cgi"method="get"
Onko sinulla todellakin samassa hakemistossa ajooikeudet scriptille kuin HTML-lomake sijaitsee?
Ja GET-metodi on se oikea (ReadParse)?

3. cgi-lib.pl
Tämä varmaan löytyy samasta hakemistosta, jossa pääscripti on ja cgi-lib.pl sisältää funktion ReadParse?

4. open(VIESTIT
Avaat kyllä VIESTIT-putken, muttet ikinä sulje sitä?

Äänestä
  • Näiden täytyy oplla eri filejä. osgs-nimimerkin kirjoituksesta päätellen ne ovat yhtä ja samaa filieä?? EI KAI VAIN.

    Äänestä

En nyt ole expertti cgi-scriptaamisessa, mutta eikös kaikkein ylimpänä pitäisi olla rivi:

#!usr/bin/perl

jotta palvelimen perl tunnistaisi että tässä on cgi-scripti?

Ja muita seikkoja:
-tukeeko palvelimesi cgi:tä?
-oletko antanut scriptille kirjoitusoikeudet (chmod)?
-oletko ladannut tiedoston ascii-muodossa palvelimelle? binary-muoto sotkee koodin.

Äänestä
  • Noh tämä on koulun ylläpitämä Linux palvelin ja en tiedä onko minulla edes scriptin ajo-oikeuksia. Miten saan edes sen selville siis voinko katsoa jostain minun käyttöoikeudet?

    Äänestä

Kommentoi aloitusta


Janimal kirjoitti:

Olen tekemässä sivuilleni palautelomaketta, joka lukee annetut syötteet ja tallentaa ne viestit.txt tiedostoon.

Koodi näyttää tältä:







Viestien lähetys




Nimi






Aihe







Viesti






















#!usr/bin/perl

reguire "cgi-lib.pl";

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

&ReadParse;

$LAHETTAJA=$in{'lahettaja'};

$AIHE=$in{'aihe'};

$VIESTI=$in{'viesti'};

if ($LAHETTAJA eq ") {
   $LAHETTAJA=''}

if ($AIHE eq "){
   $AIHE='\n';}

if ($VIESTI eq "){
   $VIESTI='\n';}

open(VIESTIT,">>viestit.txt");
print VIESTIT "$LAHETTAJA\n";
print VIESTIT "#END#\n";
print VIESTIT "$AIHE\n";
print VIESTIT "#END#\n";
print VIESTIT "$VIESTI\n";
print VIESTIT "#END#\n;


print "\n\n";
print "Kiitos viestistäsi $LAHETTJA!\n;
print "\n";

olen aloittelija ja en tajua mikä tässä koodissa mättää? Mitä minun pitäisi muuttaa tai lisätä että saan toimivan palautelomakkeen sivuilleni. Lähdekoodi on nähtävillä kokonaisuudessaan osoitteessa: http://www.ptoplus.net/~janimal/. Kiitän jo etukäteen kaikkia, jotka auttavat minua tässä ongelmassa..:)

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu