Avatar billede theblueman Nybegynder
08. oktober 2007 - 07:58 Der er 1 løsning

Hvordan bruger jeg $http_raw_post_data i dag?

Hej Eksperter,

Jeg er ved at lave mig en gæstebog i Flash hvor jeg gør brug af en XML-fil og har fundet lidt på nettet som jeg ville tage udgangspunkt i. Når jeg afvikler swf-filen kan jeg læse fra XML-filen men prøver jeg at tilføje et indlæg bliver der ikke tilføjet noget.

Jeg bruger følgende ActionScript:

var currPage = 0;
var showAmount = 10;           
previous._visible = false;
createMessage._visible = false;
createButton.onRelease = function(){
    this._visible = false;
    this._parent.createMessage._visible = true;
    if (createMessage.nameField.text == ""){
        Selection.setFocus(createMessage.nameField);
    }
    else if (createMessage.messageField.text == ""){
        Selection.setFocus(createMessage.messageField);
    }
}

// **** Load XML ****************************
myXML = new XML();
myXML.ignoreWhite = true;
receiverXML = new XML();

myXML.onLoad = function(success){
    myXML.contentType = "text/xml";
    if (success){
        this.showXML();
    }
    else{
        trace("Error loading XML file");
    }
}
myXML.load("guestbook.xml");

receiverXML.onLoad = function(){
    this.contentType = "text/xml";
    _root.currPage = 0;
    this.showXML();
}
createMessage.closeButton.onRelease = function(){
    this._parent._visible = false;
    createButton._visible = true;
}
createMessage.sendButton.onRelease = function(){
    var myName = this._parent.nameField.text;
    var myMessage = this._parent.messageField.text;
    if (myName == ""){
        this._parent.errorField.text = "please fill out your name";
        Selection.setFocus(this._parent.nameField);       
    }
    else if (myMessage == ""){
        this._parent.errorField.text = "please leave a message";
        Selection.setFocus(this._parent.messageField);
    }
    else {
       
        myXML.firstChild.appendChild(myXML.createElement("entry"));
        myXML.firstChild.lastChild.attributes.myName = myName;
        myXML.firstChild.lastChild.appendChild(myXML.createElement("myText"));
        myXML.firstChild.lastChild.lastChild.appendChild(myXML.createTextNode(myMessage));
        trace(myXML);
        myXML.sendAndLoad("processXML.php", receiverXML);
        this._parent._visible = false;
        createButton._visible = true;
    }
}
XML.prototype.showXML = function(){
    myGuestbook.scroll = 1;
    myGuestbook.htmlText = "";
    var numItems = this.firstChild.childNodes.length;
    var firstItem = numItems - (currPage*showAmount);       
    if (currPage == 0) previous._visible = false;
    var lastItem = firstItem - showAmount ;
    if (lastItem<=0) {
        lastItem = 0;
        next._visible = false;
    }
    myCount.text = "Total messages: " + numItems;
    if (firstItem == lastItem+1) nowShowing.text = "Showing message " + firstItem;
    else nowShowing.text = "Showing message " + firstItem + " to " + (lastItem + 1);
    for (i=(firstItem-1); i>= lastItem; i--){
        myGuestbook.htmlText += "<B>" + this.firstChild.childNodes[i].attributes.myName + "</B> wrote:\n";
        myGuestbook.htmlText +=  this.firstChild.childNodes[i].firstChild.firstChild.nodeValue + "\n\n";
    }
}
previous.onRelease = function(){   
    currPage--;
    myXML.showXML();
    next._visible = true;
}
next.onRelease = function(){   
    currPage++;
    myXML.showXML();
    previous._visible = true;

Og sådan her ser processXML.php ud:

<?php
$xmlString = $HTTP_RAW_POST_DATA;
echo("Raw post data: ".$HTTP_RAW_POST_DATA."<br>\n");
if (is_null($xmlString)) {
print "No data was sent";
}
else {
echo "$xmlString";
$file = fopen("guestbook.xml", "w+") or die("Can't open XML file");
if(!fwrite($file, $xmlString)){
print "Error writing to XML-file";
}
print $xmlString."\n";
fclose($file);
}
?>

afvikler jeg guestbook.swf lokalt bliver arrayet myXML ændret fint. Problemet må ligge i processXML.php eller i at jeg kun har 755-rettigheder til guestbook.xml.

Er der nogen der kan hjælpe mig?

Vh Lars
Avatar billede theblueman Nybegynder
09. januar 2011 - 13:20 #1
Ikke aktuelt mere
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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