globe: Problem mit Logindaten übergeben an PHP mit AJAX

Beitrag lesen

n'abend,

Wie ich geschrieben habe gibt PHP an, dass name und passwort undefiniert sind. Deswegen gehe ich stark davon aus, dass der Fehler in dieser Zeile liegt (ich lasse mich aber auch gerne belehren):

/*Zeile7*/  http.send("name=" + lgname + "&passwort=" + lgpw);

sofern deine Variablen lgname und lgpw richtig kodiert sind, sollte das kein Problem darstellen.

in meiner eigenen AJAX-Geschichte Übegebe ich (bei POST-Requests) noch die Länge der übermittelten Daten mit:

if (http != null) {  
  // schreiben wir unsere urlencoded-Daten mal in eine Variable  
  var data = "name=" + urlencode(lgname) + "&passwort=" + urlencode(lgpw);  
  http.open("POST", "getpost.php", true);  
  http.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );  
  // String.length gibt uns die Länge der Zeichenkette  
  http.setRequestHeader( 'Content-length', data.length );  
  // hier beachtest du hoffentlich, dass es mehrere readystates gibt,  
  // die jeweils unterschiedliche Bedeutungen haben...  
  http.onreadystatechange = ausgeben;  
  http.send(data);  
}

Ich bin mir nicht mehr sicher, meine aber mich daran zu erinnern, dass bei POST-Requests die Größe der Daten mitgegeben werden muss.

Ich glaube nicht, dass ich diese Funktion brauche. Meine Frage war, wie ich den Formularinhalt an AJAX dranhängen kann, damit dieser von PHP weiterverarbeitet werden kann!?

du gibst als Content-Type urlencoded an:

/*Zeile5*/        "application/x-www-form-urlencoded");

dementsprechend möchstest du deine Daten auch urlencoded abliefern. Was würde denn deiner Meinung nach passieren, wenn man ein & im Passwort hat?

Mit deinem Code

/*Zeile7*/  http.send("name=" + lgname + "&passwort=" + lgpw);

würde dann etwa folgendes passieren:
http.send("name=meinname&passwort=123&456");
Was fällt dir dabei auf?

weiterhin schönen abend...

--
Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|