Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP 5 + FLASH] txt bestand uitlezen

xanuex
5 antwoorden
  • http://junk.wyger.nl/gastenboek/

    Op de bovenstaande link heb ik een aantal bestanden staan welke samen een leuk gastenboek zouden moeten vormen in flash. Dit werkt op deze server allemaal prima echter staat hier PHP versie 4.4.2 op (beetje oud).

    Op de server waar het daadwerkelijke gastenboek moet gaan draaien hebben ze netjes PHP versie 5.0.3 geinstalleerd.

    Helaas kan je dan wel je bericht plaatsen maar refreshed flash de lijst dan niet meer dus krijg je je bericht + overige berichten niet meer te zien en moet je handmatig te pagina refreshen.

    Ik heb het idee dat het in Guestbook.php bij
    [code:1:b7249a932c]print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";[/code:1:b7249a932c]mis gaat maar weet het niet zeker, heb alles nagekeken maar ik weet het gewoon niet meer. Is er iemand die er even naar zou kunnen kijken of me nog een hint zou kunnen geven?

    Alvast bedankt!
    - marcel
  • Ik denk juist niet dat het een PHP(-versie) probleem is. Het lijkt mij eerder een probleem wat moet worden gezocht in de instellingen van de webserver (bijv. caching) of in evt. verkeerde paden naar het tekstbestand. De link in je post doet het niet, dus ik heb niet kunnen kijken naar het gastenboek.

    Overigens, als je wil communiceren naar Flash dan zou je ook kunnen overwegen om gebruik te maken van Flashremoting, dat werkt imho wat fijner dan met met tekstbestandjes.
    Of, als je maar weinig gegevens hoeft door te geven aan de flash, maak gebruik van de FlashVars.
  • Hey Anne,

    bedankt voor je antwoord.

    Het is wel vreemd dat hij het op 2 servers met oude PHP versie wel werkt en op 2 andere met de nieuwe PHP versie niet werkt. Dus ik heb toch echt het vermoeden dat het aan de versie ligt en niet aan een instelling, zou wel heel toevallig zijn dat degene met PHP 5 allebei die instelling niet/wel hebben gebruikt.

    Verder doet de link het nu wel (misschien dat de server eruit lag vanochtend) dus als je nog een keer zou kunnen kijken graag!
    [code:1:fcbb315ebe]<?php

    $NumEntries = $_GET['NumEntries'];
    $NumLow = $_GET['NumLow'];
    $NumHigh = $_GET['NumHigh'];

    $naam = stripslashes($_GET['naam']);
    $email = stripslashes($_GET['email']);
    $msg = stripslashes($_GET['msg']);

    $filename = "GuestBook.txt";

    $naam = ereg_replace("[^A-Za-z0-9 ]", "", $naam);
    $email = ereg_replace("[^A-Za-z0-9 \@\.\-\/']", "", $email);

    $msg = ereg_replace("[^A-Za-z0-9 \@\.\-\/']", "", $msg);

    $bad = array(
    "kut" => "****",
    "neuken" => "****",
    "terin" => "****",
    "kanker" => "****",
    "vagina" => "****",
    "tievus" => "****",
    "tyfus" => "****",
    "klote" => "****",
    "pik" => "****",
    "kut" => "****",
    "lul" => "****",
    "godverdomme" => "****",
    "homo" => "****",
    "flikker" => "****",
    "nicht" => "****",
    "hoer" => "****",
    "likker" => "****",
    "suck" => "****",
    "fuck" => "****",
    "slet" => "****",
    "aids" => "****",
    "nigt" => "****",
    "shit" => "****",
    "neuke" => "****",
    "hondelul" => "****",
    "paardelul" => "****",
    "tering" => "****"
    );

    foreach ($bad as $evil => $good) {
    $msg = eregi_replace($evil,$good,$msg);
    }

    if ($_GET['submit'] == "true"){
    $fp = fopen( $filename,"r");
    $OldData = fread($fp, (filesize($filename)+1) );
    fclose( $fp );

    $Today = date("d-m-Y")." om ".date("H:i:s");

    $Input = "Geplaatst op ".$Today."<br />
    <b>Naam: </b><u><a href=\"mailto:".$email."\">".$naam."</a></u><br /><br />
    <div align=\"left\"><b>Bericht:</b><br />".$msg."</div>

    ——————————————————.:::.

    ";

    $New = $Input.$OldData;

    $fp = fopen( $filename,"w");
    fwrite($fp, $New);
    fclose( $fp );
    }

    $fp = fopen( $filename,"r");
    $Data = fread($fp, (filesize($filename)+1));
    fclose( $fp );

    $DataArray = split (".:::.", $Data);
    $NumEntries = count($DataArray) - 1;

    //toon de waarden van een aantal variabelen zodat flash hiermee kan werken
    print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";

    for ($n=$NumLow; $n<$NumHigh; $n++) {

    //toon het aantal berichten uit het bestand
    print $DataArray[$n];

    }
    //als er geen berichten zijn doe het volgende
    if(!$DataArray[$n]) {
    Print "<br>Nog geen berichten.";
    exit;
    }
    ?>[/code:1:fcbb315ebe]

    Dit is de PHP code

    Het gaat om een gastenboek dus het gebruik van FlashVars is niet handig en de term Flashremoting heb ik nog nooit van gehoord dus daar ga ik zeker even naar kijken.

    - marcel





  • Flashremoting is een aparte applicatie die je op de webserver moet draaien, dit zal allicht een stuk beter werken dan de informatie uit een tekstbestandje halen maar het script draait op een algemene server dus ik denk niet dat de hosting provider het prettig vindt om dit voor mij te gaan installeren :D

    toch bedankt.
  • Ik heb je spullen even lokaal gedraaid (php5.1.1) en het valt me op dat het daar idd ook niet werkt. Tenminste niet altijd. Als ik de eerste keer de pagina aanroep en een bericht plaats, dan krijg ik geen berichten terug.

    Als ik de pagina echter refresh (zojuist geplaatste bericht wordt nu wel getoond) en een bericht plaats, dan werkt het geheel wel in 1 keer goed.

    Wanneer ik klik op de vorige of volgende knop in het geval dat het gastenboek niet werkt, dan wordt de volgende request gedaan:

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.