fread
Nu zit ik tegen een probleem aan: Steeds als ik een nieuw onderwerp maak dan voegt hij het simpel weg toe
Eerst verpakt hij de ouwe file in een $var
Daarna het nieuwe bericht in een adnere $var
En daarna schuift hij ze achter elkaar weg,
Nu komt er de hele tijd een :
,
tussen (plus die enters)
Hoe verkom ik dat ?
Script:
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
<?
//variablen
$titel = $_POST['T1'];
$tekst = $_POST['S1'];
$datum = date("d-m-Y / H:i");
$index = "index.htm";
$archief_index = "./archief/archief.txt";
//index.htm aanpassen
$index_handle = fopen($index, "a+");
$oud_index= fread($index_handle, filesize($index));
fclose($index_handle);
unlink($index);
$index_handle = fopen($index, "a+");
$index_write = '
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>' . $titel . '</title>
</head>
<body>
<p><font size="5" color="#0066FF" face="Elephant">' . $titel . '</font><font size="4" color="#0066FF" face="Arial Black"><br>
</font><font size="2" color="#C0C0C0" face="Times New Roman"><i>Gepost op: ' . $datum . '</i><br>
</font><font size="2" face="Arial" color="#C0C0C0"><br>
</font><font face="Arial">' . $tekst . '</font></p>
<p align="left"><font face="Times New Roman" color="#0066FF"><a href="archief/' . $titel . '.txt">
<span style="text-decoration: none">Reacties</span></a></font></p>
</body>
</html>';
fputs($index_handle, "$index_write, $oud_index");
//link toevoegen aan het archief
$archief_index_handle = fopen($archief_index, "a+");
$oud_archief = fread($archief_index_handle, filesize($archief_index));
fclose($archief_index_handle);
unlink($archief_index);
$archief_index_handle = fopen($archief_index, "a+");
$archief_index_write = '<a href="' . $titel . '.txt"><span style="text-decoration: none">
' . $titel . '</span></a></p>';
fputs($archief_index_handle, "$archief_index_write, $oud_archief");
//<p align="center"><a href="' . $titel . '.txt"><span style="text-decoration: none">
//' . $titel . '</span></a></p>
//archief bestand aanmaken voor archief
$archief = "./archief/" . $titel . ".txt";
$archief_write = '
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Turn Selectie A.G.A.</title>
</head>
<body>
<p><font size="5" color="#0066FF" face="Elephant">' . $titel . '</font><font size="4" color="#0066FF" face="Arial Black"><br>
</font><font size="2" color="#C0C0C0" face="Times New Roman"><i>Gepost op: ' . $datum . '</i><br>
</font><font size="2" face="Arial" color="#C0C0C0"><br>
</font><font face="Arial">' . $tekst . '</font></p>
</body>
</html>';
$archief_handle = fopen($archief, "a+");
fwrite($archief_handle, $archief_write);
fclose($archief_handle);
//tekst als het nieuws is toegevoegd
echo 'Het nieuwsbericht is succesvol gepost! Groeten Wessel Huising.<br/>';
echo "<a href=\"index.htm\">Ga naar het Nieuws!</a>"; //waar het nieuws staat! Dus verander de link!
?>
//variablen
$titel = $_POST['T1'];
$tekst = $_POST['S1'];
$datum = date("d-m-Y / H:i");
$index = "index.htm";
$archief_index = "./archief/archief.txt";
//index.htm aanpassen
$index_handle = fopen($index, "a+");
$oud_index= fread($index_handle, filesize($index));
fclose($index_handle);
unlink($index);
$index_handle = fopen($index, "a+");
$index_write = '
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>' . $titel . '</title>
</head>
<body>
<p><font size="5" color="#0066FF" face="Elephant">' . $titel . '</font><font size="4" color="#0066FF" face="Arial Black"><br>
</font><font size="2" color="#C0C0C0" face="Times New Roman"><i>Gepost op: ' . $datum . '</i><br>
</font><font size="2" face="Arial" color="#C0C0C0"><br>
</font><font face="Arial">' . $tekst . '</font></p>
<p align="left"><font face="Times New Roman" color="#0066FF"><a href="archief/' . $titel . '.txt">
<span style="text-decoration: none">Reacties</span></a></font></p>
</body>
</html>';
fputs($index_handle, "$index_write, $oud_index");
//link toevoegen aan het archief
$archief_index_handle = fopen($archief_index, "a+");
$oud_archief = fread($archief_index_handle, filesize($archief_index));
fclose($archief_index_handle);
unlink($archief_index);
$archief_index_handle = fopen($archief_index, "a+");
$archief_index_write = '<a href="' . $titel . '.txt"><span style="text-decoration: none">
' . $titel . '</span></a></p>';
fputs($archief_index_handle, "$archief_index_write, $oud_archief");
//<p align="center"><a href="' . $titel . '.txt"><span style="text-decoration: none">
//' . $titel . '</span></a></p>
//archief bestand aanmaken voor archief
$archief = "./archief/" . $titel . ".txt";
$archief_write = '
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Turn Selectie A.G.A.</title>
</head>
<body>
<p><font size="5" color="#0066FF" face="Elephant">' . $titel . '</font><font size="4" color="#0066FF" face="Arial Black"><br>
</font><font size="2" color="#C0C0C0" face="Times New Roman"><i>Gepost op: ' . $datum . '</i><br>
</font><font size="2" face="Arial" color="#C0C0C0"><br>
</font><font face="Arial">' . $tekst . '</font></p>
</body>
</html>';
$archief_handle = fopen($archief, "a+");
fwrite($archief_handle, $archief_write);
fclose($archief_handle);
//tekst als het nieuws is toegevoegd
echo 'Het nieuwsbericht is succesvol gepost! Groeten Wessel Huising.<br/>';
echo "<a href=\"index.htm\">Ga naar het Nieuws!</a>"; //waar het nieuws staat! Dus verander de link!
?>
fputs($archief_index_handle, "$archief_index_write, $oud_archief");
Over die enters kan ik zo even niets terugvinden in je code, maar ik vermoed dat het komt omdat je iedere keer weer <html/> erin plakt, en dat je bestand inmiddels een stuk of 5 keer <html> en </html> achter elkaar heeft. En de browser weet niet wat hij daar mee moet, aangezien <html/> maar 1 keer hoort voor te komen.
iemand?
fputs($archief_index_handle, "$archief_index_write, $oud_archief");
Moet je dit van maken:
fputs($archief_index_handle, $archief_index_write . $oud_archief);
Als in een file een regel ophoudt komt daar \r\n achter te staan.
Hij werkt nu,
Maar nu wat ik wil is dat hij bij het archief (link toevoegen aan het archief) ze onder elkaar zet?
Is dat ook op te lossen?
Edit:
Is goed gekomen,, naar veel gekloot maar oké
Is goed gekomen,, naar veel gekloot maar oké
Gewijzigd op 01/01/1970 01:00:00 door Wessel Huising
En dat nnog een groot script er achter aan..
Ik heb nu een script gemaakt wat zorgt dat je de kleurwaarden kan invoegen.
Het script editor.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
//gegevens
$kleur_titel = $_POST['T1'];
$kleur_datum = $_POST['T2'];
$kleur_tekst = $_POST['T3'];
$kleur_overig = $_POST['T4'];
$editor = "editor.txt";
//bestand overnieuw aanmaken en schrijven
$editor_write = "
$kleur_1 = '" . $kleur_titel . "';
$kleur_2 = '" . $kleur_datum . "';
$kleur_3 = '" . $kleur_tekst . "';
$kleur_4 = '" . $kleur_overig . "';";
$editor_handle = fopen($editor, "a+");
fwrite($editor_handle, $editor_write);
fclose($editor_handle);
?>
//gegevens
$kleur_titel = $_POST['T1'];
$kleur_datum = $_POST['T2'];
$kleur_tekst = $_POST['T3'];
$kleur_overig = $_POST['T4'];
$editor = "editor.txt";
//bestand overnieuw aanmaken en schrijven
$editor_write = "
$kleur_1 = '" . $kleur_titel . "';
$kleur_2 = '" . $kleur_datum . "';
$kleur_3 = '" . $kleur_tekst . "';
$kleur_4 = '" . $kleur_overig . "';";
$editor_handle = fopen($editor, "a+");
fwrite($editor_handle, $editor_write);
fclose($editor_handle);
?>
Alleen als ik dus op gaan druk dan geeft hij de volgende fout aan:
Notice: Undefined variable: kleur_1 in C:\server\apache2\htdocs\nieuws\editor.php on line 11
Notice: Undefined variable: kleur_2 in C:\server\apache2\htdocs\nieuws\editor.php on line 12
Notice: Undefined variable: kleur_3 in C:\server\apache2\htdocs\nieuws\editor.php on line 13
Notice: Undefined variable: kleur_4 in C:\server\apache2\htdocs\nieuws\editor.php on line 14
Voor jullie waarschijnlijk logisch maar hoelos ik op dat hiji de volgende variablen daadwerkelijk op schijft?
Waar haal je T1 t/m T4 vandaan?
Vanaf een html pagina waar je die kleurwaarden kan invullen. in een form met text boxjes
in:
Code (php)
Het komt er op neer dat je moet controleren of een bepaalde variabele wel bestaat voordat je hem kunt gebruiken.
Bijv: editor.txt
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$kleur_1 = '0066FF';
$kleur_2 = 'C0C0C0';
$kleur_3 = '000000';
$kleur_4 = '0066FF';
?>
$kleur_1 = '0066FF';
$kleur_2 = 'C0C0C0';
$kleur_3 = '000000';
$kleur_4 = '0066FF';
?>
Dat bijvoorbeeld dit eruit komt rollen
Gewijzigd op 01/01/1970 01:00:00 door Wessel Huising
Wessel:
Nou, het zit zoo: Het gaat er om dat inde $editor_write die $kleur_1 enzo letterlijk geschreven moeten worden en dan in editor.txt worden gezet.
Dat zal ook wel lukken en je notice komt ook niet van dat stukje code. Die notice krijg je omdat je niet gecheckt hebt of $_POST['T1'] wel bestaat. Zie het voorbeeld in mijn vorige post.
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
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
<?
//alles checken
if (isset ($_POST['T1'])) {
$kleur_titel = $_POST['T1'];
}
else {
$kleur_titel = '0066FF'; // standaardwaade
}
if (isset ($_POST['T2'])) {
$kleur_datum = $_POST['T2'];
}
else {
$kleur_datum = 'C0C0C0'; // standaardwaade
}
if (isset ($_POST['T3'])) {
$kleur_tekst = $_POST['T3'];
}
else {
$kleur_tekst = '000000'; // standaardwaade
}
if (isset ($_POST['T4'])) {
$kleur_overig = $_POST['T4'];
}
else {
$kleur_overig = '0066FF'; // standaardwaade
}
$editor = "editor.txt";
//bestand overnieuw aanmaken en schrijven
$editor_write = "
$kleur_1 = '" . $kleur_titel . "';
$kleur_2 = '" . $kleur_datum . "';
$kleur_3 = '" . $kleur_tekst . "';
$kleur_4 = '" . $kleur_overig . "';";
$editor_handle = fopen($editor, "a+");
fwrite($editor_handle, $editor_write);
fclose($editor_handle);
?>
//alles checken
if (isset ($_POST['T1'])) {
$kleur_titel = $_POST['T1'];
}
else {
$kleur_titel = '0066FF'; // standaardwaade
}
if (isset ($_POST['T2'])) {
$kleur_datum = $_POST['T2'];
}
else {
$kleur_datum = 'C0C0C0'; // standaardwaade
}
if (isset ($_POST['T3'])) {
$kleur_tekst = $_POST['T3'];
}
else {
$kleur_tekst = '000000'; // standaardwaade
}
if (isset ($_POST['T4'])) {
$kleur_overig = $_POST['T4'];
}
else {
$kleur_overig = '0066FF'; // standaardwaade
}
$editor = "editor.txt";
//bestand overnieuw aanmaken en schrijven
$editor_write = "
$kleur_1 = '" . $kleur_titel . "';
$kleur_2 = '" . $kleur_datum . "';
$kleur_3 = '" . $kleur_tekst . "';
$kleur_4 = '" . $kleur_overig . "';";
$editor_handle = fopen($editor, "a+");
fwrite($editor_handle, $editor_write);
fclose($editor_handle);
?>
Maar nog de steeds zelfde fout:
Notice: Undefined variable: kleur_1 in C:\server\apache2\htdocs\nieuws\editor.php on line 32
Notice: Undefined variable: kleur_2 in C:\server\apache2\htdocs\nieuws\editor.php on line 33
Notice: Undefined variable: kleur_3 in C:\server\apache2\htdocs\nieuws\editor.php on line 34
Notice: Undefined variable: kleur_4 in C:\server\apache2\htdocs\nieuws\editor.php on line 35
Dat komt omdat die variablen ($editor_write) nergens in het php bestand staan, Dat moet ook niet, die $var moeten dat werkelijk geschreven worden in het editor.txt:
Bijv wat er uit komt rollen
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$kleur_1 = '0066FF';
$kleur_2 = 'C0C0C0';
$kleur_3 = '000000';
$kleur_4 = '0066FF';
?>
$kleur_1 = '0066FF';
$kleur_2 = 'C0C0C0';
$kleur_3 = '000000';
$kleur_4 = '0066FF';
?>
Hoe los ik dit op?
En wat staat er precies op regel 32?
$kleur_1 = '" . $kleur_titel . "';
/edit
Oké ik reageerde te snel, maar je moet dollartekens escapen als je dubbele quotes gebruikt.
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$kleur_1 = "' . $kleur_titel . '";
$kleur_2 = "' . $kleur_datum . '";
$kleur_3 = "' . $kleur_tekst . '";
$kleur_4 = "' . $kleur_overig . '";';
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11