Toon posts:

[php] textfile wordt zomaar geleegd

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

Verwijderd

Topicstarter
ik heb een tijdje geleden een guestbook geschreven, maar hoor van mensen die het gebruiken dat de textfile waar de berichte n in worden opgeslagen, zo nu en dan compleet leeg is. zomaar.

dit heb ik gebrouwen destijds:
code:
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
<?php

// set right filepaths

$gbook_post = "gbook_post.php";
$gbook_read = "gbook_read.php";
$gbook_content = "gbook_content.txt";

$content = ereg_replace("\n","<br>",$content);
$content = stripslashes($content);


// set right dateformat

$date = date ("j F Y G:i");

$date = ereg_replace ("January","januari",$date);
$date = ereg_replace ("February","februari",$date);
$date = ereg_replace ("March","maart",$date);
$date = ereg_replace ("April","april",$date);
$date = ereg_replace ("May","mei",$date);
$date = ereg_replace ("June","juni",$date);
$date = ereg_replace ("July","juli",$date);
$date = ereg_replace ("August","augustus",$date);
$date = ereg_replace ("October","oktober",$date);


// check for name, content

if ($name == "") {
 echo "geen naam ingevuld";
}
elseif ($content == "") {
 echo "geen bericht ingevuld";
}
else {

// check for e-mail adress, set value

if ($email == "") {
 $email_exists = "0";
}
else {
 $email_exists = "1";
}

if ($email_exists != "1") {
 $mail_validated = "yes";

// creating content without e-mail adress

 $fd = fopen($gbook_content, "r");
 $content_oud = fread($fd, filesize($gbook_content));
 fclose($fd);

 $content_new = "$name | $date<br>\n<br>\n$content<br>\n<br>\n$content_oud";
}
else {

// lowercase email, validate e-mail adress

$emailadress = strtolower($email);

if( !eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]+))+$",$emailadress)) {
 echo "geen geldig e-mailadres";
}
else {
 $mail_validated = "yes";

// creating content with e-mailadress

  $fd = fopen($gbook_content, "r");
  $content_oud = fread($fd, filesize($gbook_content));
  fclose($fd);

  $content_new = "<a href='mailto:$emailadress'>$name</a> | $date<br>\n<br>\n$content<br>\n<br>\n$content_oud";
 }
}


// write new content to file

if (file_exists("$gbook_content")) {
    $filetowriteto = fopen("$gbook_content","w+");
    fputs($filetowriteto,$content_new);
    fclose($filetowriteto);
}
else {
 echo "$gbook_content doesn't exist";
}

}

if ($name !== "" AND $content !== "" AND $mail_validated == "yes") {
 include($gbook_read);
}

?>

ik heb werkelijk geen idee waarom :?

help!?

  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 16-08 07:25
Kijk eens op www.php.net/fopen naar de w+ operator. Daar staat truncate the file to zero length

Misschien wil je "a" hebben ipv "w+"?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Sorry.. Maar je script dumpen met de melding 'dit werkt niet goed, kijk er ff naar' wordt over het algemeen niet geaccepteerd in /14. Lees eventueel ff de quickstart en/of faq door voordat je weer een topic opent.

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


Dit topic is gesloten.