Chriske1982
%Europe/Berlin %959 %2005, 23:01
Hey,
Ik heb een gastenboek met flash en php gemaakt, en dat werkt prima, op één ding na. Leestekens behalve de punt worden niet weergegeven en als je dubbelpunt : gebruikt, wordt het berichtje niet opgeslagen in de txt-file en wordt dus ook niet weergegeven.
De invoer van gegevens gebeurt in de flash applicatie en wordt dan verwerkt door de php-file.
Iemand enig idee hoe ik dat kan oplossen?
Alvast bedankt,
Greetz,
Christophe
brossiekoppie
%Europe/Berlin %447 %2005, 10:44
Kan je even je php-script posten, er zit daar waarschijnlijk een foutje in.
Jordy
%Europe/Berlin %532 %2005, 12:46
Je zou je variabele moeten gaan encode, hier een voorbeeldje:
$stringProduct = "&product".$i."=".$koekjes['naam'];
$stringProduct_utf8 = utf8_encode($stringProduct);
$stringProduct_encoded =urlencode($stringProduct_utf8);
echo $stringProduct_encoded;
Dan moet je wel even deze code naar jouw situatie omvormen, in dit geval haalde ik mijn waardes uit een database :).
Chriske1982
%Europe/Berlin %693 %2005, 16:39
Ik ken niks van PHP, ik heb dat gekopieerd van een andere... Hier vind je de php-script terug die ik toepas.
<?
$naam = $_GET['naam'];
$email = $_GET['email'];
$msg = $_GET['msg'];
$naam = ereg_replace("[^A-Za-z0-9 ]", "", $naam);
$email = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $email);
$msg = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $msg);
$msg = ereg_replace('***', '****', $msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('terin', '****',$msg);
$msg = eregi_replace('kanker', '****',$msg);
$msg = eregi_replace('vagina', '****',$msg);
$msg = eregi_replace('tievus', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('pik', '****',$msg);
$msg = eregi_replace('***', '****',$msg);
$msg = eregi_replace('lul', '****',$msg);
$msg = eregi_replace('god********', '****',$msg);
$msg = eregi_replace('homo', '****',$msg);
$msg = eregi_replace('flikker', '****',$msg);
$msg = eregi_replace('nicht', '****',$msg);
$msg = eregi_replace('hoer', '****',$msg);
$msg = eregi_replace('likker', '****',$msg);
$msg = eregi_replace('suck', '****',$msg);
$msg = eregi_replace('****', '****',$msg);
$msg = eregi_replace('slet', '****',$msg);
$msg = eregi_replace('aids', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('shit', 'bloep',$msg);
$msg = eregi_replace('neuke', '****',$msg);
$naam = stripslashes($naam);
$email = stripslashes($email);
$msg = stripslashes($msg);
if ($submit == "true"){
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
$Input = "<b>Naam:</b> $naam<br><b>E-mail:</b><u><a href=\"mailto:$email\"> $email</a></u>
<br><div align=\"left\"><b>Reactie:</b>
$msg</div><br><font size=\"-1\"><b>Datum:</b> $Today</font><br><br>.:::.";
$New = "$Input$OldData";
$fp = fopen( $filename,"w");
fwrite($fp, $New, 80000);
fclose( $fp );
}
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$Data = fread($fp, 80000);
fclose( $fp );
$DataArray = split (".:::.", $Data);
$NumEntries = count($DataArray) - 1;
print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
for ($n = $NumLow; $n < $NumHigh; $n++) {
print $DataArray[$n];
if (!$DataArray[$n]) {
Print "<br>nog geen verdere reacties.";
exit;
}
}
?>
NBeat
%Europe/Berlin %719 %2005, 17:15
voor de datum zou je hier eens kunnen kijken: php-manual (http://nl3.php.net/date)
en volgens mij klopt dit stuk van je code niet.. moet je niet tussen HTML / text en een php-variabele " . zetten ??
$Input = "<b>Naam:</b> $naam<br><b>E-mail:</b><u><a href=\"mailto:$email\"> $email</a></u>
<br><div align=\"left\"><b>Reactie:</b>
$msg</div><br><font size=\"-1\"><b>Datum:</b> $Today</font><br><br>.:::.";
Chriske1982
%Europe/Berlin %015 %2005, 00:22
Volgens mij ligt het daar niet aan, want anders zou het helemaal niet weergegeven worden, en nu zijn enkel de enters en de leestekens op de punt na die niet weer gegeven worden. vb $email geeft een link met de php-scripts zodat op die plaats de e-mailadres dat de persoon ingevuld heeft weergegeven wordt.
Voor alle zekerheid heb ik toch maar eens geprobeerd zoals jij mss dacht, maar dus zoals ik verwacht had, werkt de php-file helemaal niet meer.
Toch bedankt voor de moeite
P.S.: Datum is al inorde, dermee ik mijn vorig bericht aangepast had.
brossiekoppie
%Europe/Berlin %375 %2005, 09:00
Dat scriptje kan je beter direkt de vuilbak ingooien. Om te beginnen gebruikt het GET vars voor een gastenboek; dat is echt al niet de bedoeling.
Ten tweede wordt er vanalles klaargemaakt om te controleren maar verder gebeurt er niks mee. Stel nu dat ik het zogezegde e-mail adres geefiklekkerniet.com intyp dan mag je zoveel emailpatterns erop toepassen, zolang je niet controleert wat de functie teruggeeft heb je er niks aan.
En zo kan ik nog even doorgaan; het script is maw verouderd en slecht. Zoek eens naar iets anders.
@NBeat: wat jij zegt is de juiste manier van scripten. PHP kan het ook wel aan van vars te zoeken in "" strings (niet in ' ' -strings) maar het is niet de bedoeling. Veel beter is dus als volgt.
$naam = 'brossiekoppie';
$begroeting = 'Welkom' . $naam;
Dit wordt veel sneller geparsed dan als php je hele string moet gaan doerzoeken naar vars.
NBeat
%Europe/Berlin %390 %2005, 09:22
En bovendien wordt je code er rommelig door waardoor je fouten later niet meer kan vinden ;)
Correct scripten is tegenwoordig niet meer vanzelfsprekend geloof ik :(
Ohja, je zou eens kunnen kijken bij de artikelen op phpfreakz (http://www.phpfreakz.nl/) daar staan wel een paar gastenboeken tussen.
Chriske1982
%Europe/Berlin %671 %2005, 16:06
Ja ik weet dat je een foute email-adres kan ingeven, maar dat vind ik niet erg, ze zijn niet verplicht om de juiste te geven, trouwens als ik dat controleer, kunde ze dat toch faken door een email adres te geven dat niet van hunzelf is. Het enige wat ik graag zou willen is dat de leestekens en enters weer gegeven worden. Ik heb die script van een site gehaald samen met de flash file, zodat ik enkel nog de vormgeving wat moest aanpassen, want ik weet niet zo goed wat in flash gelinkt is aan wat in de php-file.
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.