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:


    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>


    Ich weiß, dass INSERT eine große SQL Injection Gefahr ist, aber ich möchte nur die Funktionalität testen.

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

  • Nach dem Absenden steht der eingegebene Name in $_POST['name']

    Nicht eher in $_POST['user'] ? ;)


    Grundsätzlich würde ich DevFlash erstmal fragen wollen, wie sein echter Versuch aussieht und was für Fehler auftreten.

    Allein die Kommentarzeilen deuten auf Fantasiecode hin.


    Ich weiß, dass INSERT eine große SQL Injection Gefahr ist

    Dann weißt Du mehr, wie ich! Das INSERT ist keine Injection-Gefahr, sondern die falsche Verwendung der Werte-Übergaben.

    Da kann aber die Funktion selbst nichts für. Mit SELECT ist bspw. auch Injection möglich.

  • Nicht eher in $_POST['user'] ?


    Grundsätzlich würde ich DevFlash erstmal fragen wollen, wie sein echter Versuch aussieht und was für Fehler auftreten.

    Allein die Kommentarzeilen deuten auf Fantasiecode hin.

    Das hatte ich schon probiert mit einer $_POST['user'];
    Aber dann sagt das Programm, dass es nicht definiert ist....

    Weil an sich hatte ich das folgendermaßen : $user = $_POST['user'];

    Jetzt wäre meine Frage, wie bekomme ich das in die DB geschickt OHNE INSERT?


    wäre das nicht sinvoll noch eine isset() abfrage oder so

    Wäre eine gute Idee, Danke!