Avatar billede 4128 Nybegynder
17. juli 2003 - 18:57 Der er 29 kommentarer og
1 løsning

sammensat streng til mailbody

$j=1;
for ($j=1; $j<20; $j++) {
    if ( $product[j] == 1){
$textemail = $textemail.{"kode"}. " " .$price. " " .$"amount[j]. " " .$var[j]. " " ."/n";

$mail = new mime_mail;
$mail->to = "Tester <test@test.com>";
$mail->from = "tester <fromtest@test.com>";
$mail->subject = "test";
$mail->replay = $mail->from;
$mail->body .=
    "her er mailen,\n\n" . $textemail . "Tak for denne gang":
$mail->send();

Det er ikke løkken jeg er interesseret i skal virke, såfremt den der står på siden ikke virker(bør den gøre).
Jeg har skiftet min egen mærkelige kode ud med arrays isteddet, så det er lettere at forstå.
Det jeg har problemer med, er at få sammensat en streng der kan benyttes i mailformen.
Avatar billede 4128 Nybegynder
17. juli 2003 - 18:59 #1
$j=1;
for ($j=1; $j<20; $j++) {
    if ( $product[j] == 1){
$textemail = $textemail. "kode" . " " .$price. " " .$amount[j]. " " .$var[j]. " " ."/n";               

Så lige at koden var lidt underlig. Men jeg får altså stadig fejl...
Avatar billede Slettet bruger
17. juli 2003 - 19:17 #2
Det er ikke til at forså dit spørgsmål.

Og hvorfor skriver du en masse kode til noget, du så skriver, du ikke er interesseret i?
Avatar billede Slettet bruger
17. juli 2003 - 19:18 #3
forstå
Avatar billede 4128 Nybegynder
17. juli 2003 - 19:21 #4
Alt det kode jeg har skrevet ind, er for at i kan få en forståelse af hvad den variabel jeg forsøger at få sat sammen skal bruges til.
Jeg syntes det er synd, hvis der kommer en masse gode forslag som folk har brugt meget lang tid på at lave, hvis jeg ikke kan bruge det...
Jeg laver et ordentligt stykke kode der skulle give lidt mere mening.
giv mig lige 5 min
Avatar billede 4128 Nybegynder
17. juli 2003 - 19:34 #5
<?
$productname1 = "vare1"; //alle disse variabler bliver sendt via pbs, hvor jeg ikke kan benytte array's
$productname2 = "vare2";
$productname3 = "vare3";
$productname4 = "";
$amount1 = 10;
$amount2 = 20;
$amount3 = 30;
$amount4 = 0;
$product1 = "1";
$product2 = "1";
$product3 = "1";
$product4 = "0";
$price = " - Price: ";
$currency = ".00DK";

$textemail = "";
$j=1;
for ($j=1; $j<20; $j++) {
    if ( ${"product".$j} == 1){
$textemail = $textemail.${"productname".$j}. " " .$price. " " .$("amount".$j). " " .$currency. " " ."/n";
   
}}                   
                   
    $mail = new mime_mail;
    $mail->to = "test <n@n.dk>";
    $mail->from = "test <n@n.dk>";
    $mail->subject = "tak";
    $mail->replay = $mail->from;
   
    $mail->body .=
   
  "Dear Sir,\n\n" .$textemail.

  "----------------------------------------------\n\n";
    $mail->send();
?>

Håber den her kode er bedre.
jeg uddyber gerne...
Avatar billede 4128 Nybegynder
17. juli 2003 - 19:40 #6
problemet er iøvrigt, at jeg får en fejl på linien hvor $textemail sættes sammen(under if sætningen)
Avatar billede detox Nybegynder
17. juli 2003 - 20:25 #7
Og hvad er fejlen?
Avatar billede detox Nybegynder
17. juli 2003 - 20:37 #8
Du skal hvert fald bytte paranteserne her med brackets:
$textemail.${"productname".$j}. " " .$price. " " .${"amount".$j}. " " .$currency. " " ."/n";
Avatar billede detox Nybegynder
17. juli 2003 - 20:42 #9
Prøv med:
---------
<?
$productname1 = "vare1"; //alle disse variabler bliver sendt via pbs, hvor jeg ikke kan benytte array's
$productname2 = "vare2";
$productname3 = "vare3";
$productname4 = "";
$amount1 = 10;
$amount2 = 20;
$amount3 = 30;
$amount4 = 0;
$product1 = "1";
$product2 = "1";
$product3 = "1";
$product4 = "0";
$price = " - Price: ";
$currency = ".00DK";

$textemail = "";

for ($j=1; $j<20; $j++) {
    if ( ${"product".$j} == 1){
$textemail .= ${"productname".$j}. " " .$price. " " .${"amount".$j}. " " .$currency. " " ."\r\n"; 
}}                   
             
    $mail = new mime_mail;
    $mail->to = "test <n@n.dk>";
    $mail->from = "test <n@n.dk>";
    $mail->subject = "tak";
    $mail->replay = $mail->from;
    $mail->body .=
   
  "Dear Sir,\n\n" .$textemail.

  "----------------------------------------------\n\n";
    $mail->send();
?>
Avatar billede 4128 Nybegynder
17. juli 2003 - 21:06 #10
<?
$productname1 = "vare1"; //alle disse variabler bliver sendt via pbs, hvor jeg ikke kan benytte array's
$productname2 = "vare2";
$productname3 = "vare3";
$productname4 = "";
$amount1 = 10;
$amount2 = 20;
$amount3 = 30;
$amount4 = 0;
$product1 = "1";
$product2 = "1";
$product3 = "1";
$product4 = "0";
$price = " - Price: ";
$currency = ".00DK";


$j=1;
$textemail="";
for ($j=1; $j<20; $j++) {
    if ( ${"product".$j} == 1){
$textemail .= ${"productname".$j}. " " .$price. " " .${"amount".$j}. " " .$currency. " " ."\r\n"; 
}}
echo "$textemail";

?>

Meningen ér at dette burde udskrive på skærmen:
vare1  - Price:  10.00 DKK
vare2  - Price:  20.00 DKK
vare3  - Price:  30.00 DKK
Avatar billede 4128 Nybegynder
17. juli 2003 - 21:07 #11
den skriver ikke noget ud.
Avatar billede detox Nybegynder
17. juli 2003 - 21:08 #12
Så skal du ændre den her:
$currency = ".00 DK";
og den her:
echo nl2br($textemail);
Avatar billede detox Nybegynder
17. juli 2003 - 21:10 #13
og den her:
$textemail .= ${"productname".$j}. " " .$price. " " .${"amount".$j}.$currency. " " ."\r\n";
Avatar billede 4128 Nybegynder
17. juli 2003 - 21:17 #14
Jeg har foretaget en ren copy paste, og der bliver ikke printet noget ud.
Hvad betyder nl2br iøvrigt?
Avatar billede detox Nybegynder
17. juli 2003 - 21:19 #15
nl2br ændrer \r\n til <br>
Den her fungerer hos mig:
-------------------------
<?
$productname1 = "vare1"; //alle disse variabler bliver sendt via pbs, hvor jeg ikke kan benytte array's
$productname2 = "vare2";
$productname3 = "vare3";
$productname4 = "";
$amount1 = 10;
$amount2 = 20;
$amount3 = 30;
$amount4 = 0;
$product1 = "1";
$product2 = "1";
$product3 = "1";
$product4 = "0";
$price = " - Price: ";
$currency = ".00 DK";

$textemail = "";

for ($j=1; $j<20; $j++) {
    if (isset(${"product".$j}) && ${"product".$j} == 1){
$textemail .= ${"productname".$j}." ".$price." ".${"amount".$j}.$currency."\r\n";
}}                   
  echo nl2br($textemail);
?>
Avatar billede detox Nybegynder
17. juli 2003 - 21:21 #16
Du har jo brug for "\r\n" i din mail, men "<br />" på skærmen.
Avatar billede 4128 Nybegynder
17. juli 2003 - 21:25 #17
Det fungerer som en drøm :)
Tak.
Jeg har en anden én hvis du lige har 10 min...
Du skal også lige have nogen point!
Avatar billede detox Nybegynder
17. juli 2003 - 21:28 #18
Jo da. c",)
Avatar billede detox Nybegynder
17. juli 2003 - 21:30 #19
.
Avatar billede 4128 Nybegynder
17. juli 2003 - 21:35 #20
Det her virker:
<?
$productname1 = "vare1";
$productname2 = "vare2";
$productname3 = "vare3";
$productname4 = "";
$amount1 = 10;
$amount2 = 20;
$amount3 = 30;
$amount4 = 0;
$product1 = "1";
$product2 = "1";
$product3 = "1";
$product4 = "0";
$price = " - Price: ";
$currency = ".00DK";
?> 
      <table width="462" border="0" cellspacing="0" cellpadding="20" height="264">
      <form name="formular" method="POST" action="https://secure.webhosting.dk/pbsgateway/index.php">
<INPUT TYPE="HIDDEN" NAME="product1" VALUE="<?= $product1 ?>">
<INPUT TYPE="HIDDEN" NAME="product2" VALUE="<?= $product2 ?>">
<INPUT TYPE="HIDDEN" NAME="product3" VALUE="<?= $product3 ?>">
<INPUT TYPE="HIDDEN" NAME="product4" VALUE="<?= $product4 ?>">
<INPUT TYPE="HIDDEN" NAME="productname1" VALUE="<?= $productname1 ?>">
<INPUT TYPE="HIDDEN" NAME="productname2" VALUE="<?= $productname2 ?>">
<INPUT TYPE="HIDDEN" NAME="productname3" VALUE="<?= $productname3 ?>">
<INPUT TYPE="HIDDEN" NAME="productname4" VALUE="<?= $productname4 ?>">
<INPUT TYPE="HIDDEN" NAME="amount1" VALUE="<?= $amount1 ?>">                 
<INPUT TYPE="HIDDEN" NAME="amount2" VALUE="<?= $amount2 ?>">                 
<INPUT TYPE="HIDDEN" NAME="amount3" VALUE="<?= $amount3 ?>">                 
<INPUT TYPE="HIDDEN" NAME="amount4" VALUE="<?= $amount4 ?>">



Det her virker ikke:
<?
$productname1 = "vare1";
$productname2 = "vare2";
$productname3 = "vare3";
$productname4 = "";
$amount1 = 10;
$amount2 = 20;
$amount3 = 30;
$amount4 = 0;
$product1 = "1";
$product2 = "1";
$product3 = "1";
$product4 = "0";
$price = " - Price: ";
$currency = ".00DK";
$j=1;
?>
<table width="462" border="0" cellspacing="0" cellpadding="20" height="264">
<form name="formular" method="POST" action="https://secure.webhosting.dk/pbsgateway/index.php">
<?
for ($j=1; $j<2; $j++) {
    if ( ${"product".$j} == 1){?>

      <INPUT TYPE="HIDDEN" NAME="<?"amount$j"?>" VALUE="<?= ${"amount".$j}?>">       
      <INPUT TYPE="HIDDEN" NAME="<?"product$j"?>" VALUE="<?= ${"product".$j}?>">       
      <INPUT TYPE="HIDDEN" NAME="<?"productname$j"?>" VALUE="<?= ${"productname".$j}?>"> -->     
        <?}}?>
Avatar billede 4128 Nybegynder
17. juli 2003 - 21:36 #21
bare glem -->
Avatar billede detox Nybegynder
17. juli 2003 - 21:38 #22
ok, har glemt det ;-)
Avatar billede 4128 Nybegynder
17. juli 2003 - 21:41 #23
ikke spørgsmålet sorry... det var "-->" jeg mente. Jeg har kæpet med det i 1 helt døgn.
Avatar billede detox Nybegynder
17. juli 2003 - 22:03 #24
Ahh, ok. Prøver lige at se på det.
Avatar billede 4128 Nybegynder
17. juli 2003 - 22:07 #25
Jeg har lige oprettet en ny så du kunne se det :)
Men det er ren hæder til dig så det gør vel ikke så meget...
Så kan du også få lidt flere point >=))>
Avatar billede detox Nybegynder
17. juli 2003 - 22:08 #26
Virker dette?:
--------------
<?
$productname1 = "vare1";
$productname2 = "vare2";
$productname3 = "vare3";
$productname4 = "";
$amount1 = 10;
$amount2 = 20;
$amount3 = 30;
$amount4 = 0;
$product1 = "1";
$product2 = "1";
$product3 = "1";
$product4 = "0";
$price = " - Price: ";
$currency = ".00DK";
$j=1;
?>
<table width="462" border="0" cellspacing="0" cellpadding="20" height="264">
<form name="formular" method="POST" action="https://secure.webhosting.dk/pbsgateway/index.php">
<?
for ($j=1; $j<5; $j++) {
    if ( ${"product".$j} == 1){?>

      <INPUT TYPE="HIDDEN" NAME="<?="amount$j"?>" VALUE="<?=${"amount$j"}?>">       
      <INPUT TYPE="HIDDEN" NAME="<?="product$j"?>" VALUE="<?=${"product$j"}?>">       
      <INPUT TYPE="HIDDEN" NAME="<?="productname$j"?>" VALUE="<?=${"productname$j"}?>">   
        <?}}?>
Avatar billede 4128 Nybegynder
17. juli 2003 - 22:10 #27
har lige set at j skal sættes =4
Avatar billede 4128 Nybegynder
17. juli 2003 - 22:11 #28
:)
Avatar billede 4128 Nybegynder
17. juli 2003 - 22:21 #29
det vil den desværre ikke.
Når jeg går til næste side kommer informationen ikke med.
Avatar billede detox Nybegynder
17. juli 2003 - 22:25 #30
Ok lad os fortsætte ved dit næste spørgsmål:
http://www.eksperten.dk/spm/377252
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