Server/Client Datenbank

julia123

Erfahrenes Mitglied
hi Leute,

ich hab irrgendwie ein kleines Problem. Ich hab eine Aufgabe bei der ich einfach nicht weiss wo ich anfangen soll.

Hier die Aufgabe :

Aufgabe 1
Wie in der Hausübung 1 soll es ein System zur Benutzerverwaltung implementiert werden.
Sie werden das vorgegebene Projekt weiterentwickeln. (Um das Projekt zum Laufen bringen,
soll eine lokale Serverumgebung wie z.B. XAMPP (für Windows) installiert werden. In
der XAMPP-Umgebung entpacken Sie das Projekt in das htdocs Verzeichnis und führen
sie die Datei localhost/.../client/index.html im Browser aus) Das Projekt besteht aus zwei
wichtigen Teilen:
• server (PHP)
• client (HTML + CSS + JavaScript)
Server (Aufgaben)
Der Server kann:
• HTTP-Anfragen annehmen
• die Daten in die Datei data.json speichern
• die Daten aus der Datei data.json auslesen
• eine Antwort an einen Client senden

Client (Aufgaben)
• Beim ersten Laden werden die Daten mit einer AJAX-Abfrage vom Server verlangt
(siehe Abb. 1). Die Antwort vom Server enthält die Daten über Mitarbeiter. Diese
werden verarbeitet und in einer Tabelle angezeigt. Die Tabelle soll die Attribute wie
ID, Nachname und Abteilung zeigen

Auf dem Client sind drei Aktionen erlaubt:
– Mitarbeiter hinzufügen (Übernehmen Sie die Logik für die Validierung und das
Speichern aus der Hausaufgabe 1; Die Daten werden an den Server gesendet
und er soll diese in die Datei data.json speichern)
– Mitarbeiter löschen (Beim Löschen wird eine Anfrage an den Server gestellt
und der Server löscht die Daten aus der Datei data.json)
– Wenn man in der Tabelle auf den Nachnamen von einem Mitarbeiter klickt,
werden alle Attribute von diesem Mitarbeiter (z.B. Geburtsdatum und andere)
angezeigt

die Aufgabe ist noch etwas größer mit einpaar kriterien die hab ich aber weg gelasen da ich denke das schaff ich wenn ich diesen Teil oben hab.

Im Anhang sind die Arbeitsmaterialien.

Ok soweit. Was ich getan habe. Ich habe XAMPP gestartet den Appchserver gestartet. Wie in der Aufgabe beschrieben den Ordnert entsprechend entpackt wo er hin muss. Dann hab ich index ausgeführt. Ja da passiert bei mir nicht viel. Wen ich auf "hinzufügen" passiert nichts was ich erkennen kann. Mein Problem jetzt konkret. Ich versteh nicht wie ich eine Verbindung zum Server bekomme. Wie kann ich Prüfen das ich eine Verbindung zum Server habe. Ich glaub wenn ich das habe bekomme ich den rest alleine hin.

Problem ist im grunde gleich der erste Punkt wie erstelle ich eine HTTP-Anfrage und wie wird diese angenommen. Und dann ab beste sagen wie ich das am besten mach soll. Ich hab das nehmlich nicht so ganz verstanden. ich vermute die anfrage geht von client aus also muss ich irrgendwie beim start der seite eine Anfrage am Sever machen. ( wie sieht so eine anfrage aus ? geht das mit html oder javascript..) Und dann halt wie geht der Server mit dieser Anfrage um.



beste grüße
julia
 

Anhänge

  • ha2.zip
    3,2 KB · Aufrufe: 12
Zuletzt bearbeitet:

julia123

Erfahrenes Mitglied
Hi Leute ich bin es nochmal und ich hab jetzt ein etwas besseren Durchblick bekommen. Ich hoffe ich habe euch nicht mit meinen Ingos von oben erschlagen und es gibt jemand der sich das durch list. Aber hier noch etwas Konkretes bei dem ich hänge.

Ich habe in der Datei Client/js/script.js mir einfach mal ein alert in dem success Fall ausgegeben also direckt ganz oben im Code so :
Code:
$.ajax({
        type: "GET",
        url: "../server/server.php",
        data: {
            method: "all"
        },
        success: function(content) {
            // Create table content from server data
             alert("Request von GET : "+content); // hier
             alert("Array[0] : "+content[0]);//hier
             alert("Array[1] : "+content[1]);//hier
            var table = $.makeTable($.parseJSON(content));
            // Append table data to table element in index.html
            $(table).appendTo("#TableContent");
        }
   
    });

Ich bekomme jetzt diese Fehlermeldung oder Ausgabe :
<b>Notice</b>: Undefined index: PATH_INFO in <b>C:\xampp\htdocs\server\server.php</b> on line <b>14</b><br />

Ich habe diesen Fehler schon gegoogled bin aber zu keiner Lösung gekommen. Kann mir jemand weiter helfen bitte.

http://stackoverflow.com/questions/9879225/serverpath-info-on-localhost
 

Parantatatam

mag Cookies & Kekse
Dann ändere die Zeile doch so ab:
PHP:
if ( isset( $_SERVER[ 'PATH_INFO' ] ) ) {
  $this->url_elements = explode( '/', $_SERVER[ 'PATH_INFO' ] );
} else {
  $this->url_elements = array();
}
 

julia123

Erfahrenes Mitglied
vielen dank das problem hab ich gelöst. Nun hab ich jedoch ein neues Problem.

1) Ich weiss nicht wieso var idnumber=0; nicht inkrementiert. Ich sitz da jetzt schon Stunden und sehe das Problem nicht.

2)Wieso wird die Tabelen zeile nicht erweitert :
$("#TableID").append('</tr><tr> <td>'+idnumber+'</td> <td>'+vorName+'</td><td>'+nachName+'</td><td>'+tmpdatum+'</td><td>'+strUser+'</td><td><button class="losch" value='+ idnumber +'>L&oumlschen</button></td></tr>'); = > was ist hier falsch?

Kurz zur überischt zu mienem Code. Ich habe eine simple Oberfläsche eingebaut. Und wenn ihr in der Methode Add guckt sind da zu jedem Feld kritereien wie z.b. für den Namen sind nur Strings zugelassen. Das läuft alles...
 

julia123

Erfahrenes Mitglied
bitte brauche Hilfe. Den 2. Punkt hab ich geschaft mit hilfe eines minimal Beispiel. Jedoch hab ich immer noch Probleme mit dem Inkrementieren. Was mach ich falsch das ist doch eine globale variable ???
 

Bratkartoffel

gebratene Kartoffel
Premium-User
Hi julia123,

wo finde ich das mit dem inkrementieren?

// Edit: In der client/js/script.js
Ist das dort beabsichtigt, dass du die Variable "idnumber" sowohl in der Zeile 159, als auch in der Zeile 187 mit einem neuen Wert befüllst?

Grüsse,
BK