login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Nieuwssysteem zonder MySQL

Offline luchtpost - 23/09/2007 16:44 (laatste wijziging 23/09/2007 16:59)
Avatar van luchtpostPHP interesse Beste,
Graag zou ik het volgende scriptje laten draaien op mijn website maar ik krijg telkens gewoon lege pagina's te zien...

http://www.scriptzine.nl/scripts/show/26/

Mijn vraag is nu: wat moet ik doen om het script wel te laten werken?

15 antwoorden

Gesponsorde links
Offline Stijn - 23/09/2007 17:13
Avatar van Stijn PHP expert Er stonden n's in de broncode. Ik heb het aangepast voor je.

nieuws.php
write.php
Offline luchtpost - 24/09/2007 20:51
Avatar van luchtpost PHP interesse Ik krijg nog steeds witte pagina's te zien...
Ik begrijp niet goed wat er fout is aan dit script.
Kan iemand mij helpen?
Offline Wim - 24/09/2007 22:45
Avatar van Wim Crew algemeen http://www.plaatscode.be/3412/
$actie -> $_GET['actie']
nstr_replace -> str_replace
quote's probleem gefixt
Offline luchtpost - 25/09/2007 16:17 (laatste wijziging 25/09/2007 16:18)
Avatar van luchtpost PHP interesse Het spijt mij, maar het scriptje werkt nog steeds niet...
Ik krijg nog steeds twee witte pagina's te zien.
Waar kan de fout zitten?
Offline Rens - 25/09/2007 16:23
Avatar van Rens Gouden medaille

Crew algemeen
Regel 7:
  1. If($_GET['actie'] == "schrijven"){

==>
  1. If(IsSet($_GET['actie']) && $_GET['actie'] == "schrijven"){

Anders zou ik het zo ook niet kunnen zeggen...
Offline luchtpost - 25/09/2007 16:38 (laatste wijziging 25/09/2007 16:52)
Avatar van luchtpost PHP interesse Het script werkt nu: dwz dat na het invullen van het formulier wel de datum en "Gepost door" verschijnt (Gepost door op: 25-09-2007 / 10:34) maar geen bericht, emailadres of naam te zien is... (dat ik overigens wel had ingevuld)
In het nieuws.txt bestand staat het volgende:
|||25-09-2007 / 10:32||
Dus er moet ergens een fout zitten in het schrijven naar het txt bestand.

write.php

  1. <?php // Nieuws Systeem zonder Mysql
  2. // door: Pim Keus
  3. $datum = date("d-m-Y / H:i"); If(IsSet($_GET['actie']) && $_GET['actie'] == "schrijven"){
  4. $bestand = fopen("nieuws.txt", "a"); $bericht = str_replace("\n","<br>",$bericht); $bericht = str_replace("|","",$bericht); $titel = str_replace("|","",$titel);
  5. $naam = str_replace("|","",$naam); $email = str_replace("|","",$email); fwrite($bestand, "$titel|$naam|$email|$datum|$REMOTE_ADDR|$bericht\n"); fclose($bestand); echo "Je Nieuws bericht is toegevoegd<br>"; echo "<a href=\"nieuws.php\">Ga naar het Nieuws!</a>";
  6. }
  7. else{
  8. echo "<form method=post action=write.php?actie=schrijven>"; echo "<b>Titel:</b><br><input type=text name=titel><br>";
  9. echo "<b>Naam:</b><br><input type=text name=naam><br>"; echo "<b>Email:</b><br><input type=text name=email><br>"; echo "<b>Bericht:</b><br><textarea cols=30 rows=10 name=bericht></textarea><br>"; echo "<input type=submit value='Verstuur'>"; echo "</form>"; }
  10. ?>


nieuws.php

  1. <?php // Nieuws systeem zonder Mysql
  2. // door: Pim Keus
  3. $bestand=array_reverse(file("nieuws.txt")); foreach($bestand as $i) { $i=explode("|",$i); $titel= $i[0];
  4. $naam = $i[1]; $email = $i[2]; $datum = $i[3]; $ip = $i[4]; $bericht = $i[5]; $titel = htmlspecialchars($titel);
  5. $email = htmlspecialchars($email); $naam = htmlspecialchars($naam); $bericht = htmlspecialchars($bericht); $bericht = str_replace("&lt;br&gt;","<br>",$bericht); echo "<b>$titel</b> Gepost door<B><a href=mailto:$email>$naam</a></b> op: $datum<br><br>"; echo "$bericht";
  6. } ?>
Offline RobbieBoy - 25/09/2007 17:22
Avatar van RobbieBoy JS interesse als dit script moeilijk is.. Probeer dit script:
http://www.site...amp;id=554
Keb em zelf ook draaiende en het werkt prima, je moet alleen admin link even weghalen en dan is het een mooi nieuwsscript.. met archief
Offline Wim - 25/09/2007 19:27
Avatar van Wim Crew algemeen $bericht -> $_POST['bericht]

alle $variabele die van je form komen moeten trouwens $_POST['variabele'] worden....
Offline luchtpost - 26/09/2007 14:25 (laatste wijziging 26/09/2007 14:26)
Avatar van luchtpost PHP interesse Vooreerst bedankt iedereen! Het script werkt nu buiten twee probleempjes:

Het uur is niet juist. (Hij geeft 8 uur aan ipv 14 uur. Ziet iemand hier de fout?)

Bij het posten van een tweede bericht gebeurt het volgende:
Ik post bericht 1, dat ziet zo uit:

Bericht 1 Gepost door anoniem op: 26-09-2007 / 08:05

En dan hier mijn tekst.


Maar wat gebeurt er nu als ik een tweede tekst post:


Bericht 2 Gepost door anoniem op: 26-09-2007 / 08:07

En dan hier de tekst van bericht 2. Bericht 1 Gepost door anoniem op: 26-09-2007 / 08:05

En dan hier de tekst van bericht 1.


De titel van het eerste bericht wordt dus vlak achter het einde van het tweede bericht geplakt.

De fout zit dus waarschijnlijk in het lezen uit het textbestand nieuws.txt.

Kan iemand mij helpen deze fouten op te lossen?
Offline kilian - 26/09/2007 14:33
Avatar van kilian Lid Het tijdstip zal je moeten aanpassen door tijdstip+6 te doen. Ik vermoed dat hij naar de servertijd kijkt, en dat die in een andere tijdzone bevind.
Offline kilian - 26/09/2007 14:33
Avatar van kilian Lid Het tijdstip zal je moeten aanpassen door tijdstip+6 te doen. Ik vermoed dat hij naar de servertijd kijkt, en dat die in een andere tijdzone bevind.
Offline luchtpost - 26/09/2007 14:46 (laatste wijziging 26/09/2007 14:48)
Avatar van luchtpost PHP interesse Zojuist heb ik het probleem van het foute uur opgelost door het uur te verwijderen.

Zou iemand mij nog kunnen helpen bij het oplossen van het tweede probleem, namelijk dat de titel van bericht één steeds vlak achter het einde van bericht 2 komt te staan. Zoals volgt:


Bericht 2 Gepost door anoniem op: 26-09-2007 / 08:07

En dan hier de tekst van bericht 2. Bericht 1 Gepost door anoniem op: 26-09-2007 / 08:05

En dan hier de tekst van bericht 1.


In plaats van hetvolgende:


Bericht 2 Gepost door anoniem op: 26-09-2007 / 08:07
En dan hier de tekst van bericht 2.

Bericht 1 Gepost door anoniem op: 26-09-2007 / 08:05
En dan hier de tekst van bericht 1.
Offline DenMette - 26/09/2007 14:48
Avatar van DenMette PHP gevorderde achter echo "$bericht"; een <br> aan toevoegen
echo "$bericht<br><br>";

dit zou moeten werken
Offline Wim - 26/09/2007 14:49 (laatste wijziging 26/09/2007 14:50)
Avatar van Wim Crew algemeen
  1. echo "<b>$titel</b> Gepost door<B><a href=mailto:$email>$naam<a></b> op: $datum<br><br>";
  2. echo "$bericht";


naar:

  1. echo '<b>'.$titel.'</b> Gepost door<B><a href=mailto:'.$email.'>'.$naam.'<a></b> op: '.$datum.'<br><br>';
  2. echo $bericht.'<br /><br />'; //2 enters erbij
Offline luchtpost - 26/09/2007 14:51 (laatste wijziging 28/09/2007 20:22)
Avatar van luchtpost PHP interesse Dankjewel iedereen voor de snelle en doeltreffende hulp! Zou het een meerwaarde zijn om het script op deze site te posten? Want na een lange zoektocht naar dit soort scripts is het mij eerlijkgezegd nog nooit gelukt een goed werkende te vinden.

Dit is alvast het script zoals ik het nu heb (en het werkt, althans bij mij)

nieuws.php

  1. <?php // Nieuws systeem zonder Mysql
  2. // door: Pim Keus
  3. $bestand=array_reverse(file("nieuws.txt")); foreach($bestand as $i) { $i=explode("|",$i); $titel= $i[0];
  4. $naam = $i[1]; $email = $i[2]; $datum = $i[3]; $ip = $i[4]; $bericht = $i[5]; $titel = htmlspecialchars($titel);
  5. $email = htmlspecialchars($email); $naam = htmlspecialchars($naam); $bericht = htmlspecialchars($bericht); $bericht = str_replace("&lt;br&gt;","<br>",$bericht); echo "<b>$titel</b> Gepost door <B>$naam<a></b> op: $datum<br><br>"; echo "$bericht<br><br><br>";
  6. } ?>


write.php
  1. <?php // Nieuws Systeem zonder Mysql
  2. // door: Pim Keus
  3. $datum = date("d-m-Y"); If(IsSet($_GET['actie']) && $_GET['actie'] == "schrijven"){
  4. $bestand = fopen("nieuws.txt", "a"); $bericht = str_replace("\n","<br>",$_POST['bericht']); $bericht = str_replace("|","",$_POST['bericht']); $titel = str_replace("|","",$_POST['titel']);
  5. $naam = str_replace("|","",$_POST['naam']); $email = str_replace("|","",$_POST['email']); fwrite($bestand, "$titel|$naam|$email|$datum|$REMOTE_ADDR|$bericht\n"); fclose($bestand); echo "Je Nieuws bericht is toegevoegd<br>"; echo "<a href=\"nieuws.php\">Ga naar het Nieuws!</a>";
  6. }
  7. else{
  8. echo "<form method=post action=write.php?actie=schrijven>"; echo "<b>Titel:</b><br><input type=text name=titel><br>";
  9. echo "<b>Naam:</b><br><input type=text name=naam><br>"; echo "<b>Bericht:</b><br><textarea cols=30 rows=10 name=bericht></textarea><br>"; echo "<input type=submit value='Verstuur'>"; echo "</form>"; }
  10. ?>


Het derde bestand is nieuws.txt, deze hoeft ge niet te chmodden.

Nogmaals wil ik iedereen bedanken voor het helpen 'laten werken' van dit scriptje.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.261s