Anzeige

 Variable an PHP senden


phpgut

Grünschnabel
#1
Und schon wieder kurz nachdem man einen Fragepost absetzt kommt man selber drauf :)

PHP:
var source = new EventSource("settings.php?user="+(benutzer)+"&password="+(passwort)+"");
Nur ein kleines Problem besteht noch. Wenn ein + oder & im Passwort drin ist, wird das nicht korrekt übertragen und ein Leerzeichen daraus gemacht bzw. der Text wird mitten im Wort abgeschnitten. Kann man das ändern?

---


Hallo,

Hab ein Problem beim übertragen von Daten aus einem Textfeld.

Wie bekommt man die Informationen aus var in die Url hinein, um diese an die settings.php zu übertragen?

PHP:
<script type="text/javascript">
function save_settings() {

var benutzer = document.getElementById("user").value;
var passwort= document.getElementById("password").value;

alert(benutzer);
alert(passwort);

if(typeof(EventSource) !== "undefined") {
    var source = new EventSource("settings.php?user=benutzer&password=passwort");
    source.onmessage = function(event) {

        if (event.data == 'Settings saved!') {
        document.getElementById("settings_status").innerHTML = "Settings saved!";
        this.close();
        }
     
        if (event.data == 'Could not recieved data!') {     
        document.getElementById("settings_status").innerHTML = "Error!";
        this.close();
        }

        };

    } else {
    document.getElementById("settings_status").innerHTML = "Sorry, your browser does not support server-sent events...";
    }
}
</script>
 
Zuletzt bearbeitet:

abdellaui

Erfahrenes Mitglied
#2
Zu beachten ist:
In der settings.php sollten die $_GET-Variabelen via urldecode dekodiert werden.

Code:
<script type="text/javascript">
function save_settings() {

var benutzer = encodeURIComponent(document.getElementById("user").value);             // encodeURIComponent eingefuegt
var passwort= encodeURIComponent(document.getElementById("password").value);    // encodeURIComponent eingefuegt

alert(benutzer);
alert(passwort);

if(typeof(EventSource) !== "undefined") {
    var source = new EventSource("settings.php?user="+benutzer+"&password="+passwort);   // Variable anhand "+ +" in "string" eingefuegt!
    source.onmessage = function(event) {

        if (event.data == 'Settings saved!') {
        document.getElementById("settings_status").innerHTML = "Settings saved!";
        this.close();
        }
     
        if (event.data == 'Could not recieved data!') {    
        document.getElementById("settings_status").innerHTML = "Error!";
        this.close();
        }

        };

    } else {
    document.getElementById("settings_status").innerHTML = "Sorry, your browser does not support server-sent events...";
    }
}
</script>
 
Anzeige
Anzeige