Fehlerhafte Datenübertragung von der HTML Seite zur MySQL Datenbank

  • Hey Leute,




    dies ist mein erster Eintrag und ihr seid meine letzte Hoffnung. Ich bin Maßlos überfordert.




    Zu meiner Situation:


    Ich muss für die Uni ein Website schreiben auf der eine gemeinsützige Organisatzion Unterstützer für ihre Projekte gewinnen möchte. Die Unterstützer sollen

    die Möglichkeit haben, sich mit ihren Daten zu registrieren und optional gleich eine Unterstützungsleistung auswählen können oder freie Eingabe anzugeben.


    Die Daten für die Webseite (sowohl die Projekte der Organisation als auch die Daten der Unterstützer) sollen in

    einer entsprechend sinnvollen Datenbankstruktur abgelegt werden. Zugelassene Technologien sind: XAMPP, PHP, HTML, CSS, Javascript.


    Das ganze Fontend ist schon fertig (auch wenn es mehr funktional als schön ist), so wie die Datenbankda. Da ich mit PHP und JavaScript so gut wie noch nie gearbeitet habe,

    musste ich mich dort natürlich erstmal einlesen. Ich fand heraus, dass ich mit einer ajax.js und einer crud.php die Daten aus der HTML Datei auslesen und in eine

    Datenbank reinschreiben kann, also habe ich mich dazu belesen und fing an die ajax und die crud zu schreiben.


    Meine Datenbankstruktur sieht wiefolgt aus (mit phpMyAdmin gemacht:

    Datenbankname: gruen

    Tabellenname: donation

    Tabellenspalten: ID(PrimaryKey, int 11, A_I);

    name(varchar 255);

    surname(varchar 255);

    email(varchar 255);

    project(enum "project1,project2");

    donation_type(enum "Geldspende, Sachspende")


    Tabellenname: donation_money

    Tabellenspalten: sid(int 11);

    amount(bigint 50);


    Tabellenname: donation_objects

    Tabellenspalten: sid(int 11);

    object(varchar 255);


    Das Formular an sich ist so aufgebaut, dass der Unterstützer seinen Namen, Nachnamen, E-Mail, das Projekt das er/sie unterstützen möchte,

    die Art der Spende und was er/sie letztendlich spendet (Geldbetrag, Auflistung der Gegenstände). Und wenn der Unterstützer die Spendenart "Geldspende" auswählt,

    dann soll der Betrag in der Tabelle "donation_money" eingetragen werden und nur mit "donation_type" verlinkt werden, das gleiche gild natürlich für die andere Spendenart


    Beim Auswählen der Spendenart soll dynamisch das input Feld wo die eigentliche Spende eingetragen wird erscheinen.


    Mein Problem ist:


    Beim schicken der Daten passiert leider entweder garnichts oder es kommt ein ERROR 404 Page not Found und ich schaffe die verlinkung der Tabellen in der Datenbank nicht.


    Ich packe euch noch meinen Gesamten Code mit rein, dann könnt ihr das alles bestimmt ein bisschen besser nachvollziehen.


    Tut mir leid falls ich euch mit solch banalen Sachen nerve, nur ich bin echt verzweifeld.


    project_gruen.zip

    spenden.html.txt

    crud.php.txt

    data_transfer.js.txt

    Beste Grüße

    wediga

  • Wenn du schon beim Absenden des Formulars einen '404' Fehler bekommst, dann existiert die Adresse, an die du die Daten übermitteln willst nicht!

    Prüfe doch mal... so wie du schreibst, schickst du die Daten an... crud.php.

    In deinem HTML Code hast du im <form.... ></form> aber als 'action' die Adresse 'Crud.php' angegeben. ... und die gibt es nicht.

  • Wenn du schon beim Absenden des Formulars einen '404' Fehler bekommst, dann existiert die Adresse, an die du die Daten übermitteln willst nicht!

    Prüfe doch mal... so wie du schreibst, schickst du die Daten an... crud.php.

    In deinem HTML Code hast du im <form.... ></form> aber als 'action' die Adresse 'Crud.php' angegeben. ... und die gibt es nicht.

    Sailor das ist ein guter Punkt, danke. Tatsächlich war die Crud.php nicht im selben Ordner weswegen der Dateipfad natürlich nicht stimmte. Das habe ich geändert nur leider werde ich jetzt auf eine leere Seite weitergeleitet und es wir immer noch nichts in die Datenbank eingetragen.

  • Das wunder t mich jetzt nicht, dann das was du da in Crude.php machst ist ziemlicher Quark!

    Beschäftige dich bitte mal mit den Grundlagen, denn ich vermute, du hast diesen Code von irgendwo her kopiert und hast keine Ahnung was er macht und was eine PHP Klasse (class) ist und wie das mit PHP Funktionen (funktion) funktioniert. Außerdem... diesen ganzen Mumpitz brauchst du auch gar nicht für dein doch recht triviales Problem.

    Mach zum Anfang mal einfach nur folgendes:

    Schreibe folgende Codezeilen ganz an den Anfang der Crude.php:

    Code
    1. echo "<pre>";
    2. print_r($_POST);
    3. echo "</pre>";

    Dann siehst du zum Einen, ob du überhaupt auf die richtige Seite verlinkt hast und zum Anderen, was auf dieser Seite von deinem Form (mittels 'post') übergeben wird.