login  Naam:   Wachtwoord: 
Registreer je!
 Forum

problemen bij forum

Offline svm - 21/07/2006 16:34 (laatste wijziging 23/07/2006 13:06)
Avatar van svmPHP ver gevorderde Ik ben uit verveling een forum gaan scripten.
Nu zit er een fout in de index waar de mappen worden gecontroleerd op bestaan en anders aangemaakt worden.
Hier een stukje code:
  1. <?
  2. $mappen = array("html", "js", "php", "asp", "as", "overig");
  3.  
  4. if (is_dir($mappen[0])){
  5. echo"<a href='". $mappen[0] ."'>".echo $mappen[0] ."/ css</a>";
  6. }else{
  7. mkdir($mappen[0]);
  8. chmod($mappen[0], 0666);
  9. }
  10. if (is_dir($mappen[1])){
  11. echo"<a href='". $mappen[1] ."'>JavaScript</a>";
  12. }else{
  13. mkdir($mappen[1]);
  14. chmod($mappen[1], 0666);
  15. }
enzovoort tot array 5.

Ik kan de fout niet vinden:
Citaat:
Parse error: parse error in /data/members/free/tripod/nl/d/e/s/destefanband/htdocs/forum/index.php on line 5

Zien jullie hem?

28 antwoorden

Gesponsorde links
Offline Simon - 21/07/2006 16:37 (laatste wijziging 21/07/2006 16:39)
Avatar van Simon PHP expert
  1. echo"<a href='". $mappen[0] ."'>".$mappen[0] ."/ css</a>";


2echo's ...
wrm gebruik je geen forlus in feite?

edit: siliecom geeft de beste oplossing, html echo'en met single quotes
Offline Nrzonline - 21/07/2006 16:37 (laatste wijziging 21/07/2006 16:38)
Avatar van Nrzonline PHP ver gevorderde
  1. <?PHP
  2. echo"<a href='". $mappen[0] ."'>".echo $mappen[0] ."/ css</a>";
  3. ?>

=
  1. <?PHP
  2. echo"<a href='". $mappen[0] ."'>" .$mappen[0] ."/ css</a>";
  3. ?>


Maarja, simon was al eerder =)
Offline Ibrahim - 21/07/2006 16:38 (laatste wijziging 21/07/2006 16:43)
Avatar van Ibrahim PHP expert
  1. echo"<a href='". $mappen[0] ."'>".echo $mappen[0] ."/ css</a>";

??

  1. <?php
  2. echo '<a href="'. $mappen[0] .'">'.$mappen[0] .'/css</a>';


edit:
  1. <?php
  2. for($i = 0, $size = count($mappen); $i < $size; $i++)
  3. {
  4. if (is_dir($mappen[$i])){
  5. echo '<a href="'. $mappen[$i] .'">'. $mappen[$i] .'/css</a>';
  6. }else{
  7. mkdir($mappen[$i]);
  8. chmod($mappen[$i], 0666);
  9. }


simon was me voor 
Offline svm - 21/07/2006 16:39 (laatste wijziging 21/07/2006 16:41)
Avatar van svm PHP ver gevorderde O, tuurlijk.
Ik zocht naar spelling fouten, hier had ik niet aan gedacht.
Effe uitproberen.

Edit:
Hij werkt!
Maar nog niet sluiten: ik wil dit topic namelijk verder gebruiker voor andere problemen die in het forum kunnen komen.
Offline Simon - 21/07/2006 16:42
Avatar van Simon PHP expert
  1. <?php
  2. $mappen = array("html", "js", "php", "asp", "as", "overig");
  3. for($i=0;$i<count($mappen);$i++) {
  4. if (is_dir($mappen[$i])){
  5. echo"<a href='". $mappen[$i] ."'>". $mappen[$i] ."/ css</a>";
  6. }else{
  7. mkdir($mappen[$i]);
  8. chmod($mappen[$i], 0666);
  9. }
  10. }
  11. ?>

beter dan 5 keer te herhalen, niet?
Offline svm - 21/07/2006 16:50 (laatste wijziging 21/07/2006 17:06)
Avatar van svm PHP ver gevorderde Ja, maar dat is nèt iets boven mijn nivo.
Ik houd het graag zo simpel en duidelijk mogelijk.
Toch bedankt


@Voldemort:
Nou, ik kan best scripten, maar ik neem gewoon de makkelijke manier.
Offline Voldemort - 21/07/2006 16:57
Avatar van Voldemort PHP ver gevorderde Als dat boven je niveau is mag je eens PHP gaan leren.
Offline ZG1988 - 21/07/2006 18:49
Avatar van ZG1988 Gouden medaille

überleet
svm en het vele typwerk + grote bestanden = lage laadtijd
= overbelasting server = geen blije bezoekers ?
Offline svm - 22/07/2006 17:23 (laatste wijziging 22/07/2006 17:27)
Avatar van svm PHP ver gevorderde Probeem 1 is afgerond.


Probleem nummer 2:

Nu moet ik de topics aan laten maken.
Dit topic krijgt dan als naam het volgende topic nummer in die map.
Dus er staan nog geen topics en bestanden in de map html, dan krijgt de nieuwe topic de naam 1.php, de volgende 2.php, de volgende 3.php enz.
Hoe kan ik dit maken?
Ik dacht aan count(), maar dat werkt alleen op arrays.
Er moet dus iets gebeuren met readdir() neem ik aan.
Maar wat?
Offline Simon - 22/07/2006 17:34
Avatar van Simon PHP expert waarom werk je niet met een database ?
Offline svm - 22/07/2006 17:37 (laatste wijziging 22/07/2006 19:39)
Avatar van svm PHP ver gevorderde
Citaat:
Simon zei:
waarom werk je niet met een database ?.

Bedoel je met mysql?
Ik houd niet van mysql, continu weer die andere server openen.
En met bestanden vind ik dan veel fijner.
Daarom weet ik ook vrijwel niks van MySql af, en ben het ook niet van plan om te leren.
Offline Maarten - 22/07/2006 18:42
Avatar van Maarten Erelid
Citaat:
@Voldemort:
Nou, ik kan best scripten, maar ik neem gewoon de makkelijke manier.
LOL, tienduizend regels schrijven voor iedere array, dat noem jij de gemakkelijke manier?

MySQL is echt niet moeilijk, ik raad je aan het toch eens te leren. En 'die andere server openen'.. in 2 regels is de verbinding opgezet, wat is daar nu erg aan.. en je zal veel minder typwerk en een veel dynamischere website hebben.
Offline Ultimatum - 22/07/2006 18:45
Avatar van Ultimatum PHP expert trouwens wat ik nou sneller, 100 losse bestanden met text op je server of de inhoud van de 100 losse bestanden in een database 
Offline svm - 22/07/2006 19:17 (laatste wijziging 22/07/2006 20:15)
Avatar van svm PHP ver gevorderde @Murfy
Met een andere server openen bedoel ik niet het connecten.
Maar de ftp server waar ik de tabelen in moet plaatsen.


Mysql server dan.
Offline Maarten - 22/07/2006 19:42
Avatar van Maarten Erelid De FTP server waar je de tabellen moet plaatsen 

Een degelijke host heeft toch zelf ook wel een MySQL server, en dat heeft overigens niks met FTP te maken.

Je hebt dit forum toch uit verveling gemaakt zeg je, dus kan je evengoed uit verveling MySQL leren, daar zul je meer aan hebben.
Offline svm - 22/07/2006 20:17
Avatar van svm PHP ver gevorderde Maar goed, nog even waar het om ging:

Nu moet ik de topics aan laten maken.
Dit topic krijgt dan als naam het volgende topic nummer in die map.
Dus er staan nog geen topics en bestanden in de map html, dan krijgt de nieuwe topic de naam 1.php, de volgende 2.php, de volgende 3.php enz.
Hoe kan ik dit maken?
Ik dacht aan count(), maar dat werkt alleen op arrays.
Er moet dus iets gebeuren met readdir() neem ik aan.
Maar wat?
Offline Rens - 22/07/2006 20:28
Avatar van Rens Gouden medaille

Crew algemeen
Als je nou eens even bij de scripts kijkt zie je daar enkele mooie voorbeelden staan om door een map te bladeren.
Dan doe je telkens $i++ o.i.d. als het bestand voldoet aan <nummer>.php.
Offline svm - 22/07/2006 22:32
Avatar van svm PHP ver gevorderde Ik kan na enkele keren zoeken niks vinden, Rens.
Weet je dan zo een script?
Offline Simon - 23/07/2006 09:45
Avatar van Simon PHP expert
  1. <?php
  2. for($i=1;is_file($i.'.php');$i++);
  3. echo $i.'.php bestaat nog niet.';
  4. ?>

het is misschien ver gezocht, maar ik kon niks anders bedenken
Offline ZG1988 - 23/07/2006 12:05
Avatar van ZG1988 Gouden medaille

überleet
  1. $dh = opendir($path);
  2. while (false !== ($filename = readdir($dh))) {
  3. // zet alle bestande in die directory in een dir
  4. if( $filename != "Thumbs.db" && $filename != "." && $filename != ".."){
  5. $files[] = $filename;
  6. }
  7. }
  8.  
  9. $aantal = sizeof($files);


de standaard bestanden ( die je niet ziet ) in een map worden inneens weggelaten.
Offline svm - 23/07/2006 12:43 (laatste wijziging 23/07/2006 17:59)
Avatar van svm PHP ver gevorderde Oke, bedankt beide.
Nu lukt het!
Maar nu:

Probleem 3:
Nu kan ik inmiddels de topics posten.
Maar er moet ook een overzicht zijn van alle topics in die categorie.
Hier ben ik mee bezig.
Dit doe ik met het volgende scriptje:
  1. <?php
  2. if($handle = opendir("html")) {
  3. while(($read = readdir($handle))) {
  4. if ($read != "." && $read != ".."){
  5. echo "<a href='".$read."'>". $read ."</a><br>";
  6. }
  7. }
  8. closedir($handle);
  9. }
  10. ?>

Dit werkt ook.
Maar nu moet uit het bestand waarvan met $read de url weergeven wordt, de variable $tietel gehaald worden.
Hoe moet ik dit doen?
Ik heb iets met fopen geprobeerd maar ik kwam er niet uit.

Of te wel:
Hoe haal ik een variable uit een ander php bestand?
Offline Rens - 23/07/2006 18:00
Avatar van Rens Gouden medaille

Crew algemeen
Het php bestand includen, en [b]daarna pas de variabele gebruiken[/php].
Als je het bestand include, worden de variabelen uit dat bestand beschikbaar...
Offline ZG1988 - 23/07/2006 18:26
Avatar van ZG1988 Gouden medaille

überleet
wat rens zegt

vb. variabele.php
  1. $naam = "fred";


en in je script
  1. include("variabele.php");
  2. echo $naam;
Offline svm - 23/07/2006 18:29 (laatste wijziging 29/07/2006 22:49)
Avatar van svm PHP ver gevorderde Na wat puzzelen ben ik er met explode() uitgekomen:
  1. <?php
  2. $inhoud = file_get_contents($read);
  3. $array = explode("&nbsp;", $inhoud);
  4. echo "<a href='".$read."'>". $array[1] ."</a><br>";
  5. ?>
Hier is $read de URL van de pagina waar de tekst uit gehaald wordt.



Maar nu...
Probleem 4:

De index pagina waarin alle topics uit een categorie in een lijst gezet worden, is voor de categorie HTML deze pagina.
Zoals jullie kunnen zien staat hier onderaan een stuk PHP code.
Dit zal met explode() te maken hebben (denk ik), die dient om de tietel te weergeven.
Maar hoe kan dit? En hoe haal ik dat weg?
Daarnaast zie ik de topics nu ook niet meer.

De code:
  1. De volgende topics zijn in de categorie <b><? echo $dir; ?></b> gepost:<p>
  2.  
  3. <?php
  4. if($handle = opendir("../".$dir)) {
  5. while(($read = readdir($handle)) !== false) {
  6. if ($read != "." && $read != ".."){
  7.  
  8. $array = explode("&nbsp;", $inhoud);
  9. $inhoud = file_get_contents($read);
  10. echo "<a href='".$read."'>". $array[1] ."</a><br>";
  11.  
  12. }
  13. }
  14. closedir($handle);
  15. }
  16. ?><? $dir = html; ?>

Een voorbeeld van een topic-code:
  1. <title>&nbsp;sima vb 1&nbsp;</title><br><b>Topic tietel: sima vb 1<br>Vraag:<br><table><tr><td>Even een voorbeeldje omde lijst funtie op te vullen.<br />
  2. blablabla...<br />
  3. </tr></td></table><p><br><p><hr><iframe src='../reactie.php?topic=1.php&dir=html' height='48%' width='100%' frameborder='0'></iframe>
Offline Simon - 30/07/2006 10:28
Avatar van Simon PHP expert De volgende topics zijn in de categorie gepost:

err...
je eerste fout is dat je $dir al niet goed is...
  1. <? $dir = html; ?>

zet je dus best niet onderaan 
daarnaast moeten er quotes rond
  1. <? $dir = 'html'; ?>


probeer zo eens
Offline svm - 30/07/2006 13:41 (laatste wijziging 30/07/2006 13:52)
Avatar van svm PHP ver gevorderde Dan zal hij in elk geval de topics weergeven.
Slordigheidsfoutje doordat de pagina automatisch aan wordt gemaakt.;-)
Daarnaast staat hij onderaan, omdat hij anders de tekst in het begin overschrijft.
Zal wel aan de w of r liggen, dat moet ik inderdaad wel aanpassen merk ik.
Bedankt!

Edit:
Nu heb ik die irritante weergave van die code ook weg weten te halen:
  1. $inhoud = file_get_contents($read);
  2. $array = explode("&nbsp;", $inhoud);
  3. echo "<a href='".$read."'>". $array[1] ."</a><br>";
Dit heb ik vervangen door:
  1. $array = explode("&nbsp;", $inhoud);
  2. $inhoud = file_get_contents($read);
  3. echo "<a href='".$read."'>". $array[1] ."</a><br>";

Regeltje omgewisseld.
Offline Simon - 30/07/2006 14:02
Avatar van Simon PHP expert ik bedoel dit:
De volgende topics zijn in de categorie <b><? echo $dir; ?></b> gepost:<p>
die $dir hier bevat geen waarde, waardoor je dit te zien krijgt:
Citaat:
De volgende topics zijn in de categorie gepost:
Offline svm - 30/07/2006 14:03 (laatste wijziging 01/08/2006 22:53)
Avatar van svm PHP ver gevorderde Aangepast, bedankt.
Ik dacht dat het niet uitmaakte waar je die variabelen plaatste.
Nu werkt hij goed.

En...
Probleem 5:

Bij de weergave van de topics wordt het laatste topic niet weergeven.
Mocht ik die if die de index, reactie.php en 'punt' bestanden eruit halen eruit halen, dan zie je de titel wel, maar is het url -1.php.
Kijk maar:
de lijst in php
de lijst in ftp

En de code:

  1. <?php
  2. $dir = "html";
  3.  
  4. if($handle = opendir("../".$dir)) {
  5. while(($read = readdir($handle)) !== false) {
  6. if ($read != "." && $read != ".." && $read != "index.php" && $read != "reactie.php"){
  7.  
  8. $array = explode("&nbsp;", $inhoud);
  9. $inhoud = file_get_contents($read);
  10. $read = explode(".", $read);
  11. $bestandsnr = $read[0];
  12. $bestandsnr = $bestandsnr - 1;
  13. echo "<a href='".$bestandsnr.".php'>". $array[1] ."</a><br>";
  14.  
  15. }
  16. }
  17. closedir($handle);
  18. }
  19. ?>

Hoe kan dit?
Weet iemand hoe ik de laatste wel kan weergeven?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.428s