Formular funktioniert nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Formular funktioniert nicht

    Hallo,
    ich möchte eine Seite einstellen, auf welcher man einen Code eingeben muss um weitergeleitet zu werden.
    Diese Codes sollen in einer MYSQL Datenbank stehen und somit auch abgefragt werden.
    Ich habe noch nicht viel Erfahrung mit PHP und bin deshalb nicht weiter als so gekommen.
    Brauche hilfe, damit das Script so funktioniert.

    PHP-Quellcode

    1. <?php
    2. if(isset($_POST["Bestätigen"])) {
    3. if($_POST["access_key"] == '1646') {
    4. echo '<meta http-equiv="refresh" content="3; URL=http://www.example.com">';
    5. }
    6. }
    7. if(isset($_POST["Bestätigen"])) {
    8. $access_key = htmlspecialchars($_POST["access_key"]);
    9. $abfrage = "SELECT * FROM access_keys WHERE access_key = '$access_key'";
    10. $ergebnis = mysql_query($abfrage);
    11. if($ergebnis == true) {
    12. echo '<meta http-equiv="refresh" content="3; URL=http://www.example.com">'
    13. }
    14. else
    15. {
    16. echo 'Fehler! Der eingegebene Key ist falsch!';
    17. }
    18. }
    19. $dbname="DestinatioN";
    20. $dbhost="localhost";
    21. $dbuser="DestinatioN";
    22. $dbpass="Bugatti-Veyron";
    23. mysql_connect($dbhost,$dbuser,$dbpass);
    24. mysql_select_db($dbname);
    25. header("Content-type: text/html; charset=utf-8");
    26. ?>
    27. <html>
    28. <head>
    29. <title>Accesspoint</title>
    30. <link rel="shortcut icon" href="favicon.ico"/>
    31. <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico"/>
    32. <link rel="icon" type="image/png" href="favicon.png"/>
    33. </head>
    34. <body>
    35. <center>
    36. <form method="POST" action="index.php">
    37. <table>
    38. <tr>
    39. Code
    40. <td><input type="text" name="access_key" maxlength="8" size="40" style="height: 20px;"></td>
    41. </tr>
    42. <tr>
    43. <td><input type="submit" name="Bestätigen" value="Bestätigen"></td>
    44. </tr>
    45. </table>
    46. </form>
    47. </center>
    48. </body>
    49. </html>
    Alles anzeigen
  • Willkommen auf easy-scripting! :)

    PHP-Quellcode

    1. if(isset($_POST["Bestätigen"])) {
    2. if($_POST["access_key"] == '1646') {
    3. echo '<meta http-equiv="refresh" content="3; URL=http://www.example.com">';
    4. }
    5. }
    6. if(isset($_POST["Bestätigen"])) {
    7. $access_key = htmlspecialchars($_POST["access_key"]);
    8. $abfrage = "SELECT * FROM access_keys WHERE access_key = '$access_key'";
    9. $ergebnis = mysql_query($abfrage);
    10. if($ergebnis == true) {
    11. echo '<meta http-equiv="refresh" content="3; URL=http://www.example.com">'
    12. }
    13. else
    14. {
    15. echo 'Fehler! Der eingegebene Key ist falsch!';
    16. }
    17. }
    Alles anzeigen


    Wurde ich wie folgt optimieren:

    PHP-Quellcode

    1. // Die Datenbankverbindung sollte, bevor du mit der Datenbank arbeiten möchtest, verbunden sein denke ich.
    2. $dbname="DestinatioN";
    3. $dbhost="localhost";
    4. $dbuser="DestinatioN";
    5. $dbpass="Bugatti-Veyron";
    6. mysql_connect($dbhost,$dbuser,$dbpass);
    7. mysql_select_db($dbname);
    8. if(isset($_POST['Bestätigen'])) {
    9. $access_key = htmlspecialchars($_POST["access_key"]);
    10. $abfrage = "SELECT * FROM access_keys WHERE access_key = '".mysql_real_escape_string($access_key)."'";
    11. $ergebnis = mysql_query($abfrage);
    12. if(!mysql_num_rows($ergebnis)) {
    13. echo 'Fehler! Der angegebene Key ist falsch!';
    14. }
    15. else {
    16. echo '<meta http-equiv="refresh" content="3; URL=http://www.example.com">'
    17. }
    18. }
    19. // HTML - Teil
    Alles anzeigen


    Ich hoffe, dass der Code soweit klar ist.
    Das:

    PHP-Quellcode

    1. if(isset($_POST["Bestätigen"])) {
    2. if($_POST["access_key"] == '1646') {
    3. echo '<meta http-equiv="refresh" content="3; URL=http://www.example.com">';
    4. }
    5. }

    Ergab für mich letztendlich keinen Sinn mehr... daher habe ich das mal entfernt.

    Grüße.
  • Danke für die Hilfe.
    Ein Problem habe ich allerdings noch.

    Die Seite wird nicht angezeigt.

    Das ist der gesamte Code

    PHP-Quellcode

    1. <?php
    2. $dbname="DestinatioN";
    3. $dbhost="localhost";
    4. $dbuser="DestinatioN";
    5. $dbpass="Bugatti-Veyron";
    6. mysql_connect($dbhost,$dbuser,$dbpass);
    7. mysql_select_db($dbname);
    8. if(isset($_POST['Bestätigen'])) {
    9. $access_key = htmlspecialchars($_POST["access_key"]);
    10. $abfrage = "SELECT * FROM access_keys WHERE access_key = '".mysql_real_escape_string($access_key)."'";
    11. $ergebnis = mysql_query($abfrage);
    12. if(!mysql_num_rows($ergebnis)) {
    13. echo 'Fehler! Der angegebene Key ist falsch!';
    14. }
    15. else {
    16. echo '<meta http-equiv="refresh" content="3; URL=http://www.example.com">'
    17. }
    18. }
    19. header("Content-type: text/html; charset=utf-8");
    20. ?>
    21. <html>
    22. <head>
    23. <title>Accesspoint</title>
    24. <link rel="shortcut icon" href="favicon.ico"/>
    25. <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico"/>
    26. <link rel="icon" type="image/png" href="favicon.png"/>
    27. </head>
    28. <body>
    29. <center>
    30. <form method="POST" action="">
    31. <table>
    32. <tr>
    33. Code
    34. <td><input type="text" name="access_key" maxlength="8" size="40" style="height: 20px;"></td>
    35. </tr>
    36. <tr>
    37. <td><input type="submit" name="Bestätigen" value="Bestätigen"></td>
    38. </tr>
    39. </table>
    40. </form>
    41. </center>
    42. </body>
    43. </html>
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DestinatioN ()

  • Du erstellst deine Datenbank "DestinatioN" und dann kannst du deine Tabelle bspw. wie folgt anlegen:

    SQL-Abfrage

    1. CREATE TABLE IF NOT EXISTS `access_keys` (
    2. `id` int(11) NOT NULL AUTO_INCREMENT,
    3. `access_key` varchar(50) NOT NULL,
    4. PRIMARY KEY (`id`)
    5. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    Sähe dann wie folgt aus:


    Das ist das, was ich nun so machen würde, anhand deine Codes.
  • Du kannst auch wieder im SQL Fenster das schreiben:

    SQL-Abfrage

    1. INSERT INTO `acess_keys` `acess_key` = '102'


    Die 102 ist natürlich Variable das kannst du dir aussuchen oder via PHP Script

    PHP-Quellcode

    1. mysql_query("INSERT INTO `acess_keys` `acess_key` = '102'");


    Die id erstellt sich in dem Fall automatisch

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von NicoWiss ()