file_input_contents: enter
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?
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.
Toevoeging op 04/03/2013 23:02:51:
?
Toevoeging op 04/03/2013 23:02:51:
?
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
{
$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
Gewijzigd op 04/03/2013 23:06:17 door Henk geurts
wat bedoel je precies?
nou zo
Toevoeging op 04/03/2013 23:09:51:
ziet er beter uit toch?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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");
}
}
?>
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");
}
}
?>
Toevoeging op 04/03/2013 23:09:51:
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
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 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?
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
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/
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/
Code (php)
Gewijzigd op 04/03/2013 23:25:52 door Frank Nietbelangrijk
wat zijn $lines en $num dan? volgens jou voorbeeld
Toevoeging op 04/03/2013 23:29:50:
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
Toevoeging op 04/03/2013 23:29:50:
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
Gewijzigd op 04/03/2013 23:26:54 door Henk geurts
dat leer je in die tutorial. Eigenlijk moet je de hele PHP tutorial doorlezen. De tijd die je er in steekt verdien je dubbel en dwars terug.
en zeker arrays is een must!
en zeker arrays is een must!
ik snap het gebruik van arrays maar nog niet helemaal hoe die arrays moeten functioneren als ik een tekst toevoeg, hoe wordt die array dan aangepast
$num is in dit geval de sleutel van de array. $line de waarde.
Toevoeging op 04/03/2013 23:38:27:
Toevoeging op 04/03/2013 23:38:27:
is die $num dus eigenlijk het getypte berichtje, en die berichtjes zet die dan achter elkaar(array) met een enter?
Henk geurts op 04/03/2013 23:33:09:
ik snap het gebruik van arrays maar nog niet helemaal hoe die arrays moeten functioneren als ik een tekst toevoeg, hoe wordt die array dan aangepast
file_put_contents("invoer/kees.txt",'<div id="vlak">' . $_POST["bericht"] . "</div>" . $tijdelijk);
file_put_contents("invoer/kees.txt",'<div id="vlak">' . $_POST["bericht"] . "<br/><br/></div>" . $tijdelijk);
file_put_contents("invoer/kees.txt",'<div id="vlak">' . $_POST["bericht"] . "<br/><br/></div>" . $tijdelijk);
Henk geurts op 04/03/2013 23:40:32:
is die $num dus eigenlijk het getypte berichtje, en die berichtjes zet die dan achter elkaar(array) met een enter?
nee. okee nog een compleet voorbeeld. (zowat de tutorial overgeschreven)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$fruit = array('appel', 'peer', 'banaan', 'kiwi');
foreach($fruit as $num => $f) {
echo 'de sleutel is: '.$num.'. en de waarde is: '.$f.'<br />';
}
$fruit[] = 'ananas'; // voeg een nieuwe smaak toe aan het eind van de array
foreach($fruit as $num => $f) {
echo 'de sleutel is: '.$num.'. en de waarde is: '.$f.'<br />';
}
?>
$fruit = array('appel', 'peer', 'banaan', 'kiwi');
foreach($fruit as $num => $f) {
echo 'de sleutel is: '.$num.'. en de waarde is: '.$f.'<br />';
}
$fruit[] = 'ananas'; // voeg een nieuwe smaak toe aan het eind van de array
foreach($fruit as $num => $f) {
echo 'de sleutel is: '.$num.'. en de waarde is: '.$f.'<br />';
}
?>
Toevoeging op 04/03/2013 23:48:24:
deze moet je echt even uitproberen zodat je ziet wat het resultaat is
Toevoeging op 04/03/2013 23:52:10:
als je twee keer <br /> achter elkaar typt dan slaat ie een regel over
Gewijzigd op 04/03/2013 23:51:01 door Frank Nietbelangrijk
het is gelukt!!
heel erg bedankt voor de goede en vooral snelle hulp!!
heel erg bedankt voor de goede en vooral snelle hulp!!
success verder :)




