hoi,

ik ben bezig met een soort chat te maken om te leren werken met php
elke keer als je een berichtje stuurt slaat hij die op op een txt bestand
als er een volgend bericht wordt gestuurd dan zet hij het meteen in het txt bestand maar dan komt de tekst tegen de vorige test.

het is nu dus zo:

hoi
hoi


maar ik wil

hoi

hoi


hoe krijg ik een witregel tussen die 2 ingevoerde teksten?
kun je een stukje code laten zien hoe je de tekst dan weer op het scherm tovert.

[size=xsmall]Toevoeging op 04/03/2013 23:02:51:[/size]

?
if( $pagina == "chatopslaan" )
{
$tijdelijk = file_get_contents("invoer/samen.txt");
file_put_contents("invoer/samen.txt",'<div id="vlak">' . $_POST["loginnaam"]= $_SESSION["loginnaam"] . ':' . "</div>" . $_POST["tweet"] . $tijdelijk);

if($_SESSION["loginnaam"] == "barry")
{
$tijdelijk = file_get_contents("invoer/barry.txt");
file_put_contents("invoer/kees.txt",'<div id="vlak">' . $_POST["bericht"] . "</div>" . $tijdelijk);
header("Location: index.php?pagina=home");
}
elseif($_SESSION["loginnaam"] == "kees")
{
$tijdelijk = file_get_contents("invoer/kees.txt");
file_put_contents("invoer/kees.txt",'<div id="vlak">' . $_POST["bericht"] . "</div>" . $tijdelijk);
header("Location: index.php?pagina=home");
}
}



dus even voor de uitleg als kees een bericht stuurt wordt het in een apart txt bestand opgeslagen, en als barry een bericht stuurt ook. zo kunnen ze hun eigen berichten teruglezen

maar ze worden ook samen bij elkaar weergegeven en dat is samen.txt


als je wilt kun je er nog even <?php en ?> omheen zetten
wat bedoel je precies?
nou zo

<?php
if( $pagina == "chatopslaan" )
{
$tijdelijk = file_get_contents("invoer/samen.txt");
file_put_contents("invoer/samen.txt",'<div id="vlak">' . $_POST["loginnaam"]= $_SESSION["loginnaam"] . ':' . "</div>" . $_POST["tweet"] . $tijdelijk);

if($_SESSION["loginnaam"] == "barry")
{
$tijdelijk = file_get_contents("invoer/barry.txt");
file_put_contents("invoer/kees.txt",'<div id="vlak">' . $_POST["bericht"] . "</div>" . $tijdelijk);
header("Location: index.php?pagina=home");
}
elseif($_SESSION["loginnaam"] == "kees")
{
$tijdelijk = file_get_contents("invoer/kees.txt");
file_put_contents("invoer/kees.txt",'<div id="vlak">' . $_POST["bericht"] . "</div>" . $tijdelijk);
header("Location: index.php?pagina=home");
}
}
?>


[size=xsmall]Toevoeging op 04/03/2013 23:09:51:[/size]

ziet er beter uit toch?
haha oke sorry ik wist niet hoe dat werkte op deze site:p
maar het probleem is dus

als barry nou een bericht stuurt en daarna kees dan krijg je dus

kees:
hoi
barry:
hallo

maar ik wil

kees:
hoi

barry:
hallo
met <?php $tijdelijk = file_get_contents("invoer/samen.txt"); ?> klap je de complete inhoud van een tekstbestand in één keer in de variabele $tijdelijk.

Waarschijnlijk krijg je niet

hoi
hoi

maar

hoihoi

klopt dat?
ik heb dus 2 tekstbestanden en die samen zijn dan samen.txt

ik krijg:
barry:
hoi

en als ik dus de 2e keer iets invul dan krijg ik

barry:
hallo
barry:
hoi

en als ik 2 dingen onder elkaar typ dan doet hij dit
dus invoer is
hoi
hoi

dan krijg ik

barry:
hoi hoi
begin bij het begin..

Als je de regels afzonderlijk wilt weergeven omdat je er nog iets tussen wilt hebben dan moet je ze niet in één keer met file_get_contents() in één variabele pompen. In plaats daarvan kun je beter file() gebruiken.
Je gaat dan wel met een array werken. Lees dit even door: http://www.phptuts.nl/view/39/6/

<?php
$lines = file('samen.txt'); // $lines is een array!

foreach ($lines as $num => $line) {
echo $num.': '.$line."<br />\n";
}
?>
wat zijn $lines en $num dan? volgens jou voorbeeld


[size=xsmall]Toevoeging op 04/03/2013 23:29:50:[/size]

ik snap het systeem, dus hij doet bij elke extra tekst die ik dus toevoeg een extra enter toevoegen
maar ik snap $num nog niet

Reageren