+ Antworten
Ergebnis 1 bis 8 von 8

frage zu ph und datenbanken

Eine Diskussion über frage zu ph und datenbanken im Forum Technik Ecke. Teil des Off Topic-Bereichs; kann mir jemand von euch helfen? ich möchte das Titel in die datenbank übernommen wird aber es kommt imemr ein ...

  1. #1
    Kriegsdienstverweigerer

    Registriert seit
    09.11.2012
    Alter
    28
    Beiträge
    6

    frage zu ph und datenbanken

    kann mir jemand von euch helfen? ich möchte das Titel in die datenbank übernommen wird aber es kommt imemr ein fehler, wo ran kann das liegen?


    form id="form-termin" action="test.php" method="Post">
    <fieldset class="data">
    <h1>Kontaktformular</h1>
    <p><label for="titel">Titel </label>
    <input id="titel" type="text" name="titel"/></p>

    </fieldset>
    <fieldset class="buttons">
    <button type="submit">Absenden</button>
    <button type="reset">Eingabe löschen</button>
    </fieldset>
    </form>


    <?php

    var_dump ($_POST);

    $db_server="...";
    $db_user="....";
    $db_passwort="....";
    $db_name=".....";

    /* @var $titel callable */
    $titel = $_POST["titel"];
    /*$name = $_POST["name"];
    $mail = $_POST["mail"];
    $tele = $_POST["tele"];
    $url = $_POST["url"];
    $dat = $_POST["dat"];
    $time = $_POST["tim"];

    /* @var $verbindung type */
    $verbindung = mysql_connect("..","..","...") /* stellt die verbindung zur Datenbank her */
    or die ("Verbindung zur Datenbank konnte nicht Hergestellt werden"); /* zeigt aus wenn keine Verbindung zur Datenbank möglich ist */

    mysql_select_db("andy")
    or die ("Die Datenbank existiert nicht.");

    /*$abfrage = "SELECT Vorname,Nachname,Telefon,E-Mail,Datum,Uhrzeit,Straße, Plz. und Ort FROM Abfrage"; /*fragt die tabellenzeilen ab*/
    /*+$ergebnis = mysql_query($abfrage);*/
    /*$result = mysql_query("SELECT Anfragen FROM Name WHERE Name LIKE '$name'"); wirft alle namen in der Datenbank aus */
    $eintrag= "INSERT INTO Anfrage (titel) VALUE ('".mysql_real_escape_string($_POST["titel"])."')";

    $eintragen = mysql_query($eintrag);

    if($eintragen == true)
    {
    echo "Eintrag war erfolgreich";
    }
    else
    {
    echo "Fehler beim Speichern";
    }
    ?>



    </body>
    </html>

  2. #2
    (:
    Avatar von Liontiger
    Registriert seit
    09.07.2004
    Ort
    Siegen
    Alter
    29
    Beiträge
    1.038
    Name
    Tim
    Nick
    Liontiger
    Clans
    ToC
    Wenn du schon eine Fehlermeldung bekommst würde ich empfehlen die auch hier zu posten - das macht die Sache einfacher.

    Ich hab deinen Code mal kopiert, mir eine entsprechende Tabelle in einer Testdatenbank erstellt und das getestet und es funktioniert soweit. (Mal abgesehen davon das du glaub ich am Anfang ein paar Kleinigkeiten zu kopieren vergessen hast)

    Das hier funktioniert so auf jeden Fall, vorausgesetzt deine Datenbank passt:

    1.  
    2. <html>
    3. <form id="form-termin" action="test.php" method="post">
    4. <fieldset class="data">
    5. <h1>Kontaktformular</h1>
    6. <p><label for="titel">Titel </label>
    7. <input id="titel" type="text" name="titel"/></p>
    8. </fieldset>
    9. <fieldset class="buttons">
    10. <button type="submit">Absenden</button>
    11. <button type="reset">Eingabe löschen</button>
    12. </fieldset>
    13. </form>
    14.  
    15.  
    16.  
    17.  
    18. <?php
    19. //var_dump ($_POST);
    20. $db_server="localhost";
    21. $db_user="root";
    22. $db_passwort="";
    23. $db_name="test";
    24.  
    25.  
    26. /* @var $titel callable */
    27. $titel = $_POST["titel"];
    28. /*$name = $_POST["name"];
    29.  
    30.  
    31. $mail = $_POST["mail"];
    32. $tele = $_POST["tele"];
    33. $url = $_POST["url"];
    34. $dat = $_POST["dat"];
    35. $time = $_POST["tim"];
    36.  
    37.  
    38. /* @var $verbindung type */
    39. $verbindung = mysql_connect($db_server,$db_user,$db_passwort) /* stellt die verbindung zur Datenbank her */
    40. or die ("Verbindung zur Datenbank konnte nicht Hergestellt werden"); /* zeigt aus wenn keine Verbindung zur Datenbank möglich ist */
    41.  
    42.  
    43. or die ("Die Datenbank existiert nicht.");
    44.  
    45.  
    46. /*$abfrage = "SELECT Vorname,Nachname,Telefon,E-Mail,Datum,Uhrzeit,Straße, Plz. und Ort FROM Abfrage"; /*fragt die tabellenzeilen ab*/
    47. /*+$ergebnis = mysql_query($abfrage);*/
    48. /*$result = mysql_query("SELECT Anfragen FROM Name WHERE Name LIKE '$name'"); wirft alle namen in der Datenbank aus */
    49. $eintrag= "INSERT INTO Anfrage (titel) VALUE ('".mysql_real_escape_string($_POST["titel"])."')";
    50.  
    51.  
    52. $eintragen = mysql_query($eintrag);
    53.  
    54.  
    55. if($eintragen == true) {
    56. echo "Eintrag war erfolgreich";
    57. }
    58. else {
    59. echo "Fehler beim Speichern";
    60. }
    61. ?>
    62.  
    63.  
    64. </body>
    65. </html>
    66.  

  3. #3
    Kriegsdienstverweigerer

    Registriert seit
    09.11.2012
    Alter
    28
    Beiträge
    6
    danke, dann werde ich es noch mal probieren.

  4. #4
    Kriegsdienstverweigerer

    Registriert seit
    09.11.2012
    Alter
    28
    Beiträge
    6

    Traurig

    bei mir kommt immer syntax fehler hab ka warum

  5. #5
    Ich würde dir empfehlen anstelle der mysql_*-Funktionen lieber PDO zu verwenden. Sofern du neben dem Hinzufügen des Datenbank-Eintrages noch weitere Aktionen durchführst, würde ich es als Transactions behandeln.

    1.  
    2. <!doctype html>
    3. <html>
    4. <head>
    5. <meta charset="UTF-8">
    6. <title>Kontaktformular</title>
    7. </head>
    8. <body>
    9. <form id="form-termin" action="test.php" method="post">
    10. <fieldset class="data">
    11. <h1>Kontaktformular</h1>
    12. <p><label for="titel">Titel </label>
    13. <input id="titel" type="text" name="titel"/></p>
    14. </fieldset>
    15. <fieldset class="buttons">
    16. <button type="submit">Absenden</button>
    17. <button type="reset">Eingabe löschen</button>
    18. </fieldset>
    19. </form>
    20. </body>
    21. </html>
    22.  

    1.  
    2. <?php
    3. try
    4. {
    5. $PDO = new PDO('mysql:host=localhost;dbname=DATENBANKNAME', 'USERNAME', 'PASSWORD');
    6. $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    7.  
    8. $PDOStatement = $PDO->prepare('
    9. INSERT INTO
    10. `Anfrage`
    11. SET
    12. `titel` = :titel
    13. ');
    14. $PDOStatement->bindParam(':titel', $_POST["titel"]);
    15.  
    16. if($PDOStatement->execute())
    17. {
    18. echo "Eintrag war erfolgreich";
    19. }
    20. else
    21. {
    22. echo "Fehler beim Speichern";
    23. }
    24. }
    25. catch (PDOException $exception)
    26. {
    27. echo 'Connection failed: ' . $exception->getMessage();
    28. }
    29. ?>

  6. #6
    Kriegsdienstverweigerer

    Registriert seit
    09.11.2012
    Alter
    28
    Beiträge
    6
    danke bei mir ist das problem das er keine datenbank verbindung aufbauen kann.
    für was steht das setAttribute(PDO::ATTR_...?

    Fehlermeldung: Connection failed: SQLSTATE[42000] [1044] Access denied for user 'andy'@'%' to database 'Anfrage'

  7. #7
    PDO nutzt drei verschiedene Methoden zur Fehlerbehandlung:

    • PDO::ERRMODE_SILENT
    • PDO::ERRMODE_WARNING
    • PDO::ERRMODE_EXCEPTION


    PDO::ERRMODE_SILENT, welcher der Standardwert ist, gibt gar keine Fehlermeldung aus, dies ist allenfalls für produktive Systeme sinnvoll, sofern eine getrennte Fehlerbehandlung stattfindet. Möchte man ohne eine zusätzliche Fehlerbehandlung anfallende Fehler erkennen, so bietet sich PDO::ERRMODE_WARNING und PDO::ERRMODE_EXCEPTION an. PDO::ERRMODE_WARNING gibt dabei eine E_WARNING und PDO::ERRMODE_EXCEPTION eine Exception aus.

    Anhand der Fehlermeldung ergibt sich, dass du keine Zugriffsrechte über den Benutzer andy hast. Prüfe am besten nochmal den Benutzernamen, dass Kennwort und den Namen der Datenbank. In seltenen Fällen befindet sich die Datenbank auf einem anderen Host (z.B. bei den einfachen Web-Paketen von strato), in diesem Fall musst du den localhost duch die IP oder den Hostnamen des Datenbankservers anpassen.

  8. #8
    Kriegsdienstverweigerer

    Registriert seit
    09.11.2012
    Alter
    28
    Beiträge
    6
    achso danke na das muss dann mein chef machen

+ Antworten

Ähnliche Themen

  1. Frage: GraKa-DDR3 und Mainboard MSI MS 7293 VP Vers. 2.0
    Von Ethan Hunt im Forum Kaufberatung
    Antworten: 7
    Letzter Beitrag: 03.01.2008, 22:14
  2. Frage zu Humvs und Ambus
    Von minowa123 im Forum Generals
    Antworten: 17
    Letzter Beitrag: 10.01.2006, 21:12
  3. Frage an Fire@ und T@R
    Von aN3WStaR im Forum Alarmstufe Rot 2
    Antworten: 18
    Letzter Beitrag: 08.02.2003, 16:15
  4. frage zu ss und recons
    Von CybaYoda im Forum Alarmstufe Rot 2
    Antworten: 20
    Letzter Beitrag: 23.04.2002, 18:21
  5. eine frage an traxx und den rest der uf flotte
    Von Broadwinn im Forum OFF-Topic
    Antworten: 1
    Letzter Beitrag: 13.11.2001, 00:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •