Bin am Verzweifeln !!! Wer kann helfen?

  • Hallo,

    ich bin in Sachen php noch ziemlich am Anfang und habe bis jetzt auf meiner Homepage immer alles nach dem "try and error"-Prinzip verändert. D.h. wenn die Veränderung nicht funktioniert hat, habe ich eben die alte Datei wieder auf den Server geladen.

    Nun habe ich mal versucht in meine Seite ein Counterscript einzubauen. Da hatte ich wohl ziemlich was falsch gemacht und mir hats die ganze Seite verschoben. D.h. die Elemente, die unter dem header und rechts von meiner Navigationsleiste sind hat es voll nach unten verschoben und auch noch zusammengequetscht!

    Warum ich nun nicht weiterkomme:
    Ich habe zuerst die geänderten Dateien durch ehemals funktiontüchtige ersetzt. Nachdem das nichts brachte habe ich alle Dateien nochmal hochgeladen und auch eine Wiederherstellung im Confixx gemacht.
    Die Dateien sind also alle i.O. und früher ging damit auch alles aber trotzdem ist bei mir noch immer alles verschoben!

    Woran kann das denn blos liegen?

    Ich wäre wirklich äußerst dankbar, wenn mir da jemand einen Rat geben könnte!

  • Wie wäre es mit einem Link zu deiner Seite?! Der Quellcode kann wesentlich besser weiterhelfen als nur beschreibender Text.

    "Carpe Diem" powered by positiv Feelings

  • Klar, gerne doch:

    http://www.flirtchatsXL.de

    (Die Seite mache ich eigentlich nur zum Spaßund weil mir nix anderes eingefallen ist bzw. vor allem um ein praktisches Übungsbeispiel zu haben.)

    Ist wahrscheinlich nix schwerwiegendes aber für mich ist php im Moment noch wie böhmische Dörfer. Und wie gesagt habe ich ja wieder die alten Dateien draufgespielt, die vorher anstandslos gelaufen sind und trotzdem sieht das jetzt anders aus. :fragend:

    Wäre echt prima, wenn jemand herausfinden würde, woran das liegt!

  • Ok, geh mal bitte zu webmasterplan - HTML-Validator und gibt deine URL dort ein. Dieser Service schaut meldet dir mögliche Fehler in deinem HTML-Code. Dabei sollte man zuerst nach wirklich markanten Fehlern suchen, wie z.B. in Zeile 266, wo ein </TA steht. Dies gibt es nicht und somit könnte es eine mögliche Ursache für dein Problem sein.

    Schaue dir also alle Meldungen des webmasterplan an und ändere die erkennbaren Fehler ab. Dann denke ich müsste dein Code wieder lauffähig sein.

    "Carpe Diem" powered by positiv Feelings

  • Hallo Torty,

    zunächst mal recht herzlichen Dank für Deine Mühe und Hilfsbereitschaft!
    Jetzt habe ich wenigstens mal einen Ansatzpunkt.
    Bin leider erst heute dazu gekommen weil ich gestern unterwegs war.
    Aber das ist ja echt ´ne prima Sache mit dem Webmasterplan. Und klar, dieses </TA muß natürlich TABLE heissen. Ich hab die Stelle im Quellcode mal geändert und die Seite dann als html gespeichert und wieder im IE geöffnet und siehe da, das ist der Fehler!
    Dann habe ich jede einzelne Datei durchsucht aber komischerweise gibts es in meinem php-script nirgends diese "TA"-Stelle.
    Ich möchte ja mit meinen Anfängerfragen nicht nerven aber kann es sein, das dieser Eintrag durch irgendeine Datei erst generiert wird und ich sie deshalb in den Dateien nicht finden kann? Ich kann mir das sonst nicht mehr anders erklären.

    Naja, ich kann höchstens noch versuchen jede in Frage kommenende Datei nacheinander durch meine ältesten Dateien zu ersetzen. Vielleicht bringt das ja etwas.

  • Also ich konnte das Problem jetzt etwas eingrenzen. In allen Dateien, die diesen Fehler haben z.B. die index.tpl oder die impressum.tpl steht der Eintrag <%insert_list_cats_all%>. Und dieser verursacht auch das Problem.

    Könnte mir vielleicht jemand einen Rat geben, wie ich jetzt weiter vorgehen könnte, um den Fehler ausfindig zu machen. Lt. dem Eintrag oben verweist die Stelle doch auf die Datenbank oder sehe ich das falsch?

    Sowas blödes, ich bin grad dabei mal langsam ein Verständnis für php zu kriegen und dann gleich so ein Hammer-Problem! :(

  • Das Problem an fertigen Scripten ist meißt, dass man nicht weiß wie sie funktionieren. Sobald man die "Motorhaube" aufmacht um ein paar Änderungen selbst vorzunehmen, kommt der "Motor" ins stocken oder versagt gänzlich den Dienst
    Auf der anderen Seite bieten fertige Scripte schnelle Lösungen für spezielle Probleme. Da muss man für sich den richtigen Weg finden.

    Ich persönlich bediene mich keiner fertigen Scripts, sondern baue alles "per Hand". Das dauert zwar anfänglich länger (mal ganz zu schweigen vom Lernaufwand), aber dafür bin ich so zu sagen der "Herr und Meister" in/über meinem Quellcode. Wenn etwas angepasst oder geändert werden muss, so weiß ich genau welche "Schraube" oder "Öse" dafür verantwortlich ist.

    Nunja, das hilft dir jetzt aber auch nicht weiter...

    Für eine weitere Analyse, müsste man mal das Websitekit haben, um auch selbst nach Unzulänglichkeiten zu fahnden. Aber es gibt noch ein paar Dinge die man tun kann. Gesetzt dem Fall du suchst nun die Stelle im Code, wo statt </table> nur ein <TA ausgegeben wird, so kann man in allen zugehörigen Scriptdateien nach dieser Zeichenfolge suchen. Also z.B. nach "</TA ".
    Ich weiß nun auch nicht genau wie weit du den Fehler bis jetzt eingegrenzt hast, aber die Suche wäre ein erneuter Ansatz.

    Frage am Rande: Nutzt du für die Programmierung (speziell in PHP) einen Editor mit Syntaxhighlighting? Ohne diesen brauchst du garnicht anfangen. Das wäre um beim Bsp. mit dem Auto zu bleiben, wie eine Fahrt ohne Licht in stockfinsterer Nacht und Tempo 100.

    Ok, also schau mal nach ob dir das weiterhilft und meld dich nochmal...

    "Carpe Diem" powered by positiv Feelings

  • Hallo Torty,

    ja hab ich, Phase5 und Dreamweaver. Und ich hatte mit der Suchfunktion auch schon nach "</TA" und ähnlichem gesucht. Auch "manuell" habe ich alles mögliche durchgeschaut. Aber es ist kein solcher Fehler zu finden. Kann ja eigentlich auch nicht, weil ich ja wieder die Dateien auf dem Server hab, die ich vor meinem Experiment mit dem Counter-Script drauf hatte. Und da ist alles trotz meiner Veränderungen anstandslos gelaufen. Also am Script liegt es dann wahrscheinlich nicht.
    Vielleicht hat es ja auch mit der Datenbank zu tun. Das wäre das einzigste, was ich noch nicht in den alten Zustand zurückversetzt also wiederhergestellt habe.

    An der Stelle, wo das "</TA" z.B. in der index.tpl stehen müßte, steht bei mir immer dieses <%insert_list_cats_all%>. Wenn ich das rausnehme, sieht die Seite wieder ganz normal aus, allerdings fehlt mir dann auch die Navigationsleiste unterm Login (siehe Singlebörsen-Scout.de ).
    Wenn ich nun wüßte, was diese Zeile genau macht, könnte ich ja dort weitersuchen. Greift dieser Befehl auf die Datenbank zu und will alle cats (Kategorien) auflisten?

    P.S.: Mit den fertigen Scripts hast Du recht und sobald ich mal Ahnung genug habe, werde ich mich auch nicht mehr auf fertige Script verlassen. Aber im Moment habe ich keine andere Wahl und dieses Script scheint auch nicht ganz schlecht zu sein. An dem Problem bin ich jetzt leider Schuld

  • Also ich bin jetzt echt am Ende! :evil:

    Ich sitze hier seit Tagen und habe schon alles mögliche und unmögliche versucht. Ich hatte jetzt sogar alle Daten auf meinem Server gelöscht und komplett wieder mein ursprüngliches Portal-Script, so wie ich es gekauft hatte und wie es auch hervorragend funktionierte hochgeladen. Und trotzdem ist auf der Seite alles verschoben! Wegen diesem <TA , das da überhaupt nicht hingehört und das auch in keiner Script-Datei steht! Wie verdammt nochmal kommt das auf meine Seite?

    Also, ich bin mir absolut sicher, daß meine Dateien nicht fehlerhaft sind. Und die Datenbank kann doch sowetwas auch nicht verursachen, oder? Hätte ich blos nicht dieses blöde Counter-Script ausprobiert!

    Gibts es vielleicht noch andere Speicherbereiche, die das Aussehen einer Seite beeinflussen können außer meines normalen Verzeichnisses auf dem Server oder sollte ich mich vielleicht mal an meinen Webhoster wenden?

    Hat denn keiner noch eine Idee? :(

  • Also ich kann kein <TA finden und habe kein chimmer was du meinst, denn die seite siht doch gut aus. Ansonsten mal die frage welches Template system das sit?? sieht mir nicht aus wie smarty odeR ??

  • Das ist richtig. Jetzt ist auf der Startseite auch kein <TA drinnen und zwar weil ich in meiner index.tpl die Zeile <%insert_list_cats_all%> rausgenommen habe. Dadurch habe ich allerdings auch keine Navigationsleiste mehr unter dem Login-Bereich.

    Sonst stand das im Webmasterplan-Validator so da:

    265: </TBODY>
    266: </TA
    267: </TBODY></TABLE>


    und in der index.tpl entspricht das der Stelle:

    <TD class=a width=140 bgcolor=#ffffff align=left>
    <TABLE cellSpacing=0 cellPadding=0 width=140 border=0>
    <TBODY>
    <%insert_login%>
    <%insert_list_cats_all%>
    </TBODY></TABLE>
    </TD>

    Aber ich habe die Seite mal wiederhergestellt damit das Problem ersichtlich ist. Seltsam finde ich allerdings auch, daß diese Stelle nur im Validator so angezeigt wird. Auf normalem Wege ist dieses <TA im Quellcode nicht zu finden.

    Welches Template-System das ist weiß ich nicht weil ich das Script fertig gekauft habe.
    Könnte man mit einem guten Template-System vielleicht den Fehler nachträglich ausbessern oder zumindest mit dem System mit dem es erstellt wurde? In dem Fall könnte ich ja mal den Verkäufer fragen.

    Übrigens finde ich das echt nett, daß Ihr Euch mit meinem Problem beschäftigt, denn das scheint wirklich mal eine Profiaufgabe zu sein! Da bin ich als Anfänger total überfordert.

  • Klar kannst den Verkaeufer fragen, wenn das Produkt fehler aufweist
    hast du selbstverstaendlich das Recht auf Nachbesserung, immer vorausgesetzt der Fehler liegt wirklich in den Script.

  • Nun, ich verstehe deine Situation und wollte dir keinen Vorwurf machen! :)

    Ich werd mich heut abend nochmal mit deinem Problem befassen und auch mit der Frage was ein Konstrukt ala
    <%xyz%> bewirkt. Vielleicht kommen wir dem Problem ja auf die Spur. Evtl. wäre es auch gut, wenn du das Counter-Script, welches
    den Fehler vermutlich verursacht hat hier zum Download anbietest. Soweit das möglich ist.

    Somit musst du leider noch etwas Geduld aufbringen. Da ich den Rest der Woch @home arbeite, kannst du auch zwischenzeitlich
    Nachfragen tätigen. Oder ich melde mich hier bei neuen Erkenntnissen.

    Bis dahin ...

    "Carpe Diem" powered by positiv Feelings

  • das "konstrukt" <%xyz%> ist mit sicherheit eine variable, die durch das script oder cms durch entsprechenden output ersetzt wird.

    wenn genau dort ein fehler auftritt, ist das problem im script-code oder im template, durch welches das "konstrukt" ersetzt wird, zu suchen

  • Also dieses <%insert_list_cats_all%> verweist offenbar auf folgende Funktion in der templ_lib.php (im includes-Ordner):

    Und das Counter-Script könnt Ihr Euch hier mal ansehen: Singlebörsen-Scout.de

    Aber mal ´ne andere Frage, wäre es auch denkbar notfalls mit einem CMS bzw. php-Editor mit WYSIWYG-Modus das ganze wieder zurecht zu rücken?

  • Also die insert-Irgendwas tätigt ja selbst keine Ausgabe, sondern ruft ihrerseits die print_cats_index-Funktion auf.
    Was macht diese Funktion?

    "Carpe Diem" powered by positiv Feelings

  • So, das wäre hier die print_cats_index-Funktion:

    Ich denke mal, daß diese die Kategorien, die dann über die Navigationsleiste wählbar sein sollen ausgibt. Und diese sind ja in der mySQL gespeichert. Vielleicht ist es ja wirklich ein Fehler in der Datenbank.

  • Also die print-Fkt. gibt nichts direkt aus, sondern gibt es an die insert-Fkt. zurück, die es dann ihrerseits zurückgibt, was zur eigentlichen
    Ausgabe im Quelltext führt. Ich habe die Ausgabe die die 2 Fkt. im Zusammenspielt erzeugen mal isoliert:

    Code
    <TR>
    	<TD bgColor="#ffffff" colSpan=3 height=1>
    	</TD>
                  </TR>
                  </TBODY>
                </TA
     >


    Das sieht nicht wirklich sinnvoll aus. Das liegt aber vermutlich daran, dass die insert-Fkt. ein Problem mit der Datenbank hat.
    Ich schlage deshalb vor, dass du die insert-Fkt. wie folgt modifizierst um mal zu sehen welche SQL-Anfrage er sich da zusammenbastelt.


    Die führt dazu, dass nach dem echo-Befehl das Script beendet wird und du die ausgegebene SQL-Anweisung kopieren und hier
    posten kannst. Nur aus dem Quellcode der insert-Fkt. ist nicht zu ersehen was der da macht.

    "Carpe Diem" powered by positiv Feelings

  • Mensch, Du hast ja richtig Ahnung wie ich das sehe!

    Das wäre jetzt die Ausgabe:

    Zitat

    | SELECT cat_links,cat_image,cat_name,cat_cats,cat_desc,cat_sub,cat_id, cat_date, cat_pick, cat_perm, cust1,cust2,cust3,cust4,cust5,cust6, meta_keywords, meta_desc,cat_vis,cat_user FROM ca_cats LEFT JOIN ca_custom ON cat_cust=cust_id WHERE cat_sub=0 AND cat_pend=0 AND cat_vis=1 ORDER BY cat_links desc |