Bilderkommentar refresh

  • Moin Moin,
    ich habe ein kleines Problem!
    Und habe ich jetzt schon so Dinge wie Login, Gästebuch und Co mit php gestaltet! Aber alles immer mit einzelnen seiten!
    Jetzt will ich das aber als Bilderkommentar umbasteln und würde es super finden wenn Das Textfeld zum Kommentar geben auf der selben Seite ist wie die Kommentare und das Bild selbst!
    Aber immer die gesamte Seite neu zu laden will ich nicht!
    Also habe ich insgesamt glaub 3 Fragen!^^

    1.) Wie kann ich möglichst ohne Ajax (weil ich davon NULL Plan habe) Nur eine einzelne Division neu laden?
    Das was ich gefunden habe wäre JavaScript aber da fehlt mir der Part wie ich das nur auf die Division beziehe???

    Code
    <script type="text/javascript" language="javascript"><!--
    location.reload();
    --></script>


    2.) Müsste ich dann das Formular und die Kommentare neu laden lassen oder?
    Weil nur die Kommentare würde ja bedeuten das das Formular unverändert bleibt!
    Und da gleich das nächste! Der submit Befehl läd ja immer gleich die angegebene Seite mit!
    Wie könnte ich das umgehen? Das die Daten an die Verarbeitungsdatei geschickt werden aber die Datei nicht gleich mit aufgerufen wird?
    PS: Ich mach das mit einer Datenbank im Hintergrund falls das wichtig ist!


    3.) Gibt es z.B. bei schueler.cc den Spaß das das Formular nur geöffnet wird wenn man einen Button drückt!
    Meine Idee wäre das über ne while Schleife zu machen sprich:


    Sra ... hab nicht auf den genauen Scriptaufbau geachtet! Nur schnell eingetippt! Falls paar einfache Fehler drin sind wie das Zeichen is da falsch und die ; fehlen dann weiß ich das selbst!^^ Mir gehts um den Grundgedanken erstmal nur!
    Würde das so funktionieren oder is da nen Denkfehler drin?^^
    Einzige wäre noch das durch den Button dann halt wieder nur die Division neu geladen wird und ni die ganze Seite!?

    Ich hoffe ihr wisst was ich will und könnt mir helfen!

    MfG

  • So ich hatte gerade mal sehr viel langeweile und komme nach meim Verständnis zumindest langsam in php rein!? ;)

    Ich habe mal die gesamte kommentier und anzeige Seite in richtigem php Quellcode geschrieben! ;)
    Das ist zumindest nach meinem Verständnis von php bis jetzt eine Möglichkeit das ganze zu veranstalten!
    Habe versucht extra übersichtlich zu schreiben und mit Kommentaren dazwischen!
    Bitte alle Fehler die ihr findet sagen! ;)
    Und wenn es eine einfachere Möglichkeit gibt dann wäre das natürlich auch toll!^^

    bilderkommentare.php

    EDIT:
    So grad nochmal alle Errors behoben!
    Aber er macht trotzdem ni das was er soll!!!

    Das Problem liegt da:

    Wer es sich ansehen will: http://darkemperor.bplaced.net/filemanager/te…dkommentare.php
    Ich weiß nicht wo der Fehler ist! DEnn eigentlich müsste, sofern eine Variable gepostet wird diese auf $formopen gesetzt werden! Aber genau das passiert nicht!?

    Aber ich bin schon extrem stolz auf mich das ich schonmal 100 Zeilen php absolut alleine ohne auch nur ein Funken Hilfe hinbekommen habe und zumindest der erste Teil funktioniert!^^

    EDIT2:
    AHHHHHH ...
    Ich hasse es ... !!!
    Ich hab selbst den Fehler gefunden!!!
    Hab vergessen das ein vergleichendes = bei php ja == geschrieben wird!!!

    So hab jetzt den Spaß richtig!

    Hier nochmal der zumindest meiner Meinung nach richtige Quellcode! In der Funktionsweiße fide ich keine Fehler mehr und hoffe das auch keine mehr drin sind!

  • Nee, nee, nee. Wie oft muss ich dir das noch schreiben? Wenn du PHP lernen willst, dann gehört richtig debuggen dazu! Wenn du dich von Anfang an mal dran halten würdest, wären dir manche Probleme sofort aufgefallen!!!

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • Vorerst einmal: Du qäulst hier jeden der dir helfen will in dem du alles veränderst und mit in deine Hilfestellung nachträgst und deine Helfer so zutextest, dass Sie eigentlich garkeine Lust mehr haben dir zu helfen. Wenn du einen Thread aufmachst, dann baust du dein Script soweit wie du kommst, und wenn du an der Stelle angelangt bist, wo du nicht mehr weiter weisst und es dir übers Googlen auch nicht möglich ist weiter zu kommen, dann kannst du den Thread aufmachen.

    Zitat


    1.) Wie kann ich möglichst ohne Ajax (weil ich davon NULL Plan habe) Nur eine einzelne Division neu laden?
    Das was ich gefunden habe wäre JavaScript aber da fehlt mir der Part wie ich das nur auf die Division beziehe???

    AJAX wäre das einzigst sinnvolle... Aber ich rate dir davon ab, weil du erstmal richtig PHP lernen solltest, deswegen hier meine Alternative: (ich gehe von der Liveseite aus [den Link den du uns gegeben hast])

    Wenn ich einen Kommentar abschicke gelange ich auf die kommentar.php und wenn du dort, nachdem du den Eintrag in die Datenbank gemacht hast, ein:

    PHP
    header("Location: bildkommentare.php");

    setzt, wirst du automatisch wieder auf die Liste mit den Bilder Kommentaren weitergeleitet.

    Um das "Kommentar abschicken Formular" direkt anzeigen zu lassen könntest du es entweder direkt anzeigen^^ oder per JQuery auf klicken des Buttons einblenden lassen z.B. über slideDown() (http://api.jquery.com/slideDown/)
    oder über andere Effekte von jQuery (http://api.jquery.com/category/effects/). Da müsstest du dich einfach mal durchlesen, dort gibt auch Beispiele und wenn du diese machst, dann verstehst du auch wies läuft.

    Ich hoffe ich hab dir helfen können, weil ich selber nicht ganz verstanden habe, was du eigentlich vor hast.

    Gruß crAzywuLf :D

    Einmal editiert, zuletzt von crAzywuLf (13. Juli 2010 um 09:18)

  • crAzywuLf: Jap du hast mir helfen können!!!

    @bandit600: Ich hab doch richtig debugt!!!
    Es kommt nicht ein mysql oder php Fehler!!! Dann habe ich über die echo Befehle die Variablen an den wichtigen Stellen ausgeben lassen! Und dann nach einer Weile der Verzweiflung dran gedacht das = ja == ist!
    Und das ich es abgeschickt hatte war:
    1.) Ich hatte Fragen die ich so nicht klären konnte (das was crAzywuLf mir beantwortet hat)
    2.) dann bin ich an der Stelle echt verzweifelt!
    und das ich es später gefunden habe war auch mehr Glück! ;)

    Also habe ich schon von dir gelernt wie man debuggt oder hätte ich sonst alle wirklichen Fehler selbst gefunden und behoben???

    Das einzige was mich noch nervt ist die ewige Ladezeit! Kann sein das es an meinem Rechner liegt, ich glaube aber eher das es an dem Script liegt!
    Kann man da noch was machen?

    MfG


  • @bandit600: Ich hab doch richtig debugt!!!


    Nein, hast du nicht! Es kommt nicht nur darauf an, ob PHP meckert oder nicht, sondern es geht um mehr!

    Wenn du dir die Variable $formopen per echo ausgegeben hättest lassen und im jeden if-Zweig ein echo "ich bin jetzt hier"; eingebaut hättest, wäre dir manche Sachen schneller aufgefallen. Man kann garnicht genug Ausgaben in ein fehlerhaftes Script einbauen, um einen Fehler zu finden. Das ist reine Fleißarbeit! Einfacher wirds, wenn man einen richtigen Debugger hat, w.z.B. PHPEdit

  • Wenn du dir die Variable $formopen per echo ausgegeben hättest lassen und im jeden if-Zweig ein echo "ich bin jetzt hier"; eingebaut hättest, ...

    Die $formopen hab ich miur ausgeben lassen! Ist nur nichtmehr in dem Script weil ich das absolut funktionierende rein gestellt hab!
    Ich hatte:

    Und das hat eins a funktioniert! Nur deshalb bin ich dann überhaupt auf das mit den = gekommen!
    Denn die Funktion an sich hat funktioniert! Also musste der Fehler bei der if Unterscheidung liegen!
    Gut wenn ich in die if`s auch noch ein echo gebastelt hätte wäre ich evtl. eher drauf gekommen obwohl ich ja immer wusste in welchem if der ankommt! Weil sich ja die Anzeigedaten unterschieden haben!

    MfG