Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: Daten aus Forumlar in MySQL-DB schreiben

  1. #1
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21

    Daten aus Forumlar in MySQL-DB schreiben

    Moin,

    ich habe ein Problem und sehe den Wald vor lauter Bäumen nicht.
    Habe mich an eines der Tutorials hier im Forum gehalten, doch ist es mir einfach nicht möglich, Daten in die DB abzuspeichern.
    Vielleicht entdeckt ja jemand mit geschulteren Augen das Problem...
    Ich bekomme letzlich immer die Ausgabe "Fehler: Daten nicht gespeichert.".

    PHP-Code:
    <?PHP
        
    if (isset( $_POST['speichern'] ))
        {
            
    $_POST get_magic_quotes_gpc() ? array_map'stripslashes'$_POST ) : $_POST;
            
            
    $basispaket = isset( $_POST['basispaket'] ) ? 0;
            
    $branchenbrief = isset ( $_POST['branchenbrief'] ) ? 0;
            
    $broschuere = isset ( $_POST['broschuere'] ) ? 0;
            
    $merkblaetter = isset ( $_POST['merkblaetter'] ) ? 0;
            
    $datum $_POST['datum'];
            
    $mitarbeiter $_POST['mitarbeiter'];

            include 
    'dbconnect.php';
        
            
    $sql "INSERT INTO `stufe1`
                        (`datum`, `mitarbeiter`, `basispaket`, `branchenbrief`, `broschuere`, `merkblaetter`)
                    VALUES(
                        " 
    .$datum",
                        '" 
    .mysql_real_escape_string$mitarbeiter ). "',
                        " 
    .$basispaket",
                        " 
    .$branchenbrief",
                        " 
    .$broschuere",
                        " 
    .$merkblaetter"
                        )"
    ;

            
    mysql_query$sql );        
            if (
    mysql_affected_rows() == 1)
            {
                echo 
    "gespeichert";
            }
            else
            {
                echo 
    "Fehler: Daten nicht gespeichert";
            }
        }
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
        <head>
            <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
            <link rel="stylesheet" type="text/css" href="css/style.css">
        </head>
        <body>    
                <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular" >
                    <table border=0">
                        <tr><td>Datum: <input type="text" name="datum" value="dd.mm.yyyy"</td><td>Mitarbeiter: <input type="text" name="mitarbeiter" value=""</td></tr>
                        <tr><td><br/><b>Erstinformation: Versenden/Aushändigen von Infomaterial</b><br/><br/></td></tr>
                        <tr><td><input type="checkbox" name="basispaket" value="Basispaket" >Basispaket</td></tr>
                        <tr><td><input type="checkbox" name="branchenbrief" value="Branchenbrief" >Branchenbrief</td></tr>
                        <tr><td><input type="checkbox" name="broschuere" value="Broschüre" >Broschüre</td></tr>
                        <tr><td><input type="checkbox" name="merkblaetter" value="Merkblätter" >Merkblätter</td></tr>
                        <br/>
                        <tr><td><input type="submit" name="speichern" id="speichern" value="speichern" /></td></tr>    
                    </table>
                </form>
                <p><a href="stufe2.html">>>> Stufe 2 <<<</a> <a href="stufe3.html">>>> Stufe 3 <<<</p>
        </body>
    </html>
    Inhalt der dbconnect.php:

    PHP-Code:
    <?php
    $dbname
    ="asd";
    $dbhost="localhost";
    $dbuser="asd";
    $dbpass="asd";

    mysql_connect($dbhost,$dbuser,$dbpass) or die ( "Fehler: Die Datenbank konnte nicht erreicht werden." mysql_error());
    mysql_select_db($dbname) or die ( "Fehler: Keine Verbindung zur Tabelle möglich" mysql_error());
    ?>

  2. #2
    TP-Supporter
    Registriert seit
    Dec 2006
    Beiträge
    475
    Wird denn mysql_query() erfolgreich ausgeführt? D.h. siehst Du den Eintrag in der Datenbank?

  3. #3
    TP-Supporter Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    479
    Bei der Fehlermeldugn weisst du ja schonmal wo du anfangen kannst rückwärts zu suchen. Hilfreich ist dabei sowas wie

    Code:
    mysql_query($sql) or die($sql.mysql_error())
    Dann kannst du schonmal SQL-Fehler debuggen.

  4. #4
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21
    Hey,

    das hat mir schonmal weitergeholfen, danke!
    Ein Feld innerhalb der Tabelle war anders benannt.
    Konnte jetzt einige Datensätze einfügen.
    Allerdings scheint es noch Probleme mit dem Datum zu geben.
    Gibt es da eine Möglichkeit unterschiedliche Schreibweisen eines Datums so umzuformen, dass sie in der MySQL-Schreibweise angepasst werden?
    Also z.B. 18.08.2010 -> 2010-08-18 ?

    // Ich sehe grade, dass in der DB als Datum nur 0000-00-00 gespeichert wird.
    Da muss wohl noch ein weiterer Fehler existieren...
    Geändert von el_matador (18.08.2010 um 09:54 Uhr)

  5. #5
    TP-Supporter Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    479
    Kannst du von Hand mit explode() machen, oder die Datetime-Klassen benutzen.

    Code:
    $from = 'd.m.Y H:i';
    $to   = 'Y-m-d H:i:s';
    $date = DateTime::createFromFormat($from, '18.8.2010 9:57');
    echo $date->format($to);

  6. #6
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21
    werd ich gleich probieren.
    noch funktioniert etwas nicht mit der übergabe des datums.
    wie oben schon erwähnt, wird nur 0000-00-00 in der db gespeichert.
    hab schon ein paar sachen probiert, leider ohne erfolg.
    sieht jemand meinen fehler?

  7. #7
    TP-Moderator Avatar von Cybergreek
    Registriert seit
    Nov 2005
    Ort
    Köln
    Beiträge
    1.666
    Zitat Zitat von el_matador Beitrag anzeigen
    wie oben schon erwähnt, wird nur 0000-00-00 in der db gespeichert.
    hab schon ein paar sachen probiert, leider ohne erfolg.
    sieht jemand meinen fehler?
    Was steht denn in $datum drin?
    Du müssten beim Insert auch das Datum mit ' umschließen.
    Grüße vom Griechen,
    Cybergreek!

    everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht

  8. #8
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21
    Zitat Zitat von Cybergreek Beitrag anzeigen
    Du müssten beim Insert auch das Datum mit ' umschließen.
    hat geklappt.
    jetzt noch die format-geschichte, dann ist es fertig.
    danke an alle!
    meld mich bestimmt später nochmal. :P

  9. #9
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21
    so, hab jetzt noch ein problem.
    hab mir ein loginscript besorgt, welches passwort und nick ursprünglich in einer datei beinhaltet.
    das wollte ich anpassen, sodass sie nicht mehr aus einer date, sondern aus der db entnommen werden.
    ich finde jedoch den fehler nicht. nach dem login werde ich immer auf die fehlerseite weitergeleitet.
    hab dabei wieder ein tutorial aus dem forum genutzt...
    hier der code:
    PHP-Code:
    <?php

    session_start
    ();

    include(
    'config.php');

    //Datenbankanbindung
    $dbname="bla";
    $dbhost="localhost";
    $dbuser="asd";
    $dbpass="asd";

    // anfang
    $conid mysql_connect$dbhost$dbuser$dbpass ) or die( 'Verbindungsfehler!' ); 
    if (
    is_resource$conid )) 

        
    mysql_select_db$dbname$conid ) or die( 'Datenbankfehler!' ); 


    $sql1 "SELECT `mitarbeiter` FROM `benutzer` WHERE LOWER(`mitarbeiter`) = '" .mysql_real_escape_string$uname ). "' ";
    $ergebnis1 mysql_query$sql1$conid ) or die($sql.mysql_error());
    $uname mysql_fetch_assoc($ergebnis1);
    $sql2 "SELECT `passwort` FROM `benutzer`WHERE `passwort` = '" .mysql_real_escape_string$passwort ). "' ";
    $ergebnis2 mysql_query$sql2$conid ) or die($sql.mysql_error());
    $pword mysql_fetch_assoc($ergebnis2);

    //Resets logout
    unset($_GET['logout']);

    //Fetches username and password variables
    $username strtolowertrim$_POST['username'] ) );
    $password md5trim$_POST['passwort'] ) );

    //Checks and validates password and accepts or displays errors
    if($uname == $username){
        if(
    $pword == $password){
            
    $_SESSION['loggedin'] = True;
            
    header('Location: '.$target);
        }
        else
        {
            
    $_SESSION['loggedin'] = "";
            echo 
    $error;
            
    //Notify if config settings allow.
    if($notify == "yes"){
    $to $email;
    $subject "PHP Login Notification: Warning";
    $msg "PHP Login has detected a failed login attempt.
    The login used the details:
    username: $username
    password: $password"
    ;
    $from $email;
    $headers "From: $from";
    mail($to,$subject,$msg,$headers);
    }
    //End notify if.
            
        
    }

    else 
    {
        
    $_SESSION['loggedin'] = "";
        echo 
    $error;
        
    //Notify if config settings allow.
    if($notify == "yes"){
    $to $email;
    $subject "PHP Login Notification: Warning";
    $msg "PHP Login has detected a failed login attempt.
    The login used the details:
    username: $username
    password: $password
    ------
    Powered by creativeben.co.uk php login."
    ;
    $from $email;
    $headers "From: $from";
    mail($to,$subject,$msg,$headers);
    }
    //End notify if.
            
    }

    ?>

  10. #10
    TP-Supporter Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    479
    $uname ist nicht definiert. "echo" hilft hier auch ungemein - einfach alle Variablen ab Fehlermeldung ausgeben lassen.

    echo $uname, $username, $pword, $password, ... Oder halt einen Editor wie Notepad++ nehmen, der dir alle Übereinstimmungen des markierten Wortes farblich hervorhebt.

  11. #11
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21
    ich habe nun den teil

    PHP-Code:
    $sql1 "SELECT `mitarbeiter` FROM `benutzer` WHERE LOWER(`mitarbeiter`) = '" .mysql_real_escape_string$uname ). "' "
    $ergebnis1 mysql_query$sql1$conid ) or die($sql.mysql_error()); 
    $uname mysql_fetch_assoc($ergebnis1); 
    $sql2 "SELECT `passwort` FROM `benutzer`WHERE `passwort` = '" .mysql_real_escape_string$passwort ). "' "
    $ergebnis2 mysql_query$sql2$conid ) or die($sql.mysql_error()); 
    $pword mysql_fetch_assoc($ergebnis2); 
    in diesen geändert

    PHP-Code:
    $sql "SELECT mitarbeiter AND Passwort FROM benutzer WHERE LOWER(mitarbeiter) = '.mysql_real_escape_string($_POST(username)).' AND passwort = '.mysql_real_escape_string($_POST(password)).' ";
    $ergebnis mysql_query$sql$conid ) or die(mysql_error());
    while( 
    $row mysql_fetch_array($ergebnis) )
    {
        
    $uname $row[0];
        
    $pword $row[1];
    }
    mysql_free_result($ergebnis); 
    jedoch wird immernoch nichts in $uname und $pword übergeben. woran liegt das?

  12. #12
    TP-Moderator Avatar von Cybergreek
    Registriert seit
    Nov 2005
    Ort
    Köln
    Beiträge
    1.666
    Ich hab jetzt nicht weiter geschaut, aber vielleicht hilft das schon:
    PHP-Code:
    SELECT mitarbeiter AND Passwort 
    =>
    PHP-Code:
    SELECT mitarbeiterPasswort 
    Grüße vom Griechen,
    Cybergreek!

    everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht

  13. #13
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21
    daran lag es leider nicht...

  14. #14
    TP-Moderator Avatar von Cybergreek
    Registriert seit
    Nov 2005
    Ort
    Köln
    Beiträge
    1.666
    Zitat Zitat von el_matador Beitrag anzeigen
    daran lag es leider nicht...
    "Daran lag es leider nicht nur"

    Du könntest den Tipp von chorn nehmen und mal ein paar "echo"s einbauen. Also z.B. "echo $sql", dann siehst Du wie die Abfrage letztendlich aussieht und kannst die in phpmyadmin z.B. direkt ausführen und gucken, was da rauskommt.
    Grüße vom Griechen,
    Cybergreek!

    everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht

  15. #15
    TP-Junior
    Registriert seit
    Mar 2010
    Beiträge
    21
    das hab ich bereits getan.
    echos geben für die beiden variablen nichts aus.
    die sql abfrage hingegen funktioniert...

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Pdf schreiben mit eps-daten
    Von senga im Forum Layout- & Vektor-Programme
    Antworten: 12
    Letzter Beitrag: 29.07.2006, 08:55
  2. Daten in Array schreiben
    Von December im Forum Flash & Multimedia
    Antworten: 0
    Letzter Beitrag: 18.05.2005, 17:02
  3. Daten in TXT schreiben
    Von didi69 im Forum Traum-Dynamik
    Antworten: 1
    Letzter Beitrag: 10.10.2004, 22:41
  4. Von Flash Daten in ASP schreiben
    Von schnabias im Forum Traum-Dynamik
    Antworten: 0
    Letzter Beitrag: 15.01.2003, 08:56
  5. mit Php daten aus mysql in PDF schreiben
    Von jph im Forum Traum-Dynamik
    Antworten: 1
    Letzter Beitrag: 06.12.2001, 20:09

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51