ingobar: AJAX vs. php

Hallo zusammen,

ich bin dabei meine erste Internetseite mit Datenbankanbindung zu erstellen und stehe nun vor folgendem Problem mache ich es mit AJAX oder nur php?

Dabei habe ich folgenden Gedankengang:

AJAX
Ich erstelle die verschiedenen Masken mit HTML (oder XHTML?) und hole mir via AJAX und php nur die entsprechenden Daten aus der DB und verändere die nur Anzeige indem ich mit JavaScript in den DOM eingreife und entsprechend Knoten etc setze. So habe ich es in OReillys "Von Kopf bis Fuß" gerade gelesen.

php
Ich arbeite nur mit php und baue den "HTML-Code" mit php zusammen und lasse diesen anzeigen.

Die Zielgruppe bin während der Testphase nur ich - lokal mit Firefox. Später habe ich Einfluss darauf welchen Browser die Benutzer benützen sollten.

Ich hoffe ich konnte mich verstänlich ausdrücken.

Ich habe ürbrigens nicht mit php aus - falls das eine Rolle spielen sollte.

Jetzt bin ich mal auf die Meinung von euch Profis gespannt.

  1. Hallo

    ich bin dabei meine erste Internetseite mit Datenbankanbindung zu erstellen und stehe nun vor folgendem Problem mache ich es mit AJAX oder nur php?

    AJAX
    Ich erstelle die verschiedenen Masken mit HTML (oder XHTML?) und hole mir via AJAX und php nur die entsprechenden Daten aus der DB und verändere die nur Anzeige indem ich mit JavaScript in den DOM eingreife und entsprechend Knoten etc setze.

    Mit Ajax könntest du die Formularfelder füllen und manipulieren, aber das letztendliche Speichern der resultierenden Daten übernimmt wieder die Serverseite, also PHP oder Rerl aoder was auch immer.

    Du brauchst also entweder nur eine serverseitigen Sprache (hier PHP) oder für zusätzlichen Komfort auch noch JavaScript/Ajax.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1
  2. Die Zielgruppe bin während der Testphase nur ich - lokal mit Firefox. Später habe ich Einfluss darauf welchen Browser die Benutzer benützen sollten.

    Ich habe ürbrigens nicht mit php aus - falls das eine Rolle spielen sollte.

    Jetzt bin ich mal auf die Meinung von euch Profis gespannt.

    Ja, also, erst einmal ist der topic PHP vs. AJAX schon mal falsch gewählt, zweitens würde ich an Deiner Stelle die Finger von AJAX lassen und drittens ist die Frage ganz interessant. Mal was mit Java-Applets oder dem Flash-Zeug versucht?

    1. Mal was mit Java-Applets oder dem Flash-Zeug versucht?

      Ich habe mal mit Director gemacht und mich anschließend auch mit beschäftigt. Aber irgenwie hatte ich nicht die richtigen Ideen für passende Anwendungen. Außerdem kostet Flash etc. ja auch Geld.

      Bei Applets stört mich die schwierige Erstellung von schönen UIs. Ich habe im Rahmen von meinem Info-Studium einmal was Komplexeres in Java programmiert und da hat mich die Oberfläche mehr Nerven und Zeit gekostet als der ganze Rest.

  3. Ich grüsse den Cosmos,

    ich bin dabei meine erste Internetseite mit Datenbankanbindung zu erstellen und stehe nun vor folgendem Problem mache ich es mit AJAX oder nur php?

    Hast du Inhalte, die sich dynamisch ändern, wärend der Besucher auf der Seite ist? Wenn nicht, macht Ajax nur bedingt sinn, erhöht den Aufwand aber enorm.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
  4. Hm, ohne bisherige php-Kenntnisse gleich eine AJAX-Anwendung schreiben?

    Ich fänd's ein bißchen happig, direkt ohne Vorkenntnisse so einen Schritt zu
    wagen. Klar geht das (theoretisch), aber... sagen wir mal :
    wozu gibt es Treppen? Man könnte doch (theoretisch)
    direkt 5 Stufen überspringen. (bitte nicht krumm nehmen)

    ajax ist sowieso eher etwas für Spezialanwendungen, als für jede Seite.
    Auch wenn es sich verlockend anhört, sich "einfach" eine Anwendung zu
    schreiben, die zu Anfang mit dem Seitenaufruf heruntergeladen wird und
    anschließend nur noch ohne weitere optisch auffällige Ladezeiten Input
    nachzuladen oder zu senden: die Entwicklung kann sehr frustrierend sein.

    Je komplizierter etwas aufgebaut wird, desto mehr Fehler können sich einschleichen.

    Und egal wie einfach letztendlich die Anwendung in der Ausführung erscheint:
    Das ajax-Schema ist auf jeden Fall der kompliziertere Weg.

  5. Moin,

    ich bin dabei meine erste Internetseite mit Datenbankanbindung zu erstellen und stehe nun vor folgendem Problem mache ich es mit AJAX oder nur php?

    Dabei habe ich folgenden Gedankengang:

    AJAX
    Ich erstelle die verschiedenen Masken mit HTML (oder XHTML?) und hole mir via AJAX und php nur die entsprechenden Daten aus der DB und verändere die nur Anzeige indem ich mit JavaScript in den DOM eingreife und entsprechend Knoten etc setze. So habe ich es in OReillys "Von Kopf bis Fuß" gerade gelesen.

    php
    Ich arbeite nur mit php und baue den "HTML-Code" mit php zusammen und lasse diesen anzeigen.

    Wenn Du Wert darauf legen möchtest, dass Deine Anwendung auch funktioniert, ohne dass der Anwender Javascript in seinem Browser aktiviert hast, kommst Du nicht umhin, eine reine CGI-Anwendung _neben_ einer Ajax-Anwendung zu schreiben und mit einer umfangreichen Funktionsmaschinierie dafür zu sorgen, dass die Kompatibilität gegeben ist.

    Spätestens hier stelle ich mir die Frage nach der Sinnfälligkeit von Ajax, was das User-Interface und User-Interaktion betrifft.

    Andererseits ergibt sich aus der Tatsache, dass die meisten Besucher Javascript aktiviert haben und dass sich mit Ajax asynchron zum Laden einer HTML-Datei Prozesse auf dem Server starten lassen, gewisse Möglichkeiten, die einem Webmaster die Arbeit erleichtern könnten, ohne dass der Besucher einer WebSeite was davon merkt.

    --roro

  6. Moin!

    AJAX
    Ich erstelle die verschiedenen Masken mit HTML (oder XHTML?) und hole mir via AJAX und php nur die entsprechenden Daten aus der DB und verändere die nur Anzeige indem ich mit JavaScript in den DOM eingreife und entsprechend Knoten etc setze. So habe ich es in OReillys "Von Kopf bis Fuß" gerade gelesen.

    Das ist viel zu umständlich, weil du neben der DB-Abfrage in PHP noch weiteren JavaScript-Code brauchst, der die per AJAX „übermittelten“ Daten verarbeitet, also fast doppelte Arbeit. Außerdem können Suchmaschinen deine Inhalte nicht finden, weil die URI gleich bleibt.

    Später habe ich Einfluss darauf welchen Browser die Benutzer benützen sollten.

    Wie denn?

    Ich habe ürbrigens nicht mit php aus - falls das eine Rolle spielen sollte.

    Da du bei dieser Fragestellung um PHP nicht herumkommst, musst du auf jeden Fall erst einmal ein bisschen PHP lernen.

    Viele Grüße,
    Robert

  7. Moin!

    ich bin dabei meine erste Internetseite mit Datenbankanbindung zu erstellen und stehe nun vor folgendem Problem mache ich es mit AJAX oder nur php?

    Mein dringender Rat: Mach es beim ersten Mal klassisch nur mit PHP, lass AJAX weg.

    Beim ersten Mal hast du mit grundlegenden Basics zu kämpfen, die dir den Job schon schwer genug machen. Wenn du dann auch noch ZWEI Programmiersprachen (PHP und Javascript) mischst, wird das schon komplizierter.

    Wenn dann noch der XMLHttpRequest dazwischenfunkt, und deine ausgelieferte Seite eigentlich gar keinen eindeutig feststellbaren Zustand mehr hat, weil alle Inhalte vollkommen dynamisch sind, und flexibel auswechselbar, wird die Sache ziemlich unübersichtlich fürs Entwickeln und Bugfixing, weil: Wo kommt der im Browser angezeigte Inhalt denn nun her?

    Und wenn du sowieso noch keinerlei Erfahrung im Entwickeln von Internetseiten hast, dann reicht es für's erste Mal wirklich, wenn du einfach nur den einfachsten Weg beschreitest.

    Dass du am Ende des Projekts all deinen Code am liebsten unwiederherstellbar löschen würdest, ist normal. Deswegen sammelst du ja deine Erfahrungen. Aber es wäre doch schön, wenn dein Projekt gelingt und fertig wird - und nicht daran scheitert oder zumindest auf Schneckenniveau endlos einfriert, weil du gleich PHP, AJAX und alles, was "cool" scheint, im allerersten Projekt realisieren willst - und aufgrund der Komplexität unüberwindliche Probleme entstehen.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Beim ersten Mal hast du mit grundlegenden Basics zu kämpfen

      Ich habe schon recht viel mit HTML, XML, JavaScript gemacht, Daher wäre für mich nur das php neu.

      Wo kommt der im Browser angezeigte Inhalt denn nun her?

      Das Problem hatte ich tatsächlich bei den ersten Versuchen mit php. Ich dachte halt daran, dass ich weiter meine HTML und JavaScript-Kenntnisse nutzen kann. Und php im Grunde nur als Schnittstelle zwischen Anwendung und DB nutzen kann.

  8. Wenn ich es mal zusammenfassen darf:

    Wenn ich den Anwender nicht blockieren möchte oder sich die Seite während der Eingabe verändert, sollte ich AJAX benutzen.

    Wenn die Seite "statisch" ist sollte ich nur php nehmen.

    Beispiel: Ich möchte ein Autovervollständigen benutzen, d.h. der User gibt etwas in ein Textfeld ein und abhängig von der Eingabe wird in einem darunterliegende popUp-Menu mögliche, passende Einträge angezeigt. Das wäre dann AJAX, oder?

    1. Hallo

      Wenn ich den Anwender nicht blockieren möchte ...

      Was ist damit gemeint?

      oder sich die Seite während der Eingabe verändert, sollte ich AJAX benutzen.

      Nur, wenn dazu eine Kommunikation mit dem Server erforderlich ist. Ansonsten reicht (lokales) JavaScript.

      Beispiel: Ich möchte ein Autovervollständigen benutzen, d.h. der User gibt etwas in ein Textfeld ein und abhängig von der Eingabe wird in einem darunterliegende popUp-Menu mögliche, passende Einträge angezeigt. Das wäre dann AJAX, oder?

      Wie gesagt, nur wenn der Server zu diesem Zweck weiteren Inhalt ausliefern muss. Wenn das ganze überschaubar bleibt, kannst du schon vorher bei der Auslieferung der HTML-Datei ein JavaScript-Array per PHP zusammensetzen, welches die möglichen Inhalte für das Formularfeld beinhaltet, die dann lokal einfügt werden können.

      Tschö, Auge

      --
      Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
      (Victor Hugo)
      Veranstaltungsdatenbank Vdb 0.1
    2. Wenn ich den Anwender nicht blockieren möchte oder sich die Seite während der Eingabe verändert, sollte ich AJAX benutzen.

      JavaScript ist eigentlich dafür vorgesehen. AJAX ist ein Stück Programmcode, der in HTML eingebettet ist und JavaScript benötigt.

      Wenn die Seite "statisch" ist sollte ich nur php nehmen.

      Nein, mit PHP arbeitest Du serverseitig, mit JavaAcript clientseitig, mit AJAX "halb/halb".

      Beispiel: Ich möchte ein Autovervollständigen benutzen, d.h. der User gibt etwas in ein Textfeld ein und abhängig von der Eingabe wird in einem darunterliegende popUp-Menu mögliche, passende Einträge angezeigt. Das wäre dann AJAX, oder?

      Das Autovervollständigen ist ein Feature der Browser, also weder PHP noch JavaScript noch AJAX.

      Hör einfach mal auf mich und lerne PHP + JavaScript und lass erst einmal die Finger von AJAX.   ;)

      (Und wenn Du keine JS-Verweigerer ausschliessen möchtest, dann biete denen eben eine reduzierte Funktionalität an (ohne "dynamischen" JS-Elementen bspw.).)

      1. Hallo Ludger,

        Das Autovervollständigen ist ein Feature der Browser, also weder PHP noch JavaScript noch AJAX.

        Browser können nur vorherige, bereits getätigte Suchbegriffe vervollständigen, nicht aus einer gegebenen Sammlung aller möglichen und unmöglichen Suchbegriffe auswählen; diese würde die Seite zu fett machen. Deswegen ist es in den letzten Jahren populär geworden, die Benutzereingaben mittels AJAX an den Server zu schicken, dessen Vorschläge zurückzukriegen und diese in einem „Popup“ anzubieten. Ein Beispiel dafür ist Google Suggest.

        Tim

        1. Hallo Tim,

          Das Autovervollständigen ist ein Feature der Browser, also weder PHP noch JavaScript noch AJAX.

          Browser können nur vorherige, bereits getätigte Suchbegriffe vervollständigen, nicht aus einer gegebenen Sammlung aller möglichen und unmöglichen Suchbegriffe auswählen; diese würde die Seite zu fett machen. Deswegen ist es in den letzten Jahren populär geworden, die Benutzereingaben mittels AJAX an den Server zu schicken, dessen Vorschläge zurückzukriegen und diese in einem „Popup“ anzubieten. Ein Beispiel dafür ist Google Suggest.

          Danke für die Info, ich habe schon geahnt, dass sowas mit AJAX geht, ich hatte diese Kombination INPUT+SELECT (und ein wenig JS-Krempel) im Auge.