[Hilfe] Eintrag in Datenbank über PHP funktioniert nicht [PHP, MySQL]

  • Heyho Towner,
    ich hab ein Problem undzwar will über über meine seite eineintrag in der Datenbank machen. Also im Prinzip füll ich die Felder aus und dann wird das was ich dort rein geschrieben habe in die Datenbank eingefügt.

    Siehe Bild:

    Spoiler anzeigen


    Das möchte ich jetzt in meine Datenbank einfügen. Aber es wird kein neuer eintrag gemacht.
    Und ja eine MySQL verbindung steht auslesen aus der Datenbank z.B wenn ich denn eintrag Manuell mache funktioniert.
    Aber ich will nicht jedes mal in die Datenbank gehen um ein eintrag zu machen sondern würde das gerne über die Homepage machen.

    Code:

    Bin nicht so gut in PHP würde mich freuen wenn mir jemand erklären würde was ich falsch gemacht habe :)


    Mfg.

  • versuch das mal, php trägt die werte schließlich nicht von selbst ein. keine gewähr auf funktionalität ^^
    da ich aus deinem codegewirr die namen der datenbanksplaten nicht herausfinden konnte solltest du die natürlich ändern.

    im übrigen empfehle ich dir deinen code mal ein wenig zu strukturieren, hier blickt man ja kaum durch.

  • versuch das mal, php trägt die werte schließlich nicht von selbst ein. keine gewähr auf funktionalität ^^
    da ich aus deinem codegewirr die namen der datenbanksplaten nicht herausfinden konnte solltest du die natürlich ändern.

    im übrigen empfehle ich dir deinen code mal ein wenig zu strukturieren, hier blickt man ja kaum durch.

    Hat leider auch nichts gebracht...
    Trotzdem danke :)

    Ich werde versuchen mehr Struktur in die Codes zu bringen. ^^


    Mfg.

  • Ich hab jetzt auf die Schnelle deinen Code auch nicht ganz durchstiegen.

    Wenn ich so ein Problem habe, breche ich es auf die kleinste Einheit herunter: Versuche einmal mit einem neuen Code nur ein einziges Feld (ein Eintrag) in die Datenbank zu speichern. Wenn das klappt, vergleichst Du es mit Deinem Code - und Du wirst den Fehler schnell finden.

    Noch ein Tipp: Statt Datum und Uhrzeit manuell einzugeben und über $_POST zu übergeben, kannst Du die PHP-Funktion time() nehmen. Das generiert Dir einen timestamp zu dem Zeitpunkt der Datenübertragung. Und den Timestamp kannst Du dann später bei der Ausgabe wieder per date() in Datum und Uhrzeit anzeigen lassen.

    #Noch was: protect(umlautenew()) ist deine Funktion, die die Eingabe vor Script-Versuchen schützt? Mit der Funktion htmlspecialchars() kannst Du dies auch zuverlässig machen.

    #Und Du solltest deine MYSQL-Befehle immer groß schreiben, so, wie Du es bei SELECT auch machst. Ändere mal "insert into" in INSERT INTO - Ergebnis müsste identisch sein, aber ist eben ne bewährte Syntax.

    2 Mal editiert, zuletzt von Hempel (16. Februar 2017 um 22:35)

    • Offizieller Beitrag

    $index = 'add';

    if (isset($_POST['submit'])) {
    $datum = protect(umlautenew($_POST['datum']));
    $name = protect(umlautenew($_POST['name']));
    $text = protect(umlautenew($_POST['text']));
    $uhr = protect(umlautenew($_POST['uhr']));

    }

    break;

    Dort musst du z.B. noch ein MySQL-Eintrag erstellen sprich. INSERT INTO hp_update(name, date, text, time) VALUES ($name, $datum, $text, $uhr)

    ,,Besser es fehlt eine Spalte in der Datenbank als im echten Leben"

    - manatee, 03.12.2016

    Gebl8Se.png

    Einmal editiert, zuletzt von SirSonay (16. Februar 2017 um 23:04)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!