[php] email met html opmaak klopt niet

Pagina: 1
Acties:

Onderwerpen


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
ik heb de volgende regel die erg vreemd doet :

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                $body.= '<table>';
                        foreach ($_SESSION['ray'] as $keywaarde => $raywaarde)
                        {
                        
                            $media_id=$raywaarde;
                            $select = "select * from media_regel where id=$media_id";
                            $runq=mysql_query($select);
                            while ($rij = mysql_fetch_object($runq))
                            {
                                
                                $i=$i+1;
                                $body.= '<tr class=inner><td width=10>$i</td><td width=500>$rij->media_titel</td><td >$rij->media_prijs</td></tr>';
                                $price= $price + str_replace(",",".",$rij->media_prijs);
                            }
                        }
                        
                $body.='</table></body></html>';


het gekke is, is als ik de for-lus doe in een pagina, dit goed gaat, maar als ik het in de email zet (door de $body.) dan gaat het mis, dan werken de $ - variabelen niet meer..hoe ken dat ?

| www.everythingisspiritual.com | www.mosaic.org |


Verwijderd

$i staat in een string tussen enkele quotes. Het wordt dus letterlijk afgebeeld, en niet door zijn waarde vervangen. Ook in een pagina hoort dit niet goed te gaan. Dit staat overigens letterlijk in de manual, namelijk hier.

[ Voor 4% gewijzigd door Verwijderd op 24-09-2003 19:06 ]


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
vergeef me..close the topic pleaz.. ik moet de variabelen wel tussen '. en .' zetten ...

| www.everythingisspiritual.com | www.mosaic.org |


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
maar deze dan ? : $body. = '<style type="text/css"> '; waarom werkt deze niet ? (gaat mis bij de '='

[ Voor 22% gewijzigd door whitehouse op 24-09-2003 19:13 ]

| www.everythingisspiritual.com | www.mosaic.org |


Verwijderd

. = != .=

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
dan zou ik de volgende regel goed moeten hebben :

$body.='<tr class=inner><td width=10>'.$i.'</td><td width=500>'.$rij->media_titel.'</td><td>'.$rij->media_prijs.'</td></tr>';

waarom krijg ik, de 2e (van de 3) keer dat ie die loop maakt, de laatste <td niet afgesloten ?? (door een fout zet hij dan ook die laatste td van de 2e loop BOVEN de table)

| www.everythingisspiritual.com | www.mosaic.org |


Verwijderd

Maak dat eens een stuk simpeler door eerst gewoon een string met de gewenste output daa te pleuren.

$body .= '<tr>~html gedoe~</tr>';

Als alles nu wel klopt ga je stuk voor stuk stukjes string veranderen door variabelen. Dat is nou debuggen.

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
het volgende probleem doet zich voor.. ik heb de volgende regel :
PHP:
1
$body.="<tr class=inner><td width=10>".$i."</td><td width=200>".$rij->media_auteur."</td><td width=300>".$rij->media_titel."</td><td>".$rij->media_prijs."</td></tr>\r\n";

als de variabele (in mijn geval : $rij-media_auteur) een string is bestaande uit 2 woorden en een spatie, gaat de $.body gek doen..he "preserve" (bewaar) ik toch de spatie in de string ?

| www.everythingisspiritual.com | www.mosaic.org |


Acties:
  • 0 Henk 'm!

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
ik heb een volgende vraag die nog steeds betrekking hep op mijn php-email - functie..

Ik heb een body van een email die ik met $body.="" steeds uitbreid. in de body zitten variabelen uit de $_POST[] die dan in de body worden gezet (NAW gegevens bijv) .. als iemand een hele lange naam hep , komt de regel boven de 76 chars, en gaat mijn email een beetje gek doen (html-opmaak klopt dan niet altijd meer)...

wat kan ik hier aan doen ?

hier de code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
                $body= "<html><head>\r\n";
                $body.= "<style type='text/css'>\r\n";
                $body.= "TABLE.INNER {  background-color: #FFFFFF;";
                $body.= "border-bottom: 2px outset; border-right: 2px outset;"; 
                $body.= "border-color: 7d808e;} \r\n";
                $body.= "TD {   font-family: Arial, Helvetica, sans-serif; font-size:";
                $body.= "12px; font-style: normal; line-height: normal;";
                $body.= "font-weight: normal; font-variant: normal;";
                $body.= "text-transform: none; color: black;}\r\n ";
                $body.= "TH {   Background-color:#990000;";
                $body.= "font-family: Arial, Helvetica, sans-serif;";
                $body.=" font-size: 12px; font-style: normal";
                $body.= "line-height: normal; font-weight: normal; font-variant:normal; ";
                $body.= "text-transform: none; color:#FFFFFF;";
                $body.= "text-align: left;}\r\n";
                $body.= "TR.INNER               {   background-color: #82B49B;  }\r\n";
                $body.= "TR.HEAD                {   background-color: #82B49B;  }\r\n";
                $body.= "--></style></head>\r\n";
                $body.="<body bgcolor=#006633>\r\n";
                $body.="<div id='Layer1' style='position:absolute; width:507px;"; 
                $body.="height:79px; z-index:5;"; 
                $body.="left: 30; top: 10; visibility: visible';>\r\n";
                $body.="<table width='600px' class=inner cellpadding='2' cellspacing='1'>\r\n";
                $body.="<tr class=inner>";
                $body.="<th colspan=2>Persoonlijke gegevens</th>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td colspan=2>Hieronder ziet u de gegevens zoals ";
                $body.="wij deze hebben ontvangen.</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td width='140'>Titel: </td>";
                $body.="<td width='446'>" .$_POST['titel']. "</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>Voornaam: *</td>";
                $body.="<td>" .$_POST['voornaam']. "</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>Tussenvoegsel: </td>";
                $body.="<td>" .$_POST['tussenvoegsel']. "</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>Achternaam: * </td>";
                $body.="<td>" .$_POST['achternaam']. "</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>Straat/Huisnummer: *</td>";
                $body.="<td>" .$_POST['straat']. " ".$_POST['huisnr']."</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>Postcode/Plaats:</td>";
                $body.="<td>" .$_POST['postcode']. " ".$_POST['plaats']."</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>Land:</td>";
                $body.="<td>" .$_POST['land']. "</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>Telefoonnummer:</td>";
                $body.="<td>" .$_POST['teloverdag']. "</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>";
                $body.="<td>E-mail adres:</td>";
                $body.="<td>" .$_POST['email']. "</td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>\r\n";
                $body.="<td></td>";
                $body.="<td></td>";
                $body.="</tr>\r\n";
                $body.="<tr class=inner>\r\n";
                $body.="<td>Banknummer:</td>";
                $body.="<td>" .$_POST['rekbank']. "</td>";
                $body.="</tr>\r\n";

| www.everythingisspiritual.com | www.mosaic.org |


Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Blijkbaar is de vormgeving van de mail gebouwd op een woord wat niet langer is dan 76 tekens.

Je kan dan 2 dingen doen

1. Vormgeving aanpassen naar 1 met meer vrijheid (maar 76 karakters is veel ;) )
2. De woorden die langer zijn dan 76 tekens inkorten tot 76 tekens :)

PHP:
1
2
3
4
if(strlen($woord) > 75) 
{
     $woord = substr($woord,0,75);
}


Maar dit komt meer aan op een design kwestie als ene programmeer kwestie :)

Ja man

Pagina: 1