Avatar billede pkpedersen Nybegynder
24. september 2007 - 11:01 Der er 15 kommentarer

hjælp til oprettelse af et cgi-script

Hej.

Jeg har intet forstand på cgi-script.

Derfor søger jeg en som vil lave et cgi-script til mig så jeg kan få denne kode til at virke.

<form action="#" id="anbefal" method="post">

Siden formkoden er på hedder anbefal.htm

Er der en venlig sjæl der vil hjælpe mig
Avatar billede Slettet bruger
24. september 2007 - 11:15 #1
det kommer helt an på hvad du må køre på dit webhotel. Det er ikke sikkert at du må køre PERL.

Husk også at CGI ikke nødvendigvis er det samme som PERL, man kan sagtens lave CGI programmer i andre sprog.

Din form ville heller ikke gøre ret meget, idet sin action er sat til #, her skulle URLen til programmet som skulle behandle formen, stå.

Det som program som skal behandle din form kan også nemt være skrevet i php.
Avatar billede nielle Nybegynder
24. september 2007 - 11:24 #2
Sikker på at det skal væree CGI? - det er efterhånden ved at være en ældre teknologi.

Hvis jeg stor og slukke vælge igan ville jeg i stedet gå med PHP eller ASP.Net - muligvis Ruby.
Avatar billede pkpedersen Nybegynder
24. september 2007 - 11:30 #3
Hej.

Nej det er lige meget hvad det laves i, bare ikke i asp og asp.net da det ikke understøttes webserveren

Mit webhotel er hos servage.net
Avatar billede Slettet bruger
24. september 2007 - 11:31 #4
CGI er da ikke forældet, det er bare et navn. Det er totalt ligegyldigt hvad der ligger bag navnet.
Avatar billede nielle Nybegynder
24. september 2007 - 11:40 #5
CGI er ikke bare et navn - det er faktisk en teknologi. Blandt nogen af karaktaristika for CGI er:

(o) Den levere input på stdin og i form af environment-variable (men det gør PHP nu også).
(o) Man skal levere output på stdout.
(o) Fejl kommer på stdour.

Og, jo den et lættere forældet: Dog ikke så meget at man kan sige at man slet ikke bør basere sine løsninger på den.

Hvis du har mulighed for at bruge PHP - så synes jeg du skal gøre det. (Ikke fordi at Perl ikke er et fedt sprog.)
Avatar billede nielle Nybegynder
24. september 2007 - 11:45 #6
stdour > stderr
Avatar billede pkpedersen Nybegynder
24. september 2007 - 12:14 #7
nielle.

Hvad skal jeg gøre for at få <form action="#" id="anbefal" method="post"> i php
Avatar billede nielle Nybegynder
24. september 2007 - 12:27 #8
Foreløbigt er der ikke noget i din enkelt linje HTML som kræver noget programmering overhovedet.

Hvis du skal aflæse værdier sendt når du submitter din form, skal du 1) submitte til et PHP-script:

<form action="dit_script.php" id="anbefal" method="post">

Og 2) i dette kan du aflæse formens felter via arrayet $_POST (idet du bruger jo method="post").

Hvis din form ser sådan her ud:

<form action="dit_script.php" id="anbefal" method="post">
<input type="text" name="username">
<input type="password" name="passwd">
<input type="submit">
</form>

aflæses værdierne som:

<?
echo "Navn: " . $_POST["username"] . "<br>";
echo "Kodeord: " . $_POST["passwd"] . "<br>";
?>
Avatar billede pkpedersen Nybegynder
24. september 2007 - 12:49 #9
anbefal.htm skal den rettes til anbefal.php

<h1>Anbefal siden.</h1>
   
<form action="anbefal.php" id="anbefal" method="post">
<table class="form">
<thead>
<tr>
<th colspan="3">
<p>Du kan bruge denne formular til at anbefale en side til dine "Venner, Kollegaer, m.m.</p>
</th>
</tr>
</thead>
   
<tbody>
<tr>
<td valign="top" align="left">Dit navn:</td>
<td>
<input type="text" name="navn" value="" />
</td>
</tr>
   
<tr>
<td valign="top" align="left">Din e-mail:</td>
<td>
<input type="text" name="email" value="@" />
</td>
</tr>

<tr>
<td valign="top" align="left">Modtagerens navn:</td>
<td>
<input type="text" name="modtagernavn" value="" />
</td>
</tr>

<tr>
<td valign="top" align="left">Modtagerens e-mail:</td>
<td>
<input type="text" name="modtageremail" value="@" />
</td>
</tr>

<tr>
<td valign="top" align="left">Siden du anbefaler:</td>
<td>
<input type="text" name="url" size="33" value="http://www.skriv domænenavn.dk" />
</td>
</tr>   
       
<tr>
<td valign="top" align="left">Besked</td>
<td>
<textarea name="text" id="text" cols="25" rows="10"></textarea>
</td>
<td class="about"></td>
</tr>
</tbody>

<tr>
<td>&nbsp;</td>
<td align="center">
<input class="button" type="submit" value="Send" />
<span style="font-size: 14px"> ---------- </span>
<input class="button" type="reset" value="Slet" />
</td>
</tr>
</table>
</form>   

Er ovenstående rigtig, og bliver den så sendt til rette modtager.
Avatar billede nielle Nybegynder
24. september 2007 - 13:17 #10
Når du submitter en form bliver data sendt til den side der er angivet i action="???". Det er denne side som skal være skrevet i PHP (hvis det er det du vælger at skrive i).

Formen kan sagtens submitte tilbage til *samme* side som den hvor den står på - hvis det er det som er tilfældet så skal siden selv være en PHP-side.

Der bliver ikke gjort noget som helst med det submittede data med mindre at du også rent faktisk har noget PHP kode til at gøre det. Din ovenstående form vil f.eks. ikke sende noget som helst nogen steder - for du har intet mail-relateret kode i den.

...

Stort set alle de sites som tilbyder CGI har også nogle standard scipts præinstalleret; og blandt disse er der som regel en mailform som man kan bruge. Hvis det kun er den funktionalitet du skal bruge, så behøver du slet ikke at spekulere i selv at skulle programmere overhovedet - om det så end er perl/CGI eller PHP. Så skal du faktisk bare læse webhotellets dokumentation om denne.
Avatar billede nielle Nybegynder
01. oktober 2007 - 19:49 #11
Er du kommet videre?
Avatar billede nielle Nybegynder
07. oktober 2007 - 11:04 #12
??
Avatar billede pkpedersen Nybegynder
10. oktober 2007 - 00:26 #13
Hej Nielle.

Drop lige et svar, så er der point til dig.
Avatar billede nielle Nybegynder
10. oktober 2007 - 07:04 #14
Fik du det til at virke?

... og et svar :^)
Avatar billede nielle Nybegynder
16. oktober 2007 - 08:41 #15
Så mangler du bare at acceptere mit svar :^)
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

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