Avatar billede jerk^kilroy Nybegynder
19. august 2001 - 20:48 Der er 1 løsning

SMS i Perl...

Hej der...
Jeg har (for et stykke tid siden) skrevet en meget, meget simpel SMS-sender i Perl. Nu ville jeg gerne bruge den på min nye account http://kilroy.whitehat.dk, men det duer ikke rigtig... Nogen, der kan sige mig, hvad der er galt og i givt fald hvorhenne - jeg poster både min *.cgi fil og *.html fil herunder...!

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body bgcolor=\"silver\" text=\"#000000\" link=\"#0000FF\" vlink=\"#800000\" alink=\"#FF0000\">
<table border=\"0\" cellpadding=“4\" width=“100%“ align=\"center\">
<tr>
<td width=\"10%\"><p align=\"center\"><img src=\"picture-bin\\u-arbejde.gif\"></p></td>
<td width=\"80%\"><p align=\"center\"><font size=\"7\">Velkommen til min hjemmeside</font></p></td>
<td width=\"10%\"><p align=\"center\"><font size=\"3\">(Under konstruktion)</font></p></td>
</tr>
</table>
<br>
<hr color=\"#DFC786\">
<br>
<table border=\"5\" width=\"100%\" cellpadding=\"4\" align=\"center\" bordercolor=\"#DDDDDD\">
<tr>
<td width=\"100%\">
<form action=\"/cgi-bin/formmail2.cgi\">
<p><b>Telefonnummeret, beskeden skal sendes til:</b></p>
<p><input type=\"text\" name=\"tlf\" size=\"20\"></p>
<br>
<p><b>Nummerets udbyder:</b></p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@sms.tdm.dk\"> Teledanmark</p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@gsm-1600.telia.dk\"> Telia</p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@sms.mobilix.dk\"> Mobilix</p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@note.sonofon.dk\"> Sonofon</p>
<br>
<p><b>Besked:</b></p>
<p><textarea cols=\"30\" rows=\"10\" name=\"besked\"></textarea></p>
<hr noshade>
<p>
<input type=\"submit\" name=\"send\" value=\"send\">
<input type=\"Reset\">
</p>
</td>
</tr>
</table>
<p><font size=\"2\"><em>Denne side er sidst opdateret mandag den 13. august 2001.</em></font>

</body>
</html>

Jep! Så\'n ser sms.html altså ud - sikkert ikke noget kønt syn, men hva\'... :-)


#!/usr/local/bin/perl
print \"Content-type: text/html\\n\\n\";
$mailprog = \'/var/qmail/bin/qmail-inject\';
&parse_form;

$email=$form{tlf}.$form{udbyder};


open(MAIL,\"|$mailprog\");

print MAIL \"To: $email\\n\";

print MAIL \"From: Peters SMS-service\\n\\n\";

print MAIL $form{besked},\"\\n\\n\";

close(MAIL);

print \"Din besked er sendt - Tak fordi du benyttede Peters SMS-service\";


sub parse_form {
    if ($ENV{\'REQUEST_METHOD\'} eq \'GET\') {
        @pairs = split(/&/, $ENV{\'QUERY_STRING\'});
    }
    elsif ($ENV{\'REQUEST_METHOD\'} eq \'POST\') {
        read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
        @pairs = split(/&/, $buffer);
    }
    foreach $pair (@pairs) {
        local($name, $value) = split(/=/, $pair);
        $name =~ tr/+/ /;
        $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;
        $value =~ s/<!--(.|\\n)*-->//g;
        $form{$name}=$value;
    };
};


Sådan ser cgi-koden altså ud... den ligger på whitehat under stien /cgi-bin/formmail2.cgi.

Når jeg udfylder formularerne på html-siden og trykker \'send\', får jeg bare den besked, at siden ikke kunne vises....
Plz help!
Avatar billede klausl Nybegynder
19. august 2001 - 20:56 #1
#!/usr/local/bin/perl bør i det mindste ændres til #!/usr/bin/perl.

Fejlmeldingen lyder som om den har problemer med at finde scriptet. Det burde have været en anden fejlmelding hvis den havde opdaget den forkerte sti til perl ... Prøv at ændre din <form action=\"/cgi-bin/formmail2.cgi\"> til <form action=\"kilroy.whitehat.dk/cgi-bin/formmail2.cgi\"> og lad os høre hvad der så sker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester