1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

div-Klasse, die php-Datei inkludiert, automatisch neu laden

Dieses Thema im Forum "Konfiguration" wurde erstellt von floffimedia, 23. Juni 2009.

  1. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Hallo liebe JavaScript-Experten unter euch,

    ich hätte da so ein Problem, das mich die letzten Wochen beschäftigt hat, und das lautet folgendermaßen:

    Mein Blog besitzt seit einiger Zeit ein input-Feld, in das die User 100 Zeichen schreiben können. Wir haben es clagg-Feld genannt.
    Der eingegebene Satz wird ganz einfach in einer txt-Datei gespeichert, die immer die letzte Zeile ausgibt. Jeder Besucher kann rumschreiben wie er möchte, was bedeutet, dass man jedesmal die komplette Seite refreshen muss, um zu sehen, ob sich was geändert hat.

    Deshalb dachte ich mir: Bastele ein bisschen herum, damit sich die div-Klasse mit dem clagg-Feld automatisch nach 30s oder so neu lädt.
    Leider habe ich von JavaScript und Ajax ziemlich wenig Ahnung, aber einige Versuche mit Codebeispielen aus diversen Foren haben schon fast das Ziel erreicht.

    Gestern hätte ich es dann fast geschafft. In die header.php kam das entsprechende script, das über getElementById nach 30s das clagg-div (in dem mit php include eine externe php-Datei eingebunden wird) ebendasselbe div mit ebenderselben php-Datei erneut füllen soll.

    Allerdings bekam ich nach 30s immer eine Fehlermeldung, weil die php-Datei nach dem refresh über JavaScript offenbar nicht mehr vom Server ausgeführt wurde.

    Habt ihr das bis hierher einigermaßen verstanden? Ich weiß, das ist alles sehr kompliziert :D

    Meine Fragen sind nun:

    • Wird die externe php-Datei nach dem Refresh wirklich nicht mehr vom Server ausgeführt und sorgt dann für den Error?
    • Kann man das Problem lösen?
    • Gibt es andere Möglichkeiten, zu bewirken, dass sich die div-Klasse mit der externen php-Datei nach 30s refresht?
    Schon mal im Voraus vielen Dank :D
     
  2. Morris

    Morris Well-Known Member

    Registriert seit:
    27. Mai 2006
    Beiträge:
    1.560
    Zustimmungen:
    0
  3. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Vielen Dank, ich komme mir jetzt zwar vor wie der Vollnoob, aber: Welche Funktion brauche ich da? Wie muss man sowas in php einbauen, im Bezug auf die div?
     
  4. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Ich habe jetzt mal ziemlich viel gegoogelt und mir folgenden code zusammengeschrieben:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Weiter unten in der header.php wird dann die php-Datei inkludiert:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    In ihr befindet sich folgender Link:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Bestimmt sagt ihr jetzt: Das kann doch gar nicht funktionieren, weil...
    Sagt mir bitte auch warum :D
     
  5. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Das kann doch gar nicht funktionieren, weil...
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ... die URLs nicht gleich sind. ;)
     
  6. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Verstehe ich nicht. In dem jQuery-Befehl kann ich doch keine php-Befehle anwenden, wenn ich den Pfad dann relativ angebe, bezieht er sich doch auch auf den Templatepfad, oder?
     
  7. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Wenn sich die PHP-Datei im Themeverzeichnis befindet, dann so:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #7 marX, 23. Juni 2009
    Zuletzt bearbeitet: 23. Juni 2009
  8. Arno Simon

    Arno Simon Well-Known Member

    Registriert seit:
    30. November 2005
    Beiträge:
    2.170
    Zustimmungen:
    0
    nicht doch eher so?!?

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ;O)
     
  9. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Mmmh....? :roll:
     
  10. Arno Simon

    Arno Simon Well-Known Member

    Registriert seit:
    30. November 2005
    Beiträge:
    2.170
    Zustimmungen:
    0
    na, dann hau mal die 3 letzten posts in die tonne ;)
     
  11. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Ihr habt natürlich beide Recht, marX hat sich nur ein bisschen vertippt :mrgreen:

    Ich schätze mal, ich brauche eine load-Funktion.
    Sieht bei mir bislang so aus:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die Funktion soll also nach wie vor über den Link mit der Klasse "refresh" initiiert werden und dann die div-ID namens "claggbox" mit der entsprechenden Datei füllen.
    Klingt eigentlich ganz gut, klappt aber immer noch nicht :D
     
    #11 floffimedia, 23. Juni 2009
    Zuletzt bearbeitet: 23. Juni 2009
  12. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Ach quatsch, kommt vor... :oops: Außerdem muss ich ja jottlieb noch schnappen, da kann ich doch nicht meine Posts löschen... :mrgreen:

    floffi: Pssssst!!! :D

    Nimm mal statt der Klasse eine ID, bei einer Klasse bekommst du glaube ich eine Collection zurück über die du erst iterieren musst (auch wenn sie nur 1 Element enthält). Ich bin mir aber nicht 100% sicher und hab grad kein jQuery zum testen da (das kann ich nach der Arbeit einfach nicht mehr sehen.... ;))
     
    #12 marX, 23. Juni 2009
    Zuletzt bearbeitet: 23. Juni 2009
  13. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Das wird ein lustiger Thread :mrgreen:
    Eigentlich habe ich mich nämlich auch falsch ausgedrückt, ich verwende schon eine div-ID, wie es in dem Beispiel auch vorgemacht wird:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Daran liegt es aber leider nicht :?
     
  14. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Ach ein bisschen Spaß am frühen Abend ist doch ganz nett... ;)

    Das meinte ich auch nicht, sondern den Link:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  15. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Es geht doch nichts über einen kleinen Scherz :mrgreen:
    Hm, jetzt hab ich begriffen, was du meinst, aber daran liegt es offensichtlich auch nicht. Schade :-|
     
  16. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
  17. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  18. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Die Konstante TEMPLATEPATH ist außerhalb einer WP-Umgebung nicht gesetzt - und du bist bei dem Aufruf der Datei per Ajax und GET ja außerhalb einer WP-Umgebung. ;) Du könntest den Pfad statisch angeben, falls das Script nur für dich ist, oder mit PHPs magischen Konstanten (ich denke da z.B. an __FILE__) arbeiten. (Für dein Vorhaben sollte die Datei natürlich auch nur das HTML-Fragment zurückliefern, was du in das <div> nachladen möchtest, aber das scheint auf den 1. Blick ja der Fall zu sein.)
     
  19. floffimedia

    floffimedia Well-Known Member

    Registriert seit:
    5. April 2009
    Beiträge:
    438
    Zustimmungen:
    0
    Ups...
    Ich habe glaube ich ein paar Links falsch angegeben:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Mannomann, was für eine Schmach :oops:
    Jetzt schaffe ich es schon nicht einmal mehr, Dateipfade richtig anzugeben.
     
    #19 floffimedia, 23. Juni 2009
    Zuletzt bearbeitet: 23. Juni 2009
  20. Arno Simon

    Arno Simon Well-Known Member

    Registriert seit:
    30. November 2005
    Beiträge:
    2.170
    Zustimmungen:
    0
    mach doch einfach mal feierabend und geh schlafen ;) eine nacht das hirn ausruhen, hilft mir auch öfter ;O)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden