Avatar billede pepperfar Nybegynder
03. september 2006 - 15:03 Der er 44 kommentarer og
1 løsning

Flere "inputs" i kontakt php script

Hej

Jeg har et php sender script som jeg skal have tilføjet 2 inputs i.

Hvordan gør jeg det udfra følgende script:



<?php
if (isset($_POST['submit'])) {
if($_SESSION['verify'] == strtoupper($_POST['auth'])) {
  if (!empty($_POST['name']) && !empty($_POST['subject']) &&
  !empty($_POST['email']) && !empty($_POST['message'])) {
  $headers="From: ".$_POST['name']."<".$_POST['email'].">";
  if (@$_POST['customer_copy']) {
    $headers .= "\r\nBcc: ".$_POST['email'];
  }
  if(@mail("mail@mail.dk", strip_tags($_POST['subject']),
  stripslashes(strip_tags($_POST['message'])), $headers)) {
    echo "<p>Tak for din henvendelse. Vi vender tilbage hurtigt som muligt.</p>";
  }
  else {
    echo "<p>E-mailen blev ikke sendt. Der skete en fejl. <br><br>Gå venligst tilbage og prøv igen!</p>";
  }
  }
  else {
  echo "<p>Alle felter skal udfyldes!<br><br>Gå venligst tilbage og prøv igen!</p>";
  }
}
else {
  echo '<p>Desværre, verifikationskoden kunne ikke godkendes!<br><br>Gå venligst tilbage og prøv igen!</p>';
}
}
?>
Avatar billede jakobdo Ekspert
03. september 2006 - 15:06 #1
Hvad hedder felterne?
Og hvor vil du have dataen fra dem hen?
Avatar billede pepperfar Nybegynder
03. september 2006 - 15:10 #2
Felterne hedder "url" og "url1"
Felterne skal sendes til samme mail adresse som de andre felter. De 2 nye felter skal gerne være det sidste i beskeden.
Avatar billede jakobdo Ekspert
03. september 2006 - 15:16 #3
Du kunne f.eks. lave:

$subject = strip_tags($_POST['subject']);
$body  = stripslashes(strip_tags($_POST['message']));
$body .= stripslashes(strip_tags($_POST['url']));
$body .= stripslashes(strip_tags($_POST['url1']));

if(@mail("mail@mail.dk", $subject, $body, $headers))
Avatar billede pepperfar Nybegynder
03. september 2006 - 15:21 #4
Hvordan vil den samlede kode så se ud?
Avatar billede jakobdo Ekspert
03. september 2006 - 15:31 #5
Ahhh, come on...
Se hvad jeg har lavet, og se hvor koden ligner den kode du allerede har!
Avatar billede pepperfar Nybegynder
03. september 2006 - 15:43 #6
Du må virkelig undskylde men kan ikke se hvor det skal passe ind!
Avatar billede pepperfar Nybegynder
03. september 2006 - 15:54 #7
Sætter jeg det ind mellem følgende kommer de nye inputs ikke med i mailen.

$headers .= "\r\nBcc: ".$_POST['email'];

$body .= stripslashes(strip_tags($_POST['url']));
$body .= stripslashes(strip_tags($_POST['url1']));

  }
  if(@mail("mail@mail.dk", strip_tags($_POST['subject']),
Avatar billede jakobdo Ekspert
03. september 2006 - 15:56 #8
<?php
if (isset($_POST['submit']))
{
    if($_SESSION['verify'] == strtoupper($_POST['auth']))
    {
      if (!empty($_POST['name']) && !empty($_POST['subject']) && !empty($_POST['email']) && !empty($_POST['message']))
      {
          $headers="From: ".$_POST['name']."<".$_POST['email'].">";
          if (@$_POST['customer_copy'])
          {
            $headers .= "\r\nBcc: ".$_POST['email'];
          }
         
          $subject = strip_tags($_POST['subject']);
            $body  = stripslashes(strip_tags($_POST['message']));
            $body .= stripslashes(strip_tags($_POST['url']));
            $body .= stripslashes(strip_tags($_POST['url1']));
         
          if(@mail("mail@mail.dk", $subject, $body, $headers))
          {
            echo "<p>Tak for din henvendelse. Vi vender tilbage hurtigt som muligt.</p>";
          }
          else
          {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. <br><br>Gå venligst tilbage og prøv igen!</p>";
          }
      }
      else
      {
          echo "<p>Alle felter skal udfyldes!<br><br>Gå venligst tilbage og prøv igen!</p>";
      }
    }
    else
    {
      echo '<p>Desværre, verifikationskoden kunne ikke godkendes!<br><br>Gå venligst tilbage og prøv igen!</p>';
    }
}
?>
Avatar billede pepperfar Nybegynder
03. september 2006 - 16:00 #9
Jep, det har jeg også prøvet men så skriver den at der er en forkert verifikationskode, uanset hvad man skriver som verifikationskode.
Avatar billede jakobdo Ekspert
03. september 2006 - 16:05 #10
Sikker på verifikations koden er sat?
Eller at du taster den rigtige kode.
Avatar billede pepperfar Nybegynder
03. september 2006 - 16:16 #11
Ja koden er sat og bliver tastet rigtigt. Er der ikke en anden måde at gøre det på? f.eks at kopiere:

empty($_POST['message']))

og bytte message om med url:

empty($_POST['url']))
Avatar billede jakobdo Ekspert
03. september 2006 - 16:25 #12
Du kan ihf. prøve.
Avatar billede pepperfar Nybegynder
03. september 2006 - 16:37 #13
Nope, virker heller ikke ikke, så melder scriptet fejl i linien.
Avatar billede jakobdo Ekspert
03. september 2006 - 16:57 #14
Husk, kun en )
Ikke: empty($_POST['url']))
Men empty($_POST['url'])
Avatar billede pepperfar Nybegynder
03. september 2006 - 17:03 #15
Så melder den ganske rigtigt ikke fejl, men input feltet "url" kommer stadig ikke med i meddelsen.
Avatar billede pepperfar Nybegynder
03. september 2006 - 17:56 #16
Andre som har nogle foreslag?
Avatar billede shooka Nybegynder
03. september 2006 - 17:59 #17
Hvor kommer informationerne fra?
Avatar billede pepperfar Nybegynder
03. september 2006 - 18:10 #18
Infomationerne kommer fra følgende script:

<form method="post" action="sender.php">

<fieldset>
<legend>Husk at udfylde alle felter</legend>

<label for="t1">Navn:</label>
<input id="t1" type="text" name="name" /><br />

<label for="t2">Email:</label>
<input id="t2" type="text" name="email" /><br />

<label for="t3">Emne:</label>
<input id="t3" type="text" name="subject" /><br />

<label for="t4">Besked:</label>
<textarea id="t4" name="message" rows="10" cols="49"></textarea><br />

<label for="t5">Kopi til dig?</label>
<input type="checkbox" id="t5" name="customer_copy" checked="checked" /><br />

<label for="auth">Verifikation:</label>
<span style="float:left;margin-right=10px;">
<input type="password" id="auth" name="auth" />
<br />Indtast kode for<br />at sende mail!
</span>
<img src="verify.php" alt="auth" /><br />

<label for="t6"> </label><input id="t6" type="submit" name="submit" value=" Send mail " />
&nbsp; &nbsp; <input type="reset" value=" Slet alt " />
</fieldset>
</form>
Avatar billede pepperfar Nybegynder
03. september 2006 - 18:11 #19
Avatar billede shooka Nybegynder
03. september 2006 - 18:31 #20
Hvorfra har du $_POST['url'] og $_POST['url1']? kan ikke se, hvad de skal indeholde.
Avatar billede pepperfar Nybegynder
03. september 2006 - 19:11 #21
De indgår ikke i denne formular, somsagt er en fra http://www.hjemmesideskolen.dk/scripts/phpmailc.php. Min er princippet den samme bare hvor et nyt indput hedder url1 og url.
Avatar billede shooka Nybegynder
03. september 2006 - 19:15 #22
Jeg troede bare, at du havde ændret i din form:

<form method="post" action="sender.php">

<fieldset>
<legend>Husk at udfylde alle felter</legend>

<label for="t1">Navn:</label>
<input id="t1" type="text" name="name" /><br />

<label for="t2">Email:</label>
<input id="t2" type="text" name="email" /><br />

<label for="t3">Emne:</label>
<input id="t3" type="text" name="subject" /><br />

<label for="t3">URL:</label>
<input id="t3" type="text" name="subject" /><br />

<label for="t3">URL1:</label>
<input id="t3" type="text" name="subject" /><br />

<label for="t4">Besked:</label>
<textarea id="t4" name="message" rows="10" cols="49"></textarea><br />

<label for="t5">Kopi til dig?</label>
<input type="checkbox" id="t5" name="customer_copy" checked="checked" /><br />

<label for="auth">Verifikation:</label>
<span style="float:left;margin-right=10px;">
<input type="password" id="auth" name="auth" />
<br />Indtast kode for<br />at sende mail!
</span>
<img src="verify.php" alt="auth" /><br />

<label for="t6"> </label><input id="t6" type="submit" name="submit" value=" Send mail " />
&nbsp; &nbsp; <input type="reset" value=" Slet alt " />
</fieldset>
</form>
Avatar billede pepperfar Nybegynder
03. september 2006 - 19:48 #23
Ja, men jeg kan ikke se hvor du vil hen? Jeg har oprettet 2 indputs i min form. Men skal have "senderen" til at medtage disse data i mailen, samtidligt med at valideringen virker. Det er problemet, nogle som ved hvordan jeg skal gøre dette?
Avatar billede shooka Nybegynder
03. september 2006 - 20:21 #24
Jeg ved ikke, hvad du har gjort forkert, men jeg kan godt få det til at virke:

http://www.shooka.dk/mail/form.php
Avatar billede pepperfar Nybegynder
03. september 2006 - 20:42 #25
Sender den de 2 inputs med mailen? Må jeg se din "sender.php"? Lyder virkelig godt hvis du har fået det til at virke.
Avatar billede shooka Nybegynder
03. september 2006 - 20:46 #26
Avatar billede shooka Nybegynder
03. september 2006 - 20:53 #27
Virker det?
Avatar billede pepperfar Nybegynder
03. september 2006 - 21:30 #28
Ja absolute! Ved ikke hvad der er gået galt før. Men nu står beskeden, url og url1 lige efter hinanden i mailen uden afstand. er det muligt at lave et <br> mellem dem?
Avatar billede pepperfar Nybegynder
03. september 2006 - 21:30 #29
Lav venligst et svar...
Avatar billede shooka Nybegynder
03. september 2006 - 21:41 #30
Jeg skulle mene det hed \n
Avatar billede shooka Nybegynder
03. september 2006 - 21:43 #31
Hvis du vil være helt sikker, så brug: \r\n
Avatar billede pepperfar Nybegynder
03. september 2006 - 21:51 #32
Og hvor er det det skal stå henne?
$subject = strip_tags($_POST['subject']);
$body  = stripslashes(strip_tags($_POST['message'])); \r\n
$body .= stripslashes(strip_tags($_POST['url'])); \r\n
$body .= stripslashes(strip_tags($_POST['url1']));

Sådan eller?
Avatar billede pepperfar Nybegynder
03. september 2006 - 22:01 #34
Rigtig god ide, har du lige en sidste bemærkning til "\r\n". Så vil den være helt i skabet.
Avatar billede shooka Nybegynder
03. september 2006 - 22:06 #35
\r\n er llinie skift som ses på alle systemer ikke kun *NIX, på *NIX er \n nok.

Citat fra iss i spørgsmålet: http://www.eksperten.dk/spm/730007
Avatar billede pepperfar Nybegynder
03. september 2006 - 22:16 #36
ja, men jeg har lidt problemer ang. hvor "\r\n" skal står i "sender.php"?
Avatar billede shooka Nybegynder
03. september 2006 - 22:21 #37
Hehe, ok:

$subject = strip_tags($_POST['subject']);
$body  = stripslashes(strip_tags($_POST['message']))\r\n;
$body .= stripslashes(strip_tags($_POST['url']))\r\n;
$body .= stripslashes(strip_tags($_POST['url1']));
Avatar billede shooka Nybegynder
03. september 2006 - 22:22 #38
$subject = strip_tags($_POST['subject']);
$body  = stripslashes(strip_tags($_POST['message']))."\r\n";
$body .= stripslashes(strip_tags($_POST['url']))."\r\n";
$body .= stripslashes(strip_tags($_POST['url1']));
Avatar billede pepperfar Nybegynder
03. september 2006 - 22:32 #39
Den kommer med følgende error:

Parse error: parse error, expecting `','' or `';'' in /srv/www/htdocs/web50/html/tilfojlink/sender.php on line 25

Når jeg sætter mellemrum "\r\n" ind som du viser. Har du fået det til at virke på dit script?
Avatar billede shooka Nybegynder
03. september 2006 - 22:39 #40
Husker du punktummet?

age']))."\r\n"; og 'url']))."\r\n";
Avatar billede pepperfar Nybegynder
03. september 2006 - 22:41 #41
Ja, jeg har indsat ligesom du har foreskrevet:
$subject = strip_tags($_POST['subject']);
$body  = stripslashes(strip_tags($_POST['message']))."\r\n";
$body .= stripslashes(strip_tags($_POST['url']))."\r\n";
$body .= stripslashes(strip_tags($_POST['url1']));
Avatar billede shooka Nybegynder
03. september 2006 - 22:52 #42
Jeg har fået det til at virke.
Avatar billede shooka Nybegynder
03. september 2006 - 22:55 #43
Avatar billede pepperfar Nybegynder
03. september 2006 - 22:59 #44
Yes, du har ret, men laver den linieskift? Hos mig laver den mellemrum med \r\n
Avatar billede shooka Nybegynder
04. september 2006 - 10:36 #45
Prøv at nøjes med \n
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