Keine korrekte Anzeige der mysql-Daten

  • Hi,
    ich arbeite gerade am Episodenguide meiner Seite und habe nun ein Problem. Die Episodentitel werden immer richtig ausgelesen aber statt der Beschreibungen, Ausstrahlungsdatum und anderen Infos wird immer "1" angezeigt. Die Spalten sind schon auf Text gestellt. Hier mal der Link zur Seite: Link

  • Habe eben mal ein echo vor die Abfrage gepackt und nun wird zumindestens etwas ausgelesen. Aber es wird immer noch eine 1 davor gestzt. Neue Daten kann ich übrigens auch nicht hinzufügen, denn sie werden beim import von der csv-Datei einfach irgnoriert als wenn ich gar nichts importiert hätte.
    So, und nun der Quelltext der ersten Abfragen:


  • wenn du keine verbindung zur datenbank herstellst, kann auch nichts kommen.


    auch ist es überflüssig bei der variablen row immer wieder 'ne neue abfrage zu machen.


    du solltest erstmal ein wenig zeit investieren und programmieren lernen bzw. üben

  • Zitat

    Original von fry-bart
    wenn du keine verbindung zur datenbank herstellst, kann auch nichts kommen.


    auch ist es überflüssig bei der variablen row immer wieder 'ne neue abfrage zu machen.


    du solltest erstmal ein wenig zeit investieren und programmieren lernen bzw. üben


    Die Verbindung habe ich hier nur nicht mit reingeschrieben. Ohne Verbindung würden ja auch nicht die Episodentitel da stehen. Die Abfrage habe ich auch rausgelassen aber hier ist sie nochmal:

    PHP
    1. $abfrage = "SELECT * FROM AmericanDad WHERE ID='$_GET[id]'";


    Ingesammt wäre der Quelltext zu lang um in hier zu zeigen.
    Dass ich immer alles neu geschrieben habe, war für mich irgedwie übersichtlicher, weil es dann mein Editor besser angezeigt hat. Eben weil ich kein php auf meinem Rechner installiert habe.

  • erstens ist das auch übersichtlich:



    2. ist langer quelltext manchgmal von nöten um überhapt eine idee davon zu bekommen, was passiert

  • ok hier der komplette quelltext und ich meine mit der Übersicht auch die, die man im Vorschaufebster sehen kann oder wwenn man die datei auf seinem pc öffnet um abgesehne von der daten aus der dateinbank eine gesammtüberblick von der seite zu bekommen.


    Wie gesagt sind da auch ein paar überflüssige dinge drin aber es geht ja hier nur um die datenbank.


    EDIT: Ich habe den Quelltext nochmal so reingeschrieben wie er jetzt gespeichert ist.

  • Sehr, sehr unsicher:


    PHP
    1. $abfrage = "SELECT * FROM AmericanDad WHERE ID='$_GET[id]'";


    Checke mal, ob $_GET["id"] überhaupt ein Integer ist.


    Verwende hierzu gettype().
    Minuszahlen solltest du auch abfangen:

    PHP
    1. <?php
    2. if(gettype($_GET["id"])=="integer" AND $_GET["id"]>=0) {
    3. // do
    4. }
    5. else {
    6. // benutzerdefinierte eingabe geblockt
    7. }
    8. ?>


    Das Abfragen des Types ist sehr wichtig, da man sonst, mit ein bisschen Wissen oder ein bisschen googlen deine Datenbank löschen könnte --> Stichwort: Mysql Injection.


    Wäre ja nicht unbedingt gut?


    Wenn das Skript mit Fry-Bart's Hilfe noch nicht geht, kannst ja noch einmal schreiben, dann schaue ich's mir genau an, ich habe jetzt nur sofort diese Sicherheitslücke gesehen.


    Ansonsten könnte ich dir noch empfehlen, erstmal gutes HTML und CSS zu lernen, ich setze dies eigentlich für PHP/MYSQL vorraus.


    Dazu empfehle ich dir gleich ein Buch, was ich für sehr gut empfinde, wenn man interesse hat, mehr in Richtung Barrierefrei, bzw. Semantischen Code zu gehen:
    http://www.amazon.de/exec/obid…98427358/einfachperson-21


    Mit freundlichen Grüßen,
    Dani


    P.S.: Weil ich's grad sehe, mach diese immer wiederholte while-Schleife raus!


    fry-bart hat eh oben geschrieben, wie du es machen kannst.

    Dieser Beitrag wurde 300 mal editiert, zum letzten Mal von ajdani: Heute.

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von ajdani ()

  • Vielen Dank für die Tipps!
    Das mit der mysql-Injection habe ich auch schon gelesen, nur bin ich ersteinmal bei diesem Problem mit der falschen Ausgabe stehengeblieben. Den Code werde ich mal einbauen, aber dass dann eine richtige Ausgabe kommt hat damit doch nichts zu tun, sondern nur mit der Sicherheit?

  • So, das Problem ist gelöst! Ich habe einfach wie schon gesagt die while-Schleifen rausgenommen und siehe da: Es funktioniert! Ich habe den Quelltext nochmal im vorigen Threat aktualisiert. Nun muss ich nur noch wissen warum die neuen Daten nicht übernommen und gespeichet wurden.


    EDIT: Auch das zweite Problem ist gelöst. Ich habe einfach mal die Tabelle geleert und die fertige csv wieder importiert und nun funktioniert alle prima. Ist nur etwas aufwendig wenn man mal ein paar neue Spalten hinzufügen will.