Problem: HTML Formular mit PHP an die DB senden

  • PHP

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von MrTrebron.

    Problem: HTML Formular mit PHP an die DB senden

    Moin,

    ich habe eine Spiel programmiert namens Zahlraten. Ich wollte das jetzt noch mit einer Datenbank verknüpfen.
    Da ist jetzt meine Frage, wie bekomme ich aus ein Textfeld eine Art String Variable und an die DB gesendet.

    Meine Datei sind aktuell so aus:

    PHP-Quellcode

    1. <html>
    2. <head>
    3. </head>
    4. <body>
    5. <?php
    6. # Error wird gemeldet
    7. error_reporting(-1);
    8. # Verbindung zur DB wird hergestellt
    9. $pdo = new PDO('mysql:host=localhost;dbname=numberguess', 'root');
    10. ?>
    11. <form action="stats.phtml" method="post" name="formular1">
    12. <p><b>Ihren Namen hier eingeben</p></b>
    13. <input type="text" name="user" value="" size="50" maxlength="150" required/>
    14. <input type="submit" name="Button" value="Absenden">
    15. <?php
    16. $UserImport = "INSERT INTO stats (user) VALUES (user)";
    17. $sql = "SELECT * FROM stats";
    18. foreach ($pdo->query($sql) as $row)
    19. {
    20. echo $row['User']."<br />";
    21. echo $row['savedTries']."<br />";
    22. echo $row['timeStamp']."<br /><br />";
    23. }
    24. ?>
    25. <br>
    26. </div>
    27. </body>


    Würde mich sehr freuen, wenn jemand mir helfen kann.

    *Topic verschoben*
    Mit Freundlichen Grüßen
    AtomiX

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Sorry, aber das ist ja weder ​VB6 noch .net 4.5. Deine Tags passen ja mal gar nicht.
    • PHP Code gehört nicht in den HTML Body.
    • Zugangsdaten & DB Connection String gehören nicht in den Code
    • Dein Insert schreit nach SQL Injection
    • Sorry, aber lerne PHP von Anfang an und deine Frage erübrigt sich
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Hier ist der Datenbankenbereich.
    Da kann ich nichts für, wenn es hier keine PHP, SQL oder was auch immer für Tags gibt.
    Ich weiß das PHP nicht in den Body Bereich gehört, ABER ich möchte erstmal die funktionalität testen...

    Wegen deiner SQL Injection ist erstmal egal... Ich möchte erstmal die Funktionalität, du kannst auch mal einen Lösungvorschlag machen, ohne SQL Injection...

    Deshalb jetzt nochmal die Frage, wie bekomme ich es am besten, das Formular User an die DB geschickt?
    Mit Freundlichen Grüßen
    AtomiX
    Dir ist klar, dass
    1. dieses Forum VB-Paradise heißt weil der Fokus auf VB (mittlerweile vor allem .net) liegt. Dazu kommt natürlich die weitere .net Sprache C#
    2. es einen Bereich "Weitere Sprachen und sprachübergreifende Themen" gibt?
    3. ich mich nicht genötigt sehe zum drölfigtausendsden Mal SQL Injection zu erklären, wenn es eine kleine Forensuche auch erledigt. Erst Suchen, dann Posten.

    Wenn du beim PHP lernen aufgepasst hättest, oder überhaupt mal die Basics gelernt hättest dann wüsstest du das PHP eine serverseitige Sprache ist und HTML clientseitig.
    Du musst also in deinem HTML deiner Textbox eine Name-Property verpassen und dann dein HTML Formular per POST versenden. Im PHP kannst du dann über $POST auf die Daten zugreifen.
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Trenne Daten, Logik und Style voneinander.
    Logischer Aufbau, der sich daraus ergibt:

    HTML-File mit deinem Formular
    CSS-File mit den Style-Regeln
    evtl. JavaScript-File mit ein paar anderen Funktionen

    und eben dein PHP-File. (mit dazugehörigen Configs)


    Dann verlinkst du die CSS und JS Files im Header und alles ist sauber.
    Dein php-File mit der eigentlichen Logik sprichst du innerhalb deiner Form an, sprich die "Action" stellt "deinServer/deinTollesPHPScript.php" dar.

    Eine weitere Variante wäre AJAX, aber ich glaube das sprengt den Rahmen fürs Erste.

    Beherzige bitte auch die Anmerkungen von MrTrebron, denn so Sachen wie Sql Injection und mit den Basics beschäftigen ist Voraussetzung.


    LG, Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Und es bleibt dabei, lerne die Basics.
    Du wirst nicht wirklich viel lernen wenn wir dir hier alles fertig geben.
    Wenn du etwas fertiges magst, gehe in den Marktplatz.

    Als Hilfe w3schools.com/php/php_mysql_insert.asp
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.