Avatar billede soundwave Nybegynder
25. august 2005 - 19:34 Der er 38 kommentarer og
1 løsning

Mailform med autosvar - hvorfor virker det ikke?

Jeg har brugt en mailform i flash, der benyttede sig af en php-side. Denne mailform vil jeg nu benytte i en ren php-side, men kan ikke få det til at virke.

min form ser sådan ud:

<form action="mailform-test.php" method="post" name="mail">
                <input name="name" type="text" id="name" size="35">
                <br>
                <input name="phone" type="text" id="phone" size="12" maxlength="8">
                <br>
                <input name="email" type="text" id="email" size="35">
                <br>
                <input name="arr" type="text" id="arr" size="35">
                <br>
                <input name="sted" type="text" id="sted" size="35">
                <br>
                <input name="dat" type="text" id="dat" value="dd-mm-&aring;&aring;&aring;&aring;" size="12" maxlength="10">
                <br>
                <textarea name="tekst" cols="34" rows="10" wrap="VIRTUAL" id="tekstField"></textarea>
                <br>
                <br>
                <input type="submit" name="send" value="Send">
                <br></form>


mailform-test.php ser sådan ud:

<? 
$adminaddress = "min@email.dk";

$siteaddress ="http://www.min-side.dk";

$sitename = "Min side";

$date = date("m/d/Y H:i:s");

if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);

IF ($action != ""):
mail("$adminaddress","Emne i mail",
"Navn: $name
Tlf: $phone
Email: $email
Arangement: $arr
Placering: $sted
Dato: $dat
Fritekst: $tekst\n
");


//Autosvar
mail("$email","Emne i mail", "Hej $name,\n
Tak for din interesse i Min side.
Vi vil hurtigst muligt kontakte dig for nærmere oplysninger angående arrangementet.\n

Denne Email er autogenereret, og kan derfor ikke besvares.

$sitename
$siteaddress
Tlf: --------","FROM: Min side");

ENDIF;
?>
Avatar billede showsource Seniormester
25. august 2005 - 19:41 #1
Ved ik' men FROM skal være en gangbar email
Avatar billede showsource Seniormester
25. august 2005 - 19:42 #2
Og så ville jeg bruge $_SERVER["REMOTE_ADRR"]
Avatar billede showsource Seniormester
25. august 2005 - 19:43 #3
Hov, selvf. ADDR og ikke ADRR
Avatar billede soundwave Nybegynder
25. august 2005 - 19:43 #4
ok, men det kan vel ikke være det der for det hele til ikk at fungere?
Den sender hverken til mig eller afsenderen.
Avatar billede soundwave Nybegynder
25. august 2005 - 19:45 #5
$_SERVER["REMOTE_ADDR"] --> hvorhenne?
Avatar billede showsource Seniormester
25. august 2005 - 19:48 #6
if (empty($_SERVER["REMOTE_ADDR"]) {
$ip = "no ip";
}else{
$ip = getHostByAddr($_SERVER["REMOTE_ADDR"]);
}
Avatar billede showsource Seniormester
25. august 2005 - 19:49 #7
Nåh, pis
if (empty($_SERVER["REMOTE_ADDR"])) {
$ip = "no ip";
}else{
$ip = getHostByAddr($_SERVER["REMOTE_ADDR"]);
}

Og det her, er vist heller ikke godt:
IF ($action != ""): // kolon?
mail("$adminaddress","Emne i mail",
"Navn: $name
Tlf: $phone
Email: $email
Arangement: $arr
Placering: $sted
Dato: $dat
Fritekst: $tekst\n
");
Avatar billede soundwave Nybegynder
25. august 2005 - 19:51 #8
Altså det virker hvis variablerne bliver sendt fra en swf-fil (altså flash). Burde det så ikke også kunne fungere hvis heg sende de samme variabler fra en php-side? er det så ikke php-siden den er gal med?
Avatar billede showsource Seniormester
25. august 2005 - 19:53 #9
Tester:

if(isset($_POST["send"])) {

$adminaddress = "min@email.dk";

if (empty($_SERVER["REMOTE_ADDR"])) {
$ip = "no ip";
}else{
$ip = getHostByAddr($_SERVER["REMOTE_ADDR"]);
}

mail($adminaddress,"Testmail","IP: $ip "From:fake@fake.dk");

}
Avatar billede showsource Seniormester
25. august 2005 - 19:54 #10
Det skulle jo gerne være det samme, så'n at forstå at i flash'en bruges "method, post" for actionknappen
Avatar billede showsource Seniormester
25. august 2005 - 19:57 #11
fuck,
mail($adminaddress,"Testmail","IP: ".$ip, "From:fake@fake.dk");
Avatar billede soundwave Nybegynder
25. august 2005 - 20:00 #12
der kommer stadig ingen mail.
ser min mailform rigtig ud? jeg har nemlig ikke lavet det i php før...
Avatar billede showsource Seniormester
25. august 2005 - 20:05 #13
Hmm, sender du fra din egen maskine?
altså tester et php script lokalt?
Så kan det være fordi SMTP ikke er sat op i din php.ini
Avatar billede soundwave Nybegynder
25. august 2005 - 20:06 #14
nu har jeg lige testet den via flash, og der virker den heller ikke. kan min web-udbyder ha slået en eller anden funktion fra? Kan det ikke ses via http://toolate.dk/phpinfo.php ?
Avatar billede showsource Seniormester
25. august 2005 - 20:13 #15
Du kan prøve med flg. som test:

<?php
ini_set("error_reporting", "E_ALL");

if(mail("din@email.dk", "Testmail", "Det virker!", "From:din@hostmail.dk");

echo"ok, mail sendt!";
}else{
echo"UPS";
}
?>
Avatar billede showsource Seniormester
25. august 2005 - 20:14 #16
umiddelbart skulle der ikke være noget galt med sendmail
Avatar billede soundwave Nybegynder
25. august 2005 - 20:18 #17
skal jeg ændre noget i "From:din@hostmail.dk" ?
når jeg ikke ændrer i det siger den er at der er fejl i 4 linje.
Avatar billede showsource Seniormester
25. august 2005 - 20:19 #18
Min fejl

if(mail("din@email.dk", "Testmail", "Det virker!", "From:din@hostmail.dk")) {
Avatar billede soundwave Nybegynder
25. august 2005 - 20:35 #19
den siger: "ok, mail sendt!" men jeg har ikke modtaget noget. Skulle jeg ikke det?
Avatar billede showsource Seniormester
25. august 2005 - 20:39 #20
Johh, hvis ellers du har sendt til din egen emailadresse! :O)
Ind imellem kan der godt gå lidt tid førend den kommer
Avatar billede soundwave Nybegynder
25. august 2005 - 20:55 #21
Jeg har stadig ikke fået nogen mail. Jeg har lavet en fil der hedder test.php og indeholder:

<?php
ini_set("error_reporting", "E_ALL");

if(mail("din@email.dk", "Testmail", "Det virker!", "From:din@hostmail.dk")) {

echo"ok, mail sendt!";
}else{
echo"UPS";
}
?>

der hvor der står: "din@email.dk" har jeg skrevet min egen mail.
Avatar billede showsource Seniormester
25. august 2005 - 20:58 #22
hmm, ja, du har vel en email til domænet? F.eks. webmaster a toolate.dk
Prøv at bruge den som "From", altså så der afsendes fra en email, hvor hostet ligger på serveren
Avatar billede leif Seniormester
25. august 2005 - 21:44 #23
Da du POST din form skal du hente variablerne med $_POST["navn"]
Avatar billede leif Seniormester
25. august 2005 - 21:45 #24
Hvis du ligger hos B-One eller Cliche skal From være en POP3 konto på deres mailservere !
Avatar billede soundwave Nybegynder
25. august 2005 - 21:45 #25
så modtog jeg en mail! Jeg tilføjede en mailadresse der hvor du sagde. Hvordan får jeg det andet til at virke så?
Avatar billede soundwave Nybegynder
25. august 2005 - 21:54 #26
->leif
hvor skal $_POST["navn"] stå henne?
Avatar billede leif Seniormester
25. august 2005 - 21:57 #27
Du henter variabler med $name når man har method POST i sin form skal man normalt idag hente variablen med $_POST["name"]

Men tilsyneladende ligger du på en ældre server hvis det virker nu !
Avatar billede soundwave Nybegynder
25. august 2005 - 22:00 #28
den mailform jeg gerne vil ha til at virke, virker IKKE. Det er kun den lille test showsource lavede til mig der virker.
Så jeg har stadig brug for alt den hjælp jeg kan få :)
Avatar billede leif Seniormester
25. august 2005 - 22:30 #29
Ændre din $name til $_POST[name] osv.
Avatar billede soundwave Nybegynder
26. august 2005 - 07:42 #30
så skriver den: "Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in ....../mailform-test.php on line 23" dvs. der hvor der nu står "Navn: $_POST["name"]
Avatar billede showsource Seniormester
26. august 2005 - 08:20 #31
Hvis du bruger " eller ' i variablen,
$_POST["name"], skal du "ud af strengen":
$indhold = "
Navn: ". $_POST["name"] ."

Tlf: $_POST[phone]

";


o.s.v.
Avatar billede showsource Seniormester
26. august 2005 - 08:21 #32
F.eks.

echo"Posts: ". $_POST["name"] ." - $_POST[phone] - blabla";
Avatar billede soundwave Nybegynder
26. august 2005 - 17:48 #33
Det virker stadig ikke...

nu ser booking-test.php sådan ud, og den melder ingen fejl:


<? 
$adminaddress = "clt@galnet.dk";

$siteaddress ="http://www.TooLate.dk";

$sitename = "Too Late";

$date = date("m/d/Y H:i:s");

if (empty($_SERVER["REMOTE_ADDR"])) {
$ip = "no ip";
}else{
$ip = getHostByAddr($_SERVER["REMOTE_ADDR"]);
}


IF ($action != ""):
mail("".$_POST["adminaddress"]."","Booking af Too Late fra www.TooLate.dk",
"Navn: ". $_POST["name"] ."
Tlf: ". $_POST["phone"] ."
Email: ". $_POST["email"] ."
Arangement: ". $_POST["arr"] ."
Placering: ". $_POST["sted"] ."
Dato: ". $_POST["dat"] ."
Fritekst: ". $_POST["tekst"] ."\n", "From:webmaster@toolate.dk");



mail("". $_POST["email"] ."","Booking af Too Late på www.TooLate.dk", "Hej ". $_POST["name"] .",\n
Tak for din interesse i Too Late.
Vi vil hurtigst muligt kontakte dig for nærmere oplysninger angående arrangementet.\n

Denne Email er autogenereret, og kan derfor ikke besvares.

". $_POST["sitename"] ."
". $_POST["siteaddress"] ."
Tlf: 75518152","FROM:webmaster@toolate.dk");

ENDIF;
?>
Avatar billede showsource Seniormester
26. august 2005 - 17:58 #34
Prøve at ændre
IF ($action != ""):
til
if(isset($_POST["send"])) {

/////////////
Du har iøvrigt ingen action defineret nogen steder i din formular, og form "action="  er ikke nok.
/////////////


og
ENDIF;
til
}

Og denne:
mail("". $_POST["email"] ."",
skal være
mail($_POST["email"],
Avatar billede soundwave Nybegynder
30. august 2005 - 18:31 #35
Det virker stadig ikke.

mailform-test.php ser sådan ud nu:


<? 
$adminaddress = "clt@galnet.dk";

$siteaddress ="http://www.TooLate.dk";

$sitename = "Too Late";

$date = date("m/d/Y H:i:s");

if (empty($_SERVER["REMOTE_ADDR"])) {
$ip = "no ip";
}else{
$ip = getHostByAddr($_SERVER["REMOTE_ADDR"]);
}


if(isset($_POST["send"])) {
mail($_POST["adminaddress"],"Booking af Too Late fra www.TooLate.dk",
"Navn: ". $_POST["name"] ."
Tlf: ". $_POST["phone"] ."
Email: ". $_POST["email"] ."
Arangement: ". $_POST["arr"] ."
Placering: ". $_POST["sted"] ."
Dato: ". $_POST["dat"] ."
Fritekst: ". $_POST["tekst"] ."\n", "From:webmaster@toolate.dk");


mail($_POST["email"],"Booking af Too Late på www.TooLate.dk", "Hej ". $_POST["name"] .",\n
Tak for din interesse i Too Late.
Vi vil hurtigst muligt kontakte dig for nærmere oplysninger angående arrangementet.\n

Denne Email er autogenereret, og kan derfor ikke besvares.

". $_POST["sitename"] ."
". $_POST["siteaddress"] ."
Tlf: 75518152","FROM:webmaster@toolate.dk");

}
?>
Avatar billede showsource Seniormester
30. august 2005 - 19:35 #36
Den her
mail("".$_POST["adminaddress"]."",

skal være
mail($adminaddress,

og
". $_POST["sitename"] ."
". $_POST["siteaddress"] ."

skal ligeledes være
". $sitename ."
". $siteaddress ."
Avatar billede soundwave Nybegynder
30. august 2005 - 22:08 #37
Det er hermed rettet, men det virker stadig ikke...
Den ser nu sådan ud:

<? 
$adminaddress = "clt@galnet.dk";

$siteaddress ="http://www.TooLate.dk";

$sitename = "Too Late";

$date = date("m/d/Y H:i:s");

if (empty($_SERVER["REMOTE_ADDR"])) {
$ip = "no ip";
}else{
$ip = getHostByAddr($_SERVER["REMOTE_ADDR"]);
}


if(isset($_POST["send"])) {
mail($adminaddress,"Booking af Too Late fra www.TooLate.dk",
"Navn: ". $_POST["name"] ."
Tlf: ". $_POST["phone"] ."
Email: ". $_POST["email"] ."
Arangement: ". $_POST["arr"] ."
Placering: ". $_POST["sted"] ."
Dato: ". $_POST["dat"] ."
Fritekst: ". $_POST["tekst"] ."\n", "From:webmaster@toolate.dk");


mail($_POST["email"],"Booking af Too Late på www.TooLate.dk", "Hej ". $_POST["name"] .",\n
Tak for din interesse i Too Late.
Vi vil hurtigst muligt kontakte dig for nærmere oplysninger angående arrangementet.\n

Denne Email er autogenereret, og kan derfor ikke besvares.

$sitename
$siteaddress
Tlf: 75518152","FROM:webmaster@toolate.dk");

}
?>
Avatar billede soundwave Nybegynder
30. august 2005 - 22:56 #38
Nu har jeg brugt noget andet kode, og har fået det til at virke! Dog vil jeg gerne have at når der bliver trykket på "send" kommer en tekst hvor der står: "Meddelelsen er sendt!" istedet for tekstfelterne. Hvordan gør jeg det?

Koden ser sådan ud:

<?php

  if(isset($_POST['mailform']) && !empty($_POST['inputname']) && !empty($_POST['inputemail']) && !empty($_POST['inputmessage'])) {
      $recipient = "clt@galnet.dk";
      $subject = "Booking af Too Late på www.TooLate.dk";
      $message .= "Navn: $_POST[inputname]\r\n";
      $message .= "Tlf: $_POST[inputtelephone]\r\n";
      $message .= "Email: $_POST[inputemail]\r\n";
      $message .= "Arrangement: $_POST[inputarr]\r\n";
      $message .= "Placering: $_POST[inputsted]\r\n";
      $message .= "Dato: $_POST[inputdato]\r\n";
      $message .= "Fritekst: $_POST[inputmessage]\r\n";
      $headers = "From: TooLate.dk <webmaster@toolate.dk>\r\n";
      mail ($recipient, $subject, $message, $headers);
      mail ($inputemail, $subject, "Hej $inputname,\n
Tak for din interesse i Too Late.
Vi vil hurtigst muligt kontakte dig for nærmere oplysninger angående arrangementet.\n

Denne Email er autogenereret, og kan derfor ikke besvares.

Too Late
www.TooLate.dk
Tlf: 75518152");
    }elseif(isset($_POST['mailform'])) {
      $msg = 'Udfyld venligst alle felterne!';
    }
 
  if(isset($_GET['msg']) && $_GET['msg'] == "ok"){
      $msg = 'Beskeden er sendt!';
  }
  echo $msg;
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" value="<?php echo $_POST['inputname']; ?>" name="inputname"><br>
<input type="text" name="inputtelephone"><br> 
<input type="text" value="<?php echo $_POST['inputemail']; ?>" name="inputemail"><br>
<input type="text" name="inputarr"><br>
<input type="text" name="inputsted"><br>
<input type="text" name="inputdato"><br>
<textarea rows="5" cols="0" name="inputmessage"><?php echo $_POST['inputmessage']; ?></textarea><br>
  <input type="submit" name="mailform" value="Send">
</form>
Avatar billede soundwave Nybegynder
01. marts 2006 - 14:32 #39
Lukker...
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