Avatar billede thomasclausen Nybegynder
30. juli 2004 - 12:18 Der er 21 kommentarer og
2 løsninger

Formmail virker plaudselig ikke!

Hej Eksperter

Jeg har følgende mail-scirpt:
<? if($action == "send") { ?>
    <? // Den besked der skal vises når mailen er sendt
    $sendt = "Din e-mail er sendt, jeg vil svare hurtigst muligt!";
                               
    $dato = date("d/m Y");
    $besked = str_replace("\n", "<br>", $besked);
    $message = "
    <b>Formmail resultat:</b><br>
    <br>
    <b>Navn:</b> $navn<br>
    <b>Mail:</b> $mail<br>
    <b>Besked:</b><br>
    $besked<br>
    <br>
    <b>Sendt den:</b> $dato<br>
    <b>Sendt fra:</b> $REMOTE_ADDR
    ";
                               
    mail ("blablabla@thomasclausen.dk", "Formmail fra 'blablabla'", "$message", "Content-type: text/html"); ?>
    <? echo $sendt ?>
<? } else { ?>
    <script language="JavaScript" type="text/javascript">
    function checkform(){
        if (document.form.navn.value == "") {
            alert("Du mangler at skrive dit navn!");
            document.form.navn.focus();
            return false;
        }
        if (document.form.mail.value == "") {
            alert("Du mangler at skrive din mail-adresse!");
            document.form.mail.focus();
            return false;
        }
        if (document.form.besked.value == "") {
            alert("Du mangler at skrive en besked!");
            document.form.besked.focus();
            return false;
        }
        return true;
    }
    </script>
    <form method="post" action="<? echo $PHP_SELF ?>" name="form" onsubmit="java script:return checkform();">
        <input type="hidden" name="action" value="send">
        <center>
            <table width="100%" cellspacing="4" cellpadding="0">
                <tr>
                    <td class="tekst" valign="top">Navn:</td>
                    <td width="250" class="tekst" align="right" valign="top"><input type="text" name="navn" class="felt"></td>
                </tr>
                <tr>
                    <td class="tekst" valign="top">Mail:</td>
                    <td width="250" class="tekst" align="right" valign="top"><input type="text" name="mail" class="felt"></td>
                </tr>
                <tr>
                    <td class="tekst" valign="top">Besked:</td>
                    <td width="250" class="tekst" align="right" valign="top"><textarea name="besked" rows="10" class="felt"></textarea></td>
                </tr>
                <tr>
                    <td class="tekst" valign="top">&nbsp;</td>
                    <td width="250" class="tekst" align="right" valign="top">
                        <br>
                        <input type="submit" value="&nbsp;Send&nbsp;" class="knap">
                    </td>
                </tr>
            </table>
        </center>
    </form>
<? } ?>


Jeg har sidder og gennemgået koden nu i 2 dag men kan simpelthen ikke se at der skulle være nogle fejl, men den sender ikke en mail alligevel!
Avatar billede detox Nybegynder
30. juli 2004 - 12:25 #1
Måske fordi din server er blevet opdateret, eller ændret indstilling til register_globals = Off.
Avatar billede michael_stim Ekspert
30. juli 2004 - 12:30 #2
<input type="submit" value="&nbsp;Send&nbsp;" name ="send" class="knap">
Hvad sker der hvis du giver knappen navnet "send"?
Avatar billede detox Nybegynder
30. juli 2004 - 12:32 #3
Prøv sådan:

<? if(isset($_POST['action']) && $_POST['action'] == "send") { ?>
    <? // Den besked der skal vises når mailen er sendt
    $sendt = "Din e-mail er sendt, jeg vil svare hurtigst muligt!";
    $besked = $_POST['besked'];
    $navn = $_POST['navn'];
    $mail = $_POST['mail'];                   
    $dato = date("d/m Y");
    $besked = nl2br($besked);
    $message = "
    <b>Formmail resultat:</b><br>
    <br>
    <b>Navn:</b> $navn<br>
    <b>Mail:</b> $mail<br>
    <b>Besked:</b><br>
    $besked<br>
    <br>
    <b>Sendt den:</b> $dato<br>
    <b>Sendt fra:</b> $_SERVER[REMOTE_ADDR]
    ";
                               
    mail ("blablabla@thomasclausen.dk", "Formmail fra 'blablabla'", "$message", "Content-type: text/html"); ?>
    <? echo $sendt ?>
<? } else { ?>
    <script language="JavaScript" type="text/javascript">
    function checkform(){
        if (document.form.navn.value == "") {
            alert("Du mangler at skrive dit navn!");
            document.form.navn.focus();
            return false;
        }
        if (document.form.mail.value == "") {
            alert("Du mangler at skrive din mail-adresse!");
            document.form.mail.focus();
            return false;
        }
        if (document.form.besked.value == "") {
            alert("Du mangler at skrive en besked!");
            document.form.besked.focus();
            return false;
        }
        return true;
    }
    </script>
    <form method="post" action="<? echo $_SERVER['PHP_SELF'] ?>" name="form" onsubmit="java script:return checkform();">
        <input type="hidden" name="action" value="send">
        <center>
            <table width="100%" cellspacing="4" cellpadding="0">
                <tr>
                    <td class="tekst" valign="top">Navn:</td>
                    <td width="250" class="tekst" align="right" valign="top"><input type="text" name="navn" class="felt"></td>
                </tr>
                <tr>
                    <td class="tekst" valign="top">Mail:</td>
                    <td width="250" class="tekst" align="right" valign="top"><input type="text" name="mail" class="felt"></td>
                </tr>
                <tr>
                    <td class="tekst" valign="top">Besked:</td>
                    <td width="250" class="tekst" align="right" valign="top"><textarea name="besked" rows="10" class="felt"></textarea></td>
                </tr>
                <tr>
                    <td class="tekst" valign="top">&nbsp;</td>
                    <td width="250" class="tekst" align="right" valign="top">
                        <br>
                        <input type="submit" value="&nbsp;Send&nbsp;" class="knap">
                    </td>
                </tr>
            </table>
        </center>
    </form>
<? } ?>
Avatar billede michael_stim Ekspert
30. juli 2004 - 12:33 #4
Der sad den nok detox. Havde ikke lige tänkt på det.
Avatar billede thomasclausen Nybegynder
02. august 2004 - 14:04 #5
Nu har jeg prøvet at ændre mit script il det detox har posted, men så melder den bare fejl i linien

$mail = $_POST['mail'];

og hvis jeg så bare undlader den linie ser det ud til at det virker men får stadig ingen mail!
Avatar billede detox Nybegynder
02. august 2004 - 14:26 #6
Hvilken php version bruger du?
Avatar billede thomasclausen Nybegynder
02. august 2004 - 14:32 #7
Det ved jeg ikke lige, har webhotel hos cliche.dk!
Avatar billede michael_stim Ekspert
02. august 2004 - 14:39 #8
4.3.1
Hvis det er det samme som cliche.se (tror jeg det er)
Avatar billede thomasclausen Nybegynder
02. august 2004 - 14:41 #9
Ja det skal nok passe, har lige kigget inde på deres hjemmesided og der står bare PHP4!
Avatar billede detox Nybegynder
02. august 2004 - 14:48 #10
Ellers kør scriptet:

<?php
phpinfo();
?>

Så vil det fremgå.
Grunden til jeg spørger er, at det jeg postede virker fint her.
Avatar billede detox Nybegynder
02. august 2004 - 14:49 #11
Der kan du osse tjekke om register_globals er On eller Off.
Avatar billede thomasclausen Nybegynder
02. august 2004 - 15:24 #12
PHP Version 4.1.2

register_globals    On    On

Ved ikke om det hjælper dig til måske at finde ud af hvaf der er galt!
Avatar billede detox Nybegynder
02. august 2004 - 15:41 #13
Ja, så burde det jo virke (med eller uden $_POST o.l.). Jeg går ud fra du har indsat den rigtige modtageradresse (istedet for: 'blablabla@thomasclausen.dk'). Når du ser i phpinfo(), ser: sendmail_path så osse rigitg ud?
Avatar billede detox Nybegynder
02. august 2004 - 15:45 #14
Hvis det samme script har virket på serveren før, må de jo have ændret en opsætning eller lign. (spørgsmålet er bare hvilken):
Avatar billede thomasclausen Nybegynder
03. august 2004 - 08:11 #15
Om 'sendmail_path' ser rigtig ud? det ved jeg ikke hvordan skal den se ud når den ser rigtig ud!

Ja der er ikke andet for end at jeg må skrive til Cliche.dk for at høre om de har ændret noget på deres servere!
Avatar billede detox Nybegynder
03. august 2004 - 11:31 #16
Ja, hvad sendmail_path skal indeholde ved jeg ikke helt, men fx:
sendmail_path /var/qmail/bin/qmail-inject
ser rigtig ud. Men lad høre hvad Cliche svarer.
Avatar billede thomasclausen Nybegynder
13. august 2004 - 16:45 #17
sendmail_path    /usr/sbin/sendmail -t -i    /usr/sbin/sendmail -t -i
Avatar billede thomasclausen Nybegynder
13. august 2004 - 16:49 #18
Cliche svarede:
"Den mailserver du ligger på er der driftforstyrrelser på , og kan give forsinkelser på at modtage emails, da der kan opstå kø af mails på den server. men vores teknikere er opmærksomme på det, og arbejder på at få den til at køre normalt igen."

problemet er så bare at efter 10 dage virker det stadig ikke!!
Avatar billede detox Nybegynder
14. august 2004 - 01:43 #19
Ja så er det hurtigere at levere brevet personligt ;o)
Avatar billede thomasclausen Nybegynder
20. august 2004 - 11:26 #20
Har endelig fået svar, og der skriver de at jeg skulle prøve at anvende en anden SMTP, men hvordan indstiller jeg hvilken SMTP mit script bruger?
Avatar billede detox Nybegynder
20. august 2004 - 12:16 #21
Så vidt jeg ved kan det kun sættes i php.ini (som du jo ikke har adgang til). Så det burde de jo have forklaret dig i svaret. Det kan være du kan vælge det i en eller anden indstilling i din online administration. Iøvrigt reklamerer de med gratis telefonsupport, så måske er det hurtigere at ringe til dem, når de er så lang tid om at svare på mails. Citat: "Gratis mail/telefonsupport"
Avatar billede thomasclausen Nybegynder
20. august 2004 - 12:29 #22
De skrev ikke noget om hvor og hvordan jeg skulle ændre server, men bare navnet på den SMTP-server jeg skulle prøve at bruge i stedet, så kunne godt have på fornemmelsen at hende (siger måske også alt ;-) ej nu må jeg hellere passe på!!) der skrev tilbage sidst har misforstået mit spørgsmål, selvom alt hvad der tidligere har været skrevet var inkluderet i mail'en!
Avatar billede thomasclausen Nybegynder
17. september 2004 - 08:14 #23
Nu virker det pludselig igen, men ved ikke hvorfor - tror bare det var dem inde hos cliche.dk der havde lavet noget rod!
Men vil godt give detox nogle point for hans forsøg på at hjælpe mig!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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