login  Naam:   Wachtwoord: 
Registreer je!
 Forum

nieuwe eerst

Offline nielsvdwal - 28/08/2005 12:36
Avatar van nielsvdwalPHP gevorderde hey.. ik heb een gastenboek zonder database.. maar ik heb een "probleempje".. als er een bericht word geplaatst.. dan komt het nieuwe bericht onder de oudere berichten.. maar ik wil het nieuwste bericht bovenaan hebben.. de berichten worden opgeslagen in een .dat bestand.. kan iemand me helpen?:?:

26 antwoorden

Gesponsorde links
Offline vinTage - 28/08/2005 12:37
Avatar van vinTage Nieuw lid 'r+' Open for reading and writing; place the file pointer at the beginning of the file.

http://be.php.net/manual/en/function.fopen.php
Offline nielsvdwal - 28/08/2005 12:40
Avatar van nielsvdwal PHP gevorderde het lukt wel om berichten neer te zetten en te lezen.. alleen niet om de nieuwste bovenaan weet te geven..
Offline vinTage - 28/08/2005 12:48 (laatste wijziging 28/08/2005 12:50)
Avatar van vinTage Nieuw lid
Citaat:
<?php
$handle = fopen("c:\data\info.txt", "a");
?>


maak daar
Citaat:
<?php
$handle = fopen("c:\data\info.txt", "r+");
?>

van, en dan staan de nieuwe berichten steeds bovenaan.
Offline nielsvdwal - 28/08/2005 12:50
Avatar van nielsvdwal PHP gevorderde ik heb nu dit:

$fp = fopen("guest-verwerk.dat", "a");
Offline vinTage - 28/08/2005 12:50
Avatar van vinTage Nieuw lid maak van die "a" een r+
Offline nielsvdwal - 28/08/2005 12:54
Avatar van nielsvdwal PHP gevorderde nou komt alleen het nieuwe bericht te staan en is de ouwe weg 
Offline vinTage - 28/08/2005 12:59
Avatar van vinTage Nieuw lid Als het ouwe weg is,...heb je dan mischien "w" of "w+" gebruikt ?
Offline nielsvdwal - 28/08/2005 13:00
Avatar van nielsvdwal PHP gevorderde ob_start();
$fp = fopen("guest-verwerk.dat", "r+");
Offline Maarten - 28/08/2005 13:02
Avatar van Maarten Erelid Anders dump je ieder bericht in een array en draai je hem dan om?
Offline Fenrir - 28/08/2005 13:02 (laatste wijziging 28/08/2005 13:03)
Avatar van Fenrir PHP expert
  1. file_put_contents('berichten.dat', 'nieuwe bericht'. file_get_contents('berichten.dat'));
Offline vinTage - 28/08/2005 13:02
Avatar van vinTage Nieuw lid ik geef het op, volgens php.net blijft met "r+" de data gewoon intact, en worden nieuwe toevoegingen aan het begin gezet, als dat in jou geval niet zo is, weet ik het ook niet meer 
Offline nielsvdwal - 28/08/2005 13:03
Avatar van nielsvdwal PHP gevorderde sorry.. ik ben niej echt de beste in php.. kan je dat misschien beter uitlegge? 
Offline Fenrir - 28/08/2005 13:04 (laatste wijziging 28/08/2005 13:04)
Avatar van Fenrir PHP expert
Citaat:
"place the file pointer at the beginning of the file."


Betekent dat eerst alles weggegooid wordt.

En de oplossing heb je al :
  1. <?php
  2.  
  3. file_put_contents('berichten.dat', 'nieuwe bericht'. file_get_contents('berichten.dat'));
  4.  
  5. ?>
Offline nielsvdwal - 28/08/2005 13:05 (laatste wijziging 28/08/2005 13:06)
Avatar van nielsvdwal PHP gevorderde wat moet ik dan doen? 

die guest-verwerk.dat is trouwens gewoon helemaal leeg.. als ik hem leeg dan komt er ook een foutmelding dat er minimaal 1 bericht moet zijn.. maar het bestand is zonder berichten ook helemaal leeg.. staat geen code in ofzo..

@fenrir.. waar moet ik dat neerzette?
Offline Fenrir - 28/08/2005 13:08
Avatar van Fenrir PHP expert Dat ligt aan je code. Ik zal het wat beter uitleggen:

  1. <?php
  2. file_put_contents('berichten.dat', // bestand waarin geschreven wordt
  3. 'nieuwe bericht'. // het bericht dat vooraan wordt gezet
  4. file_get_contents('berichten.dat') // het bestand uitlezen, en dat achter het nieuwe bericht zetten
  5. );
  6. ?>
Offline nielsvdwal - 28/08/2005 13:12
Avatar van nielsvdwal PHP gevorderde dus dan moet ik:

- eerste regel in verwerk zetten
- tweede regel op pagina waar gastenboek te lezen is
- derde regel in de form zetten..

toch? of ben ik echt te blond? 
Offline Fenrir - 28/08/2005 13:13
Avatar van Fenrir PHP expert Nee, je moet alles in verwerk zetten. Maar post de code eens, want ik denk niet dat je weet WAAR je het in verwerk moet zetten .
Offline nielsvdwal - 28/08/2005 13:15
Avatar van nielsvdwal PHP gevorderde
  1. <?php
  2. if($_POST['name'] == '' OR $_POST['email'] == '' OR $_POST['bericht'] == '')
  3. {
  4. include('guestbook.php');
  5. }
  6. else
  7. {
  8.  
  9. $fp = fopen("guest-verwerk.dat", "r+");
  10.  
  11. $bericht = nl2br($_POST['bericht']);
  12. $bericht = ereg_replace("\n", "", $bericht);
  13.  
  14. $gegevens = $_POST['date'] ."___". $_POST['name'] ."___". $_POST['email'] ."___". $_POST['website'] ."___". $bericht ."\n";
  15.  
  16. fwrite($fp, $gegevens);
  17.  
  18. fclose($fp);
  19.  
  20. header("location: guestbook.php");
  21. }
  22. ?>


is van 1 van de gastenboeke tutorials..
Offline Fenrir - 28/08/2005 13:18
Avatar van Fenrir PHP expert
  1. <?php
  2. if($_POST['name'] == '' OR $_POST['email'] == '' OR $_POST['bericht'] == '')
  3. {
  4. include('guestbook.php');
  5. }
  6. else
  7. {
  8.  
  9. $file = 'guest-verwerk.dat';
  10.  
  11. $bericht = nl2br($_POST['bericht']);
  12. $bericht = ereg_replace("\n", "", $bericht);
  13.  
  14. $gegevens = $_POST['date'] ."___". $_POST['name'] ."___". $_POST['email'] ."___". $_POST['website'] ."___". $bericht ."\n";
  15.  
  16.  
  17. file_put_contents($file, $gegevens.file_get_contents($file));
  18.  
  19. header("location: guestbook.php");
  20. }
  21. ?>
Offline nielsvdwal - 28/08/2005 13:19 (laatste wijziging 28/08/2005 16:30)
Avatar van nielsvdwal PHP gevorderde Fatal error: Call to undefined function: file_put_contents() in /usr/home/nielsvdw/public_html/site/guest-verwerk.php on line 18

please help me fenrir 
Offline Fenrir - 28/08/2005 18:17 (laatste wijziging 28/08/2005 18:18)
Avatar van Fenrir PHP expert Houd vol! 

OK, je hebt dus geen PHP5.

  1. <?php
  2. if($_POST['name'] == '' OR $_POST['email'] == '' OR $_POST['bericht'] == '')
  3. {
  4. include('guestbook.php');
  5. }
  6. else
  7. {
  8.  
  9. $file = 'guest-verwerk.dat';
  10.  
  11. $bericht = nl2br($_POST['bericht']);
  12. $bericht = ereg_replace("\n", "", $bericht);
  13.  
  14. $gegevens = $_POST['date'] ."___". $_POST['name'] ."___". $_POST['email'] ."___". $_POST['website'] ."___". $bericht ."\n";
  15.  
  16. $h = fopen($file, 'a');
  17. fwrite($h, $gegevens.file_get_contents($file));
  18. fclose($h);
  19.  
  20. header("location: guestbook.php");
  21. }
  22. ?>
Offline nielsvdwal - 28/08/2005 18:30
Avatar van nielsvdwal PHP gevorderde ghehe.. doet het nog steeds niej goed .. kijk maar is op mijn site http://nielsvdwal.nl en dan bij gastenboek.. moet je ff een paar keer poste.. dan zie je wat ik bedoel 
Offline Geerios - 28/08/2005 22:01
Avatar van Geerios Onbekend Je bedoelt dat ie niet post?
Offline nielsvdwal - 28/08/2005 22:19
Avatar van nielsvdwal PHP gevorderde neej.. als je post.. dan komt het 3x te staan ofzo.. post maar is iets..
Offline Thomas - 29/08/2005 07:41
Avatar van Thomas Moderator In een platte textfile is alle tekst betekeningsloos. Structureer de data in je tekstbestand door (bijvoorbeeld) comment-regels tussen de berichten te plaatsen:

  1. eerste bericht ...
  2. <!-- bericht-scheiding -->
  3. tweede bericht ...
  4. <!-- bericht-scheiding -->
  5. derde bericht
  6. et cetera


Dan kun je dit hierna in een array plakken en hiermee dingen doen met de volgorde van je berichten. Heb je nog meer structuur nodig, gebruik dan XML om je berichten in op te slaan.
Offline nielsvdwal - 29/08/2005 10:43
Avatar van nielsvdwal PHP gevorderde jah.. klinkt leuk.. maar ik ben best wel een n00b in php.. kan je misschien iets meer helpe? 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.26s