gastenboek (boek php 4 zonder stress
Parse error: parse error in c:\phpdev\www\public\guestbook\guestbook_simple.php on line 118
dit is de laatste regel in mijn script maar deze is verder leeg!
Wie kan mij helpen met het probleem, ik weet het niet meer?
Dit is het volledige script van guestbook_simple.php:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>guestbook</title>
</head>
<body>
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
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
<?php
if($guestbooknew) {
//... (Dit zorgt allemaal voor een nieuwe bijdrage)...
}
// HTML- en PHP-tags verwijderen uit de invoervelden
$naam = strip_tags($naam);
$email = strip_tags($email);
$homepage = strip_tags($homepage);
$tekst = strip_tags($tekst);
// Regeleinden omzetten in HTML-regeleinden met <br>
$tekst = nl2br($tekst);
// Invoer controleren.
if (strlen($naam) < 3) {
// Geen juiste naam ingevoerd
$error_msg = "voer alstublieft uw naam in.";
}
if(strlen($tekst) <3) {
//geen tekst ingevoerd
$error_msg .="<br>Schrijf alstublieft ook iets in het gastenboek.";
}
if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $email)) {
// E-mailadres correct: aan naam toevoegen als hyperlink
$naam = "<a href=mailto:" . $email . ">". $naam . "</a>";
}
if(ereg("^[a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $homepage)) {
// er werd ook een homepageadres opgegeven: de juiste opmaak toepassen
if(!ereg("^http:////", $homepage)) {
//http:// ontbreekt in het adres: hier toevoegen
$homepage = "http://" . $homepage;
}
$hp_format="<br>Homepage: <a href=" . $homepage . " target='_new'>" . $homepage . "</a>";
}
if(error_msg) {
//onjuiste invoer: opmerking weergeven en niets toevoegen
$message = "<br>uw bijdrage kon helaas niet in ons gasten boek worden opgenomen:<br>";
$message .=$error_msg;
$message .= "<br>klik op <a href=javascript:history.back(1)>vorige</a>.<br><br>";
} else {
?>
if($guestbooknew) {
//... (Dit zorgt allemaal voor een nieuwe bijdrage)...
}
// HTML- en PHP-tags verwijderen uit de invoervelden
$naam = strip_tags($naam);
$email = strip_tags($email);
$homepage = strip_tags($homepage);
$tekst = strip_tags($tekst);
// Regeleinden omzetten in HTML-regeleinden met <br>
$tekst = nl2br($tekst);
// Invoer controleren.
if (strlen($naam) < 3) {
// Geen juiste naam ingevoerd
$error_msg = "voer alstublieft uw naam in.";
}
if(strlen($tekst) <3) {
//geen tekst ingevoerd
$error_msg .="<br>Schrijf alstublieft ook iets in het gastenboek.";
}
if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $email)) {
// E-mailadres correct: aan naam toevoegen als hyperlink
$naam = "<a href=mailto:" . $email . ">". $naam . "</a>";
}
if(ereg("^[a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $homepage)) {
// er werd ook een homepageadres opgegeven: de juiste opmaak toepassen
if(!ereg("^http:////", $homepage)) {
//http:// ontbreekt in het adres: hier toevoegen
$homepage = "http://" . $homepage;
}
$hp_format="<br>Homepage: <a href=" . $homepage . " target='_new'>" . $homepage . "</a>";
}
if(error_msg) {
//onjuiste invoer: opmerking weergeven en niets toevoegen
$message = "<br>uw bijdrage kon helaas niet in ons gasten boek worden opgenomen:<br>";
$message .=$error_msg;
$message .= "<br>klik op <a href=javascript:history.back(1)>vorige</a>.<br><br>";
} else {
?>
//...(hier wordt dan het nieuwe item toegevoegd.)...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// nieuw gastenitem toevoegen
// nieuw gastenboekitem opmaken
$new_entry = "<table width='400' border='0' cellspacing='1' cellpadding='1'>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td class='kleiner' width='300'>Naam: " . $naam . $hp_format . "</td>\n";
$new_entry .= " <td class='kleiner' width='100'>" . date("d-m-y H:i") . "</td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td colspan='2' class='kleiner'>\n";
$new_entry .= " <p>" . $tekst . "</p>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr>\n";
$new_entry .= " <td colspan='2'>\n";
$new_entry .= " <hr width='400' size='1' noshade>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " </table>\n";
?>
// nieuw gastenitem toevoegen
// nieuw gastenboekitem opmaken
$new_entry = "<table width='400' border='0' cellspacing='1' cellpadding='1'>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td class='kleiner' width='300'>Naam: " . $naam . $hp_format . "</td>\n";
$new_entry .= " <td class='kleiner' width='100'>" . date("d-m-y H:i") . "</td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td colspan='2' class='kleiner'>\n";
$new_entry .= " <p>" . $tekst . "</p>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr>\n";
$new_entry .= " <td colspan='2'>\n";
$new_entry .= " <hr width='400' size='1' noshade>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " </table>\n";
?>
//eerst oude items lezen
Code (php)
// nieuw item maken en vooraan opslaan
Code (php)
// mail verzenden.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$recipient ="[email protected]";
$subject = "nieuw item in gastenboek";
$header = "from: [email protected]\n";
$mail_body = "nieuw item in gastenboek";
$mail ($recipient, $subject, $mail_body, $header);
?>
$recipient ="[email protected]";
$subject = "nieuw item in gastenboek";
$header = "from: [email protected]\n";
$mail_body = "nieuw item in gastenboek";
$mail ($recipient, $subject, $mail_body, $header);
?>
</body>
</html>
Het bestandje guestbook_new ziet er als volgt uit en deze werkt zonder problemen:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Uw naam</title>
</head>
<body>
<form action="guestbook_simple.php" method="post"
<table width="400" cellspacing="1" cellpadding="1" border="0">
<table>
<tr>
<td width="146">
<p>Uw naam: </p>
</td>
<td width="254" valign="middle">
<input type="text"name"naam" size="35">
</td>
</tr>
<tr>
<td width="146">
<p>Uw emailadres:</p>
</td>
<td width="254" valign="middle">
<input type="text" name="email" size="35">
</td>
</tr>
<tr>
<td width="146">
<p>Uw homepage:</p>
</td>
<td width="254" valign="middle">
<input type="text" name="homepage" size="35">
</td>
</tr>
<tr>
<td width="146">
<p>Uw bijdrage</p>
</td>
<td width="254" valign="middle">
<textarea name="tekst" rows="3" cols="30"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<p align="center">
<input type="submit" name"guestbooknew" value="verzenden">
</p>
</td>
</tr>
</form>
</body>
het bestandje guestbook_data.htm is gewoon een leeg bestandje!
Wie kan mij helpen?
</html>
kan je dat vinden?
vergeet de ; niet....
Dus:
</body>
< ?php echo $message; ?>
< ?php include("guestbook_data.htm"); ?>
</html>
(Niet spatie vergeten weg te halen tussen < en ?php, maar heb ik gedaan omdat de UBB code anders niet werkt...)
Lijkt onbelangrijk, maar daardoor lopen hele scripts in de war...
Gewijzigd op 13/05/2005 20:10:00 door Willem Jan Z
Ik hoop dat iemand nog een ander optie heeft?
bvd Remon
< ?
$header = "from: [email protected]\n";
$mail_body = "nieuw item in gastenboek";
$mail ($recipient, $subject, $mail_body, $header);
}
? >
</body>
< ?php echo $message ?>
< ?php include("guestbook_data.htm") ?>
</html>
(Weer spaties weghalen0
Maar nu heb ik een volgend probleem, ik kijk hier zelf ook nog naar maar als iemand hier een oplossing voor weet dan graag!!
ik heb nu de volgende melding als ik het gastenboek open:
uw bijdrage kon helaas niet in ons gasten boek worden opgenomen:
voer alstublieft uw naam in.
Schrijf alstublieft ook iets in het gastenboek.
klik op vorige.
dit krijg ik zowel als ik een invoer doe als dat ik guestbook_simple.php appart aanroep.
wie o wie heeft voor mij de oplossing
gr. Remon
remon's:
if($guestbooknew) {
//... (Dit zorgt allemaal voor een nieuwe bijdrage)...
} <-----
// H...
//... (Dit zorgt allemaal voor een nieuwe bijdrage)...
} <-----
// H...
Volgens mij moet je die weghalen, of iig verplaatsen. Nu kijk je alleen of hij is opgestuurd, en voer je dat uit. Daarna, of hij nou wel of niet is opgestuurd, ga je controleren of de waarden wel zijn ingevuld.
Gewijzigd op 13/05/2005 22:59:00 door Jelmer -
<input type="text"name"naam" size="35">
Verander dat maar eens in:
<input type="text" name="naam" size="35">
Gewijzigd op 14/05/2005 09:55:00 door RT
er wordt in dat hele script niet 1 super global gebruikt.. ik zou een ander boek proberen Remon.. Ik zou PHP 5 boek doen of deze aanpassen met superglobals..
zie o.a. deze tutorial..
Gewijzigd op 14/05/2005 10:19:00 door B a s
if($guestbooknew) {
//... (Dit zorgt allemaal voor een nieuwe bijdrage)...
} <-----
// H...
als ik deze verplaats doet ie het beter maar ik kan geen nieuwe bijdrage toevoegen en iedere keer als ik het gasten boek op komt er een nieuwe (lege) bijdrage bij.
Ik leer steeds meer en ik kom er zeker wel uit, vanavond maar weer verder, wie weet heeft iemand nog een tip voor me!
iig bedankt
Dus, als er een formulier wordt opgestuurd, dan ga k het controleren en toevoegen, anders niets.
Maar jij hebt nu: Als er een formulier wordt opgestuurd, dan niets. Daarnaa alles controleren, of het formulier nou is opgestuurd of niet, en dan (niets) toeveoegen.
PS:
Quote:
?>
// nieuw item maken en vooraan opslaan
// nieuw item maken en vooraan opslaan
Code (php)
1
2
3
4
5
2
3
4
5
<? php[/quote]
Het leuke van van regels die beginnen met // worden binnen php niet uitgevoerd. Nu zullen ze wel zichtbaar worden voor het publiek.
[code]<?php
// nieuw item maken en vooraan opslaan
?>
Het leuke van van regels die beginnen met // worden binnen php niet uitgevoerd. Nu zullen ze wel zichtbaar worden voor het publiek.
[code]<?php
// nieuw item maken en vooraan opslaan
?>
Ik heb wat afgerommeld maar krijg het niet voor elkaar. misschien een beetje simpel maar heeft iemand dit scriptje voor mij en dan op de juiste manier? er zit gewoon ergens een klein foutje maar ik kan die niet vinden!
ik ben benieuwd!
al doende leert men
Remon
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>guestbook</title>
</head>
<body>
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
75
76
77
78
79
80
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
<?php
$error_msg = "";//jelmer_edit
$guestfile = "guestbook_data.htm";//jelmer_edit
$recipient ="[email protected]"; //jelmer_edit
$subject = "nieuw item in gastenboek"; //jelmer_edit
$header = "from: [email protected]\n"; //jelmer_edit
$mail_body = "nieuw item in gastenboek"; //jelmer_edit
if($guestbooknew) {
//... (Dit zorgt allemaal voor een nieuwe bijdrage)...
// HTML- en PHP-tags verwijderen uit de invoervelden
$naam = strip_tags($naam);
$email = strip_tags($email);
$homepage = strip_tags($homepage);
$tekst = strip_tags($tekst);
// Regeleinden omzetten in HTML-regeleinden met <br>
$tekst = nl2br($tekst);
// Invoer controleren.
if (strlen($naam) < 3) {
$error_msg .= "voer alstublieft uw naam in."; //jelmer_edit
}
if(strlen($tekst) <3) {
$error_msg .="<br>Schrijf alstublieft ook iets in het gastenboek.";
}
if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $email)) {
// E-mailadres correct: aan naam toevoegen als hyperlink
$naam = "<a href=mailto:" . $email . ">". $naam . "</a>";
}
if(ereg("^[a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $homepage)) {
// er werd ook een homepageadres opgegeven: de juiste opmaak toepassen
if(!ereg("^http:////", $homepage)) {
//http:// ontbreekt in het adres: hier toevoegen
$homepage = "http://" . $homepage;
}
$hp_format="<br>Homepage: <a href=" . $homepage . " target='_new'>" . $homepage . "</a>";
}
if(!empty(error_msg)) { //jelmer_edit
//onjuiste invoer: opmerking weergeven en niets toevoegen
$message = "<br>uw bijdrage kon helaas niet in ons gasten boek worden opgenomen:<br>";
$message .=$error_msg;
$message .= "<br>klik op <a href=javascript:history.back(1)>vorige</a>.<br><br>";
}
else {
// nieuw gastenitem toevoegen
// nieuw gastenboekitem opmaken
$new_entry = "<table width='400' border='0' cellspacing='1' cellpadding='1'>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td class='kleiner' width='300'>Naam: " . $naam . $hp_format . "</td>\n";
$new_entry .= " <td class='kleiner' width='100'>" . date("d-m-y H:i") . "</td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td colspan='2' class='kleiner'>\n";
$new_entry .= " <p>" . $tekst . "</p>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr>\n";
$new_entry .= " <td colspan='2'>\n";
$new_entry .= " <hr width='400' size='1' noshade>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " </table>\n";
if(file_exists($guestfile)) {
$fp = fopen($guestfile, "r");
$guest_data = fread($fp, filesize($guestfile));
fclose($fp);
}
$fp = fopen($guestfile, "w");
flock($fp, 1);
fputs($fp, $new_entry);
if(isset($guest_data)){
fputs($fp, $guest_data);
}
flock($fp,3);
fclose($fp);
mail($recipient, $subject, $mail_body, $header);//jelmer_edit
}
}
?>
$error_msg = "";//jelmer_edit
$guestfile = "guestbook_data.htm";//jelmer_edit
$recipient ="[email protected]"; //jelmer_edit
$subject = "nieuw item in gastenboek"; //jelmer_edit
$header = "from: [email protected]\n"; //jelmer_edit
$mail_body = "nieuw item in gastenboek"; //jelmer_edit
if($guestbooknew) {
//... (Dit zorgt allemaal voor een nieuwe bijdrage)...
// HTML- en PHP-tags verwijderen uit de invoervelden
$naam = strip_tags($naam);
$email = strip_tags($email);
$homepage = strip_tags($homepage);
$tekst = strip_tags($tekst);
// Regeleinden omzetten in HTML-regeleinden met <br>
$tekst = nl2br($tekst);
// Invoer controleren.
if (strlen($naam) < 3) {
$error_msg .= "voer alstublieft uw naam in."; //jelmer_edit
}
if(strlen($tekst) <3) {
$error_msg .="<br>Schrijf alstublieft ook iets in het gastenboek.";
}
if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $email)) {
// E-mailadres correct: aan naam toevoegen als hyperlink
$naam = "<a href=mailto:" . $email . ">". $naam . "</a>";
}
if(ereg("^[a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $homepage)) {
// er werd ook een homepageadres opgegeven: de juiste opmaak toepassen
if(!ereg("^http:////", $homepage)) {
//http:// ontbreekt in het adres: hier toevoegen
$homepage = "http://" . $homepage;
}
$hp_format="<br>Homepage: <a href=" . $homepage . " target='_new'>" . $homepage . "</a>";
}
if(!empty(error_msg)) { //jelmer_edit
//onjuiste invoer: opmerking weergeven en niets toevoegen
$message = "<br>uw bijdrage kon helaas niet in ons gasten boek worden opgenomen:<br>";
$message .=$error_msg;
$message .= "<br>klik op <a href=javascript:history.back(1)>vorige</a>.<br><br>";
}
else {
// nieuw gastenitem toevoegen
// nieuw gastenboekitem opmaken
$new_entry = "<table width='400' border='0' cellspacing='1' cellpadding='1'>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td class='kleiner' width='300'>Naam: " . $naam . $hp_format . "</td>\n";
$new_entry .= " <td class='kleiner' width='100'>" . date("d-m-y H:i") . "</td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr valign='top'>\n";
$new_entry .= " <td colspan='2' class='kleiner'>\n";
$new_entry .= " <p>" . $tekst . "</p>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " <tr>\n";
$new_entry .= " <td colspan='2'>\n";
$new_entry .= " <hr width='400' size='1' noshade>\n";
$new_entry .= " </td>\n";
$new_entry .= " </tr>\n";
$new_entry .= " </table>\n";
if(file_exists($guestfile)) {
$fp = fopen($guestfile, "r");
$guest_data = fread($fp, filesize($guestfile));
fclose($fp);
}
$fp = fopen($guestfile, "w");
flock($fp, 1);
fputs($fp, $new_entry);
if(isset($guest_data)){
fputs($fp, $guest_data);
}
flock($fp,3);
fclose($fp);
mail($recipient, $subject, $mail_body, $header);//jelmer_edit
}
}
?>
</body>
</html>
Het bestandje guestbook_new ziet er als volgt uit en deze werkt zonder problemen:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Uw naam</title>
</head>
<body>
<form action="guestbook_simple.php" method="post"
<table width="400" cellspacing="1" cellpadding="1" border="0">
<table>
<tr>
<td width="146">
<p>Uw naam: </p>
</td>
<td width="254" valign="middle">
<input type="text"name"naam" size="35">
</td>
</tr>
<tr>
<td width="146">
<p>Uw emailadres:</p>
</td>
<td width="254" valign="middle">
<input type="text" name="email" size="35">
</td>
</tr>
<tr>
<td width="146">
<p>Uw homepage:</p>
</td>
<td width="254" valign="middle">
<input type="text" name="homepage" size="35">
</td>
</tr>
<tr>
<td width="146">
<p>Uw bijdrage</p>
</td>
<td width="254" valign="middle">
<textarea name="tekst" rows="3" cols="30"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<p align="center">
<input type="submit" name"guestbooknew" value="verzenden">
</p>
</td>
</tr>
</form>
</body>
uw bijdrage kon helaas niet in ons gasten boek worden opgenomen:
voer alstublieft uw naam in.
Schrijf alstublieft ook iets in het gastenboek.
klik op vorige.
en als ik alleen het gastenboek open dan gaat dat goed, aleen heb ik er nog niks in staan.
Het lijkt er op dat de nieuwe bijdrag niet goed verwerkt wordt (en dus aleen de error meldingen geeft).
Ik kan er geen fout in vinden (ja paar typ foutjes maar die zijn er nu uit)
iemand nog een suggestie?
helemaal bovenaan je script zetten?
ik krijg nu de volgende meldingen:
Notice: Undefined variable: guestbooknew in c:\phpdev\www\public\guestbook\guestbook_simple.php on line 18
Notice: Undefined variable: message in c:\phpdev\www\public\guestbook\guestbook_simple.php on line 91
op line 18 staat: if($guestbooknew) {
op line 91 staat:
ik kan er geen fout in vinden??
en $_POST['message']
.. zoals ik al eerder zei ;)
toch bedankt
Gewoon blijven proberen! En idd met kleine dingen beginnen, en vaak testen, niet pas op het eind
simpel. Tja of ik moet het anders programmeren!!
trouwens, niemand die het script hier op zet, en dat ie dan werkt!!!!
Gewijzigd op 13/11/2011 00:53:42 door Ray D