login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Loginsysteem (Opgelost)

Offline luchtpost - 09/11/2007 20:57 (laatste wijziging 09/11/2007 21:35)
Avatar van luchtpostPHP interesse Beste sitemasters,
Mijn weblogje bestaat uit drie bestanden: index.php, schrijven.php en bestand.txt (de database).
In index.php worden de berichten getoond en in schrijven.php kan je een bericht toevoegen.
Het is natuurlijk niet de bedoeling dat iedereen een bericht kan plaatsen en daarom wilde ik schrijven.php beveiligen.

Op mijn server kan ik wel een beveiligde map maken (met .htaccess) maar als ik schrijven.php dan aanpas en in die beveiligde map plaats werkt het scriptje niet meer (er wordt niets meer geschreven naar het .txt bestand)

Is het eigenlijk wel mogelijk om vanuit een directory te schrijven naar de hoofd directory?

Kan iemand mij helpen?

4 antwoorden

Gesponsorde links
Offline Abbas - 09/11/2007 21:16
Avatar van Abbas Gouden medaille

Crew .NET
Dan moet je eens een stuk code plaatsen zodat we kunnen zien wat mogelijk het probleem kan zijn... 
Offline luchtpost - 09/11/2007 21:24 (laatste wijziging 08/12/2007 21:16)
Avatar van luchtpost PHP interesse Dit is het weblogsysteempje:

index.php
  1. <?php // Nieuws systeem zonder MySQL.
  2. $bestand=array_reverse(file("bestand.txt"));
  3. foreach($bestand as $i) { $i=explode("|",$i);
  4. $titel= $i[0];
  5. $datum = $i[1];
  6. $bericht = $i[2];
  7. $titel = parseubb($titel);
  8. $bericht = parseubb($bericht);
  9. $bericht = str_replace("&lt;br&gt;","<br>",$bericht);
  10. echo "$titel<br>Gepost op: $datum<br>$bericht<br>";
  11. } ?>


schrijven.php
  1. <?php // Nieuws Systeem zonder MySQL.
  2. $datum = date("d-m-Y");
  3. If(IsSet($_GET['actie']) && $_GET['actie'] == "schrijven"){
  4. $bestand = fopen("bestand.txt", "a");
  5. $bericht = str_replace("\n","<br>",$_POST['bericht']);
  6. $bericht = str_replace("|","",$_POST['bericht']);
  7. $titel = str_replace("|","",$_POST['titel']);
  8. fwrite($bestand, "$titel|$datum|$bericht\n");
  9. fclose($bestand);
  10. echo "Het bericht is toegevoegd.<br>";
  11. echo "<a href=\"index.php">Bekijk het bericht!</a>";
  12. }
  13. else{
  14. echo "<form method=post action=schrijven.php?actie=schrijven>"; echo "<input type=text name=titel><br>";
  15. echo "<textarea cols=93 rows=50 name=bericht></textarea><br>"; echo "<input type=submit value='Verstuur'>"; echo "</form>";
  16. }
  17. ?>


De berichten worden opgeslagen in bestand.txt
Offline Stefan14 - 09/11/2007 21:53
Avatar van Stefan14 PHP gevorderde waarom tekstbestanden?

een database is zo veel makkelijker en ook veel efficienter, het leren werken ermee (de basis) is ook niet bijzonder lastig.
Probeer het eens, want het is de moeite waard.
Offline Godlord - 08/12/2007 21:48 (laatste wijziging 08/12/2007 21:50)
Avatar van Godlord PHP gevorderde
  1. <?php // Nieuws systeem zonder MySQL.
  2. $bestand = array_reverse(file("bestand.txt"));
  3. foreach ($bestand as $i) {
  4. $i = explode(chr(7), $i);
  5. $titel = $i[0];
  6. $datum = $i[1];
  7. $bericht = $i[2];
  8. $titel = parseubb($titel);
  9. $bericht = nl2br(htmlentities(parseubb($bericht)));
  10. echo $titel.'<br />Gepost op: '.$datum.'<br />'.$bericht.'<br />";
  11. }
  12. ?>


  1. <?php // Nieuws Systeem zonder MySQL.
  2. $datum = date("d-m-Y");
  3. if (isset($_GET['actie']) && $_GET['actie'] == "schrijven") {
  4. $bestand = fopen("bestand.txt", "a");
  5. $bericht = $_POST['bericht'];
  6. $bericht = str_replace(chr(7), '?', $_POST['bericht']);
  7. $titel = str_replace(chr(7), '?', $_POST['titel']);
  8. fwrite($bestand, $titel.chr(7).$datum.chr(7).$bericht."\n");
  9. fclose($bestand);
  10. echo 'Het bericht is toegevoegd.<br />';
  11. echo '<a href="index.php">Bekijk het bericht!</a>';
  12. } else {
  13. echo '<form method="post" action="schrijven.php?actie=schrijven">';
  14. echo '<input type="text" name="titel" /><br />';
  15. echo '<textarea cols="93" rows="50" name="bericht"></textarea><br />";
  16. echo '<input type="submit" value="Verstuur">';
  17. echo '</form>';
  18. }
  19. ?>


Leer code ordenen(zo kan je snel fouten ontdekken), gebruik te maken van non-printable characters(| kan je beter niet als een separator gebruiken), MySQL(tenzij je web host dit niet heeft maar dat betwijfel ik) en fatsoenlijk HTML/XHTML (de waardes van attributen moeten "" om zich heen hebben. Dus attribuut="waarde". Maak gebruik van /> dit is nodig als je bijvoorbeeld <br></br> hebt dan kan je dat dat inkorten tot <br /> wat dus ruimte bespaart en geldig is.). HTML/XHTML valid kan ook geen kwaad.

Tip: input moet je laten zoals het is, enkel de output aanpassen...

Info: chr(7) is een teken dat de computer een geluidje laat maken via een onderdeel van het moederboard. Dit wordt soms wel eens de PC speaker genoemd maar is ook bij andere computers aanwezig. Daarbij wordt het maar bij een aantal besturingssystemen gebruikt om een geluidje te maken, andere negeren het of gebruiken het voor iets anders.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.234s