[PHP] parse error unexpected T_STRING

Pagina: 1
Acties:
  • 53 views sinds 30-01-2008

  • Matthijs1982
  • Registratie: Augustus 2005
  • Laatst online: 02-06-2021
Ik gebruik dit script om nieuwsbrieven mee te versturen. Dit werkte goed. Alleen nu wil ik het uitbreiden om multipart emails te versturen.

Ik krijg deze foutmelding: Parse error: parse error, unexpected T_STRING op regel 159. Dat is deze regel: boundary="----=_NextPart_000_002C_01BFABBF.4A7D6BA0"

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
<?php 
$mailingbericht = '
boundary="----=_NextPart_000_002C_01BFABBF.4A7D6BA0" 

------=_NextPart_000_002C_01BFABBF.4A7D6BA0 
Content-Type: text/plain; 
charset="iso-8859-1" 
Content-Transfer-Encoding: 8bit 

$tbody 

------=_NextPart_000_002C_01BFABBF.4A7D6BA0 
Content-Type: text/html; 
charset="iso-8859-1" 
Content-Transfer-Encoding: quoted-printable 

$sBody 

------=_NextPart_000_002C_01BFABBF.4A7D6BA0-- '; 

// ontvangers 
$ontvanger2 .= "Nieuwsbrief <test@test.nl>" ; 

// onderwerp 
$onderwerp2 .= "$onderwerp"; 

// bericht 
$bericht2 .= "$mailingbericht"; 

$headers2 .= "From: Test<webmaster@test.nl>\n"; 
$headers2 .= "Reply-To: Test<test@test.nl>\n"; 
//$headers2 .= "BCC: Nieuwsbrief<info@test.nl>\n"; 
$headers2 .= "Content-Type: multipart/alternative; charset=iso-8859-1\n"; 
$headers2 .= "MIME-Version: 1.0\n"; 
$headers2 .= "Return-Path: Test<webmaster@test.nl>\n"; 
$headers2 .= "Precedence: Bulk\n"; 
mail($ontvanger2, $onderwerp2, $bericht2, $headers2) or die(error); 

?> 


Wie kan me vertellen wat ik verkeerd doe?

[ Voor 10% gewijzigd door Matthijs1982 op 16-08-2005 12:53 ]


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 16:43
Waarschijnlijk een foutje met quotes en zo (kijk ook eens in de regel ervoor)? Zet je code eens tussen [php]-tags, dat leest wat makkelijker ;).

[ Voor 13% gewijzigd door sjroorda op 16-08-2005 12:50 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Je bent op regel 158 waarschijnlijk vergeten een ; te zetten.

Noushka's Magnificent Dream | Unity


  • Matthijs1982
  • Registratie: Augustus 2005
  • Laatst online: 02-06-2021
Ik heb alles binnen enkel quotes gezet. Dan moeten die dubbele quotes geen probleem zijn.

Ik ben ook geen ; vergeten, aangezien dit standaard blokken zijn voor multipart email.

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 16:43
Matthijs1982 schreef op dinsdag 16 augustus 2005 @ 12:55:
Ik heb alles binnen enkel quotes gezet. Dan moeten die dubbele quotes geen probleem zijn.

Ik ben ook geen ; vergeten, aangezien dit standaard blokken zijn voor multipart email.
Zoals gezegd: wat staat er een regel eerder?
En even een beetje offtopic over de quotes: je krijgt nu in je mail dus LETTERLIJK $tbody en zo te staan, in plaats van de waarde van $tbody.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Laat de regels voor regel 159 zien, daar zit de fout namelijk.

Noushka's Magnificent Dream | Unity


  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

or die(error);

heb je deze als constante gedefinieerd ?

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 30-04 16:44
Probeer eens /"

[ Voor 91% gewijzigd door mrFoce op 16-08-2005 13:02 ]


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
De fout Parse error: parse error, unexpected {DATATYPE} op regel {REGEL}. komt heel vaak door een fout in de regel daarvoor. Kijk in dit geval naar regel 158, of indien dat PHP blok daar begon dus naar het einde van het vorige PHP blok.

{signature}


  • Matthijs1982
  • Registratie: Augustus 2005
  • Laatst online: 02-06-2021
Als ik dit gedeelte van het script weghaal werkt alles perfect. Dan wordt er een HTML email verstuurd. Ik wil deze omzetten naar multipart, zodat mensen die alleen platte tekst kunnen lezen ook mijn nieuwsbrieven kunnen ontvangen.

Dit is mijn hele script.

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<?php
error_reporting(E_ALL);

@include("../../../../../.connect.php");

$onderwerp = $_REQUEST["onderwerp"];
$email_id = $_REQUEST["email_id"];
$MyTextarea = $_REQUEST["MyTextarea"];

if ($onderwerp == ""){
echo "<html>
<head>
<title></title>
<link rel=\"stylesheet\" href=\"../../css_om.css\" type=\"text/css\">
</head>
<body leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\"><br>
<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td width=\"500\"><span class=\"kop\">Mailing > Invoer</span></td>
    <td align=\"right\">
    [img]\"../pics/vol.gif\"[/img]
    [img]\"../pics/leeg.gif\"[/img]
    [img]\"../pics/leeg.gif\"[/img]</td>
  </tr>
</table><br>
U bent vergeten om een onderwerp in te voeren. <b><a href=\"javascript:history.back(1)\">Klik hier om terug te gaan.</a></b>
</body>
</html>";
exit;
}

else if ($MyTextarea == ""){
echo "<html>
<head>
<title></title>
<link rel=\"stylesheet\" href=\"../../css_om.css\" type=\"text/css\">
</head>
<body leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\"><br>
<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td width=\"500\"><span class=\"kop\">Mailing > Invoer</span></td>
    <td align=\"right\">
    [img]\"../pics/vol.gif\"[/img]
    [img]\"../pics/leeg.gif\"[/img]
    [img]\"../pics/leeg.gif\"[/img]</td>
  </tr>
</table><br>
U bent vergeten om bij deze mailing tekst in te voeren. <b><a href=\"javascript:history.back(1)\">Klik hier om terug te gaan.</a></b></body>
</html>";
exit;
}

else {

if (!get_magic_quotes_gpc()) {
while (list($key,$value) = each($HTTP_POST_VARS)){
//$value = str_replace("\n","<BR>",$value);
//$value = nl2br($value);
$$key = addslashes($value);
}
while (list($key,$value) = each($HTTP_GET_VARS)){
//$value = str_replace("\n","<BR>",$value);
//$value = nl2br($value);
$$key = addslashes($value);
}
}
elseif (get_magic_quotes_gpc()) {
while (list($key,$value) = each($HTTP_POST_VARS)){
//$value = str_replace("\n","<BR>",$value);
//$value = nl2br($value);
$$key = ($value);
}
while (list($key,$value) = each($HTTP_GET_VARS)){
//$value = str_replace("\n","<BR>",$value);
//$value = nl2br($value);
$$key = ($value);
}
}

$query_check = "SELECT * 
FROM mailing
WHERE mailing.onderwerp = '$onderwerp'";

$htekst = $MyTextarea;
//$tekst = str_replace("<BR>","",$htekst);
//$tekst = str_replace("<DIV></DIV>","",$htekst);
//$tekst = str_replace("\r","",$htekst);
//$tekst = str_replace("<DIV><DIV>","<DIV>",$htekst);
//$tekst = str_replace("</DIV></DIV>","</DIV>",$htekst);
//$tekst = str_replace("A href","A target=\"_blank\" href",$htekst);

$query1 = "insert into mailing (email_id,onderwerp,htekst) values ('$email_id','$onderwerp', '$htekst')";
$result1 = mysql_query($query1);
$email_id = mysql_insert_id();
}

//mail hier
$htekst = $MyTextarea;
$htekst = "".stripslashes($htekst);'
$tBody = "Geachte heer/mevrouw,

Hierbij ontvangt u onze nieuwsbrief.
Uw email programma ondersteunt geen HTML, om onze nieuwsbrief toch te kunnen bekijken, dient u op onderstaande link te klikken.
http://www.test.nl/nieuwsbrief.php?email_id=" .$email_id. " 

Met vriendelijke groet,
Test";

$sBody   = "<html>\r\n".
"<head>\r\n".
"<title>$onderwerp</title>\r\n".
"<style type=\"text/css\">
BODY        {font-family:Arial, Helvetica, sans-serif; font-size:10pt}
DIV         {color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:10pt}
TD          {color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:10pt}
TR          {color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:10pt}
TABLE       {color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:10pt}
A           {color:#E11111; font-family:Arial, Helvetica, sans-serif; font-size:10pt; text-decoration: none}
A:hover     {color:#E11111; font-family:Arial, Helvetica, sans-serif; font-size:10pt; text-decoration: none}
</style>\r\n".
"</head>\r\n".
"<body>\r\n".
"<table width=\"780\" height=\"100%\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <th height=\"149\" align=\"left\" valign=\"top\" scope=\"col\">[img]\"http://www.test.nl/afbeeldingen/top_nieuwsbrief.gif\"[/img]</th>
  </tr>
  <tr>
    <td valign=\"top\" background=\"http://www.test.nl/afbeeldingen/bg_nieuwsbrief.gif\"><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
      <tr>
        <th width=\"150\" scope=\"col\">&nbsp;</th>
        <th align=\"left\" scope=\"col\">$htekst<br /></th>
      </tr>
    </table></td>
    </tr>
  <tr>
    <td height=\"16\" bgcolor=\"#8F8F8F\"><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
    </table></td>
  </tr>
</table>\r\n".
"</body>\r\n".
"</html>\r\n".
"\r\n";

$mailingbericht = '
    
boundary="----=_NextPart_000_002C_01BFABBF.4A7D6BA0"

------=_NextPart_000_002C_01BFABBF.4A7D6BA0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

$tbody

------=_NextPart_000_002C_01BFABBF.4A7D6BA0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

$sBody

------=_NextPart_000_002C_01BFABBF.4A7D6BA0-- ';

// ontvangers
$ontvanger2 .= "Nieuwsbrief Test <test@test.nl>";


// onderwerp
$onderwerp2 .= "$onderwerp";

// bericht
$bericht2 = "$mailingbericht";

$headers2 .= "From: Test<webmaster@test.nl>\n";
$headers2 .= "Reply-To: Test<test@test.nl>\n";
//$headers2 .= "BCC: Nieuwsbrief<test@test.nl>\n";
$headers2 .= "Content-Type: multipart/alternative; charset=iso-8859-1\n";
$headers2 .= "MIME-Version: 1.0\n";
$headers2 .= "Return-Path: Test<test@test.nl>\n";
$headers2 .= "Precedence: Bulk\n";
mail($ontvanger2, $onderwerp2, $bericht2, $headers2) or die(error);

echo "<html>
<head>
<title></title>
<link rel=\"stylesheet\" href=\"../../css.css\" type=\"text/css\">
</head>
<body leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\"><br>
<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td width=\"500\"><span class=\"kop\">Mailing > Invoer</span></td>
    <td align=\"right\">
    [img]\"../pics/vol.gif\"[/img]
    [img]\"../pics/vol.gif\"[/img]</td>
  </tr>
</table><br>
Uw mailing is verstuurd en toegevoegd aan de database.
</body>
</html>";
exit;
?>

[ Voor 23% gewijzigd door Matthijs1982 op 16-08-2005 13:06 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13:49

Janoz

Moderator Devschuur®

!litemod

Tja, check regel 99 en je ziet wat er fout is. Parse errors zijn over het algemeen goed op te lossen mits je syntax highlighting gebruikt.

[ Voor 20% gewijzigd door Janoz op 16-08-2005 13:09 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.