Ik heb net de nieuwe functie fread geprobeerd,

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:

<?
//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!
?>
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.

Bijv: editor.txt

<?
$kleur_1 = '0066FF';
$kleur_2 = 'C0C0C0';
$kleur_3 = '000000';
$kleur_4 = '0066FF';
?>

Dat bijvoorbeeld dit eruit komt rollen

[edit]
Moet natuurlijk nog ff de <?/?> tags in de $editor_write zetten;)
[/edit]
Wessel Huising schreef op 20.07.2006 19:58
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.
Oké gedaan alles verwerkt dus update:

<?
//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
<?
$kleur_1 = '0066FF';
$kleur_2 = 'C0C0C0';
$kleur_3 = '000000';
$kleur_4 = '0066FF';
?>

Hoe los ik dit op?
Notice: Undefined variable: kleur_1 in C:\server\apache2\htdocs\nieuws\editor.php on line 32


En wat staat er precies op regel 32?
$kleur_1 = '" . $kleur_titel . "';
$kleur_1 = $kleur_titel;

/edit
Oké ik reageerde te snel, maar je moet dollartekens escapen als je dubbele quotes gebruikt.
Ja, omdat je $kleur_1 tussen dubbele quotes staat, interpreteert PHP hem als een variabele. Maar jij wilt hem als een string, dus ik zou hem tussen enkele quotes zetten:
<?php
//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);
?>
$editor_write = '
$kleur_1 = "' . $kleur_titel . '";
$kleur_2 = "' . $kleur_datum . '";
$kleur_3 = "' . $kleur_tekst . '";
$kleur_4 = "' . $kleur_overig . '";';
Hmm, mijn voorbeeld klopte niet. Beter zo:
<?php
$editor_write = '$kleur_1 = ' . $kleur_titel . '\';
$kleur_2 = \'' . $kleur_datum . '\';
$kleur_3 = \'' . $kleur_tekst . '\';
$kleur_4 = \'' . $kleur_overig . '\';';
?>
Nog niet goed, hahahaha! Zo dan, en getest:
<?php
$kleur_titel = '#fff';
$kleur_datum = '#fff';
$kleur_tekst = '#fff';
$kleur_overig = '#fff';
$editor_write = '$kleur_1 = \'' . $kleur_titel . '\';
$kleur_2 = \'' . $kleur_datum . '\';
$kleur_3 = \'' . $kleur_tekst . '\';
$kleur_4 = \'' . $kleur_overig . '\';';
echo nl2br ($editor_write);
?>

Reageren