• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] xmlhttprequest, php Aufruf funktioniert nur mit abolutem Pfad

Krux

New member
Hallo zusammen,

ich habe ein kleines Problemchen zu dem ich nichts in der Suche gefunden habe (ich weiß auch nicht so genau, was ich da suchen muss:()

Ich möchte aus einem Modalen Dialog per JS Informationen ziehen und diese dann per PHP in meine Datenbank schreiben (ich nutze XAMPP):
PHP:
PHP:
<?php
$title = $_GET["title"];
$content = $_GET["content"];

$pdo = new PDO('mysql:host=localhost;dbname=note','root','');
    $insertion = $pdo->prepare("INSERT INTO notes (title,content,user) VALUES (?, ?, ?)");
    $insertion->execute(array($title,$content,"Krux"));
echo "Alles gut";
?>
Der Aufruf per JS:
HTML:
        var xmlhttp = new XMLHttpRequest();              
        xmlhttp.open("GET","http://localhost/note/php/db_addNote.php?title="+title+"&content="+content); 
        
        xmlhttp.onreadystatechange = function(){
            if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                var echo = xmlhttp.responseText;
                alert(echo);
                alert("Ich bin in onreadystatechange");
            }  
            else{
                alert("Nicht in onready, readState: "+xmlhttp.readyState+ " status: ");//+xml.status);
            }
        };
        xmlhttp.send();

Das Problem liegt nun in der Zeile:
xmlhttp.open("GET","http://localhost/note/php/db_addNote.php?title="+title+"&content="+content);
Rufe ich das so auf, dann werden die Werte richtig in die Datenbank geschrieben, aber ich erhalte kein Echo. Genauer gesagt springt er nie in die if(xmlhttp.readystate...). Der readyState ist 4, den status kann ich mir nicht anzeigen lassen (wenn ich es versuche, dann gibt es gar keinen alert).

Führe ich den Aufruf nun so durch:xmlhttp.open("GET","php/db_addNote.php?title="+title+"&content="+content); ,
dann schreibt er nix in die DB, dafür wird als alert der gesamte Quellcode des PHP-Scripts angezeigt. Daraus schließe ich, dass der Pfad zwar richtig ist (denn der Code wird ja gefunden), er aber nicht als PHP Script interpretiert wird.

D.h. in Variante 1 funktioniert PHP, aber JS nicht richtig und in Vriante 2 funktioniert JS, aber PHP nicht. Was mache ich falsch? Ich bin verwirrt...
Ich bedanke mich jetzt schonmal bei jedem, der versucht sich mit diesem Wirrwarr auseinanderzusetzten und mir zu helfen :)
 
Zuletzt bearbeitet:
Dormilich meint die datei, welche den xmlhttprequest startet.
das warum ist dann: weil du sie doppelt angeklickt hast anstelle http://meineDatei.html in die adresszeile einzugeben.
dann geht wegen der sop xmlhttp.open("GET","http://localhost/note/php/db_addNote.php?title="+title+"&content="+content); nicht
und xmlhttp.open("GET","php/db_addNote.php?title="+title+"&content="+content); liest nur eine datei, nur ein webserver weiss, dass er die noch durch einen php interpreter jagen muss
 
@krux: so passen die code tags jetzt. inline ist nicht für mehrzeiligen code geeignet, dafür nächstes mal bitte html oder php verwenden.
 
Zurück
Oben