Avatar billede madsringblom Nybegynder
06. juni 2004 - 16:14 Der er 8 kommentarer og
2 løsninger

Hvorfor sletter min gæstebog sig selv?

Jeg har lavet en gæstebog via flash php og xml
og den virker helt perfekt bortset fra det ret irriterende faktum at den efter en dags tid sletter sig selv!
Lige pludselig er min xml-fil helt og aldeles tom!
jeg bruger følgende php-script til at skrive til xml filen:


<?php
$file = fopen("guestbook.xml", "w+") or die("Can't open XML file");
$xmlString = $HTTP_RAW_POST_DATA;
if(!fwrite($file, $xmlString)){
    print "Error writing to XML-file";
}
print $xmlString."\n";
fclose($file);
?>
og bl.a. det her Action Script:

myXML.firstChild.appendChild(myXML.createElement("entry"));
        myXML.firstChild.lastChild.attributes.myName = myName;
        myXML.firstChild.lastChild.attributes.myMail = myMail;
        myXML.firstChild.lastChild.appendChild(myXML.createElement("myText"));
        myXML.firstChild.lastChild.lastChild.appendChild(myXML.createTextNode(myMessage));
        myXML.sendAndLoad("processXML.php", receiverXML);
Avatar billede nikolajdu Nybegynder
06. juni 2004 - 16:30 #1
$file = fopen("guestbook.xml", "w+") or die("Can't open XML file");

Her giver din fejl ingen mening, da w+ vil lave en helt ny fil hvis ikke finder din xml fil. Jeg gætter på at det er det der sker.

Prøv evt med r+ her vil der ikke laves en ny fil.

/Nikolaj
Avatar billede madsringblom Nybegynder
07. juni 2004 - 15:33 #2
det mærkelige er at min xml-fil ikke bliver slettet men bare bliver helt tom og det sker ikke når jeg skriver en ny kommentar men bare sådan ud af ingenting med et par dages mellemrum !! (meget forvirrende!)
Avatar billede nikolajdu Nybegynder
07. juni 2004 - 15:42 #3
Ja den bliver helt tom fordi php laver en helt ny - Det gør php hvis ikke den kan finde filen men kun når du forsøger at bruge fopen kan det ske.

Prøv at kigge på datoen for filen når den er tom. eller prøv at sende en variabel tilbage til flash.

prøv evt.:
if(file_exists("guestbook.xml")){
$file = fopen("guestbook.xml", "w+") or die("Can't open XML file");
$xmlString = $HTTP_RAW_POST_DATA;
}
if(!fwrite($file, $xmlString)){
    print "Error writing to XML-file";
}
Avatar billede madsringblom Nybegynder
07. juni 2004 - 22:26 #4
hmm problemet er faktisk ikke opstået siden jeg lagde spørgsmålet her op !!
men jeg forstår nu bare heller ikke helt hvorfor php ikke skulle kunne finde filen, jeg har jo ikke slettet eller flyttet den!
Avatar billede madsringblom Nybegynder
07. juni 2004 - 22:27 #5
hvis det sker igen vil jeg prøve med din tilføjelse !!
du er meget velkommen til at lægge et svar og få point for hjælp og god karma :)
Avatar billede nikolajdu Nybegynder
08. juni 2004 - 00:31 #6
Det kan tænkes at scriptet bliver afviklet på et tidspunkt hvor serveren er så presset at den simpelthem smutter forbi om den kan finde filen - Og så laver php bare en ny.
Avatar billede nikolajdu Nybegynder
08. juni 2004 - 00:32 #7
100 point er alt for meget - Læg et svar selv og tag en pæn del :))
Avatar billede madsringblom Nybegynder
08. juni 2004 - 00:40 #8
ok
Avatar billede madsringblom Nybegynder
08. juni 2004 - 00:41 #9
takker for hjælpen ihvertfald!
Avatar billede nikolajdu Nybegynder
08. juni 2004 - 00:43 #10
Tak for points og sig til hvis der kommer nye oplysninger :))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester