Geburtstagreminder

Hier ist der Fehler:
PHP:
for (var i=0;i<remind.length;i=0) {
Die Schleife läuft endlos, weil der dritte Parameter falsch ist. Richtig wäre: i++

Und: Nach dem return kannst Du nichts mehr tracen, weil die Funktion dort verlassen wird.

Gruß
.
 
So ich versteht nich was jetzt wieder schief geht!

Ich hab nun den code so gemacht und bis zur abfrage ob true ist oder nicht, kommt immer das not_in_list "undef" ist.
PHP:
function checkDoubles() {
    var not_in_list = true;
    for (var i=0;i<remind.length;i++) {
        if (feld1.text == remind[i].vorname && feld2.text == remind[i].nachname && feld3.text==remind[i].tag  && feld4.text==remind[i].monat && feld5.text == remind[i].jahr) {
            not_in_list = false;
				trace(not_in_list)
	daten_senden();
            break;
        }
    }
    return not_in_list;
}
function daten_senden(){
	trace(not_in_list)
	if(!not_in_list){
		status_txt.text = "Bereits vorhanden!"
	}else{
	var phpSendXml = new LoadVars();
phpSendXml.xmlString = xmlsend.toString(); 
phpSendXml.sendAndLoad("reminder.php?remin="+random(9999999),phpSendXml,"POST")
_root.status_txt.text = "gesendet";
var y = 0;
	onEnterFrame = function(){
		y++;
		if(y == 10){
				gotoAndStop(1);
				delete this.onEnterFrame;
			}
		}
}
}

beim ersten trace von not_in_list, ist es false beim 2 also bei der Abfrage ist es "undef."
 
Du hast da was falsch verstanden:

Du startest die Funktion daten_senden, und prüfst dort am Anfang mit der Funktion checkDoubles(), ob der Eintrag schon existiert:
Code:
function daten_senden(){ 
    if(!checkDoubles()){
        status_txt.text = "Bereits vorhanden!"
    }else{
        var phpSendXml = new LoadVars();
        phpSendXml.xmlString = xmlsend.toString();
        phpSendXml.sendAndLoad("reminder.php?remin="+random(9999999),phpSendXml,"POST")
        _root.status_txt.text = "gesendet";
        var y = 0;
        onEnterFrame = function(){
            y++;
            if(y == 10){
                gotoAndStop(1);
                delete this.onEnterFrame;
            }
        }
    }
}
Die Funktion "checkDoubles" gibt nur einen Wert zurück (true oder false). Dort rufst Du keine weitere Funktion auf:
Code:
function checkDoubles() {
    var not_in_list = true;
    for (var i=0;i<remind.length;i++) {
        if (feld1.text == remind[i].vorname && feld2.text == remind[i].nachname && feld3.text==remind[i].tag  && feld4.text==remind[i].monat && feld5.text == remind[i].jahr) {
            not_in_list = false;
            daten_senden();
            break;
        }
    }
    return not_in_list;
}

Gruß

P.S.: Das "undefined" kam daher, dass not_in_list eine lokale Variable ist.
.
 
Puh! *Schweiß von der Stirn wisch* ^^

-D-

P.S.: ... aber im Test hats eben nicht funktioniert - ich habe mehrere Daten eingegeben.
EDIT: ah, die Schreibrechte. ;)
.
 
Zuletzt bearbeitet:
lol, war sicher für dich nicht einfach, bis ich mal das alles kapiert hab, hatte schon gedauert ein weilchen :)

edit: jetzt gerade im moment funktionierts aber nicht, weil es mit den schreib rechten probleme gibt, ist bis morgen aber behoben
 
Zuletzt bearbeitet von einem Moderator:
Also ich glaub ich spinn he, ich weiß nicht was jetzt auf einmal los ist! Ich hab das alles auf den Server getan die schreibrechte eingestellt und getestet!

Was ist? Php schreibt mir ein undefined in die *.xml.

Ich hab jetzt alles genau durch geschaut, ich habe ja auch nichts mehr verändert, aber plötzlich schreibt er mir das immer rein.

Kannste du mal schaun obst da was findest? Langsam glaub ich, ich bin zu blöd für flash.

Hab alle Datein unten angehängt! Danke schon mal für deine Geduld :)
 

Anhänge

  • gb-reminder.zip
    55,8 KB · Aufrufe: 10
Hi,

1. was soll das bringen:
PHP:
$add = stripslashes("xmlString");
? Damit bearbeitest Du den String "xmlString" und keine Variable. Wenn dann müsste es lauten:
PHP:
$add = stripslashes($xmlString);

2. Vermutlich ist auf Deinem Webspace allerdings register_globals deaktiviert, darum musst Du die Variable aus dem suberglobalen Array $_POST ziehen:
PHP:
$add = stripslashes($_POST["xmlString"]);

Gruß
.
 
Achso ups ich depp,

sorry ich hatte probiert das es vielleicht ja so klappt :)

Also an dem liegst auch nicht, da hab ich nur gerade vorher versucht ob das hilft
 
Also folgendes, ich hab mal das ganze getraced, und am schluss auch, das "phpSendXml.xmlString" das hab ich auch getraced, und es hat mir die daten aus den Texfelder und alles was man braucht angezeigt, was ist da nun los?

Ich hab direkt vor dem senden an die php getraced. Dann kann es eigentlich nur an der php liegen oder? Aber das hab ich ja nicht verändert/bzw das was ich verändert habe, da hab ichs wieder so wie vorher gemacht:
PHP:
<?php
$file="reminder.xml";
$newfile = fopen($file, "a");
$add = stripslashes($_POST["xmlString"]); 
fwrite($newfile, $add);
fclose($newfile);
?>

Also woran liegt das jetzt das er undefined reinschreibt?
 

Neue Beiträge

Zurück