tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
319
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    candys candys ist offline Grünschnabel
    Registriert seit
    Sep 2007
    Beiträge
    4
    Ich habe heute ein bestehendes Script angepasst und die dazu passende Tabelle erzeugt.
    Jetzt ist es so dass,das Datum falsch ausgeben oder gar falsch in der Tabelle gespeichert wird.

    Ich habe ein formular erstellt mit dem man daten in die Tabelle eintragen kann. Dieses Erfolgt auch Fehlerfrei nun habe ich das Problem das die Jahreszahl immer hochgezählt wird obwohl sie auf 2011 stehen bleiben soll. Hier sieht man den Fehler : http://www.roxtour.bountyhunters.de/roxtour.php

    Formular Code

    PHP-Code:
    <form method="POST" action="formular_send.php">
      <table border="1" width="100%">
        <tr>
          <td width="50%"><div align="center"><strong>Datum</strong></div></td>
          <td width="50%"><input type="text" name="datum" size="26" maxlength="255"></td>
        </tr>
        <tr>
          <td width="50%"><div align="center"><strong>Ort (bitte  oe,ae,ue schreiben, sonst wird die Ausgabe fehlerhaft dargestellt)</strong></div></td>
          <td width="50%"><input type="text" name="ort" size="26" maxlength="255"></td>
        </tr>
        <tr>
          <td width="50%"><div align="center"><strong>Teilnehmer</strong></div></td>
          <td width="50%"><input type="text" name="teilnehmer" size="26" maxlength="255"></td>
        </tr>
      </table>
      <p>&nbsp;</p>
      <p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zuruecksetzen" name="B2"></p>
    </form>
    </body>
    </html>

    <?php
    //Datenbankverbindung einfuegen!
       
    include('db.php');
    //Variablen festlegen
       
    $id $_POST['id'];
       
    $datum $_POST['datum'];
       
    $teilnehmer $_POST['ort'];
       
    $teilnehmer $_POST['teilnehmer'];
    //wenn eine der Variablen name, pass oder mail leer ist, dann [if]
       
    if( ($datum=='') OR ($ort=='') OR ($teilnehmer=='') ) {
    //Ausgabe der Fehlermeldung
          
    echo "<b>Error</b>
          Bitte fuelle die Felder Datum, Ort und Teilnehmer aus!<br><br>
           <a href=\"javascript:history.back(-2)\" target=\"_self\">Zurueck</a>"
    ;
    //wenn alles richtig ist: 
       
    } else {
    //hier steht, was Eintrag ist und was damit gemacht werden soll. Welche Spalten sollen ausgefuellt werden?
          
    $eintrag "INSERT INTO `tour` ( `id` , `datum` , `ort` , `teilnehmer` )
          VALUES ('', '.addslashes([
    $id]).', ''.addslashes([$datum].)', ''.addslashes([$ort])', ''.addslashes([$teilnehmer])')";
    //hier wird entschieden, dass $eintrag ueber die Datenbankverbindung eingetragen werden soll.
          
    $eintragen mysql_query($eintrag);
    //Ausgabe der Erfolgsmeldung
          
    if($eintragen==true) {
             echo 
    "<b>Eintrag erfolgreich</b>
             Der Eintrag in die Tabelle war erfolgreich."
    ;
          } else {
             echo 
    "Fehler!";
             include(
    'formular.php');
          }
       }
    //PHP schließen
    ?>

      <?php
    Formular_send Code

    PHP-Code:
    <form method="POST" action="formular_send.php">
      <table border="1" width="100%">
        <tr>
          <td width="50%"><div align="center"><strong>Datum</strong></div></td>
          <td width="50%"><input type="text" name="datum" size="26" maxlength="255"></td>
        </tr>
        <tr>
          <td width="50%"><div align="center"><strong>Ort (bitte  oe,ae,ue schreiben, sonst wird die Ausgabe fehlerhaft dargestellt)</strong></div></td>
          <td width="50%"><input type="text" name="ort" size="26" maxlength="255"></td>
        </tr>
        <tr>
          <td width="50%"><div align="center"><strong>Teilnehmer</strong></div></td>
          <td width="50%"><input type="text" name="teilnehmer" size="26" maxlength="255"></td>
        </tr>
      </table>
      <p>&nbsp;</p>
      <p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zuruecksetzen" name="B2"></p>
    </form>
    </body>
    </html>

    <?php
    //Datenbankverbindung einfuegen!
       
    include('db.php');
    //Variablen festlegen
       
    $id $_POST['id'];
       
    $datum $_POST['datum'];
       
    $teilnehmer $_POST['ort'];
       
    $teilnehmer $_POST['teilnehmer'];
    //wenn eine der Variablen name, pass oder mail leer ist, dann [if]
       
    if( ($datum=='') OR ($ort=='') OR ($teilnehmer=='') ) {
    //Ausgabe der Fehlermeldung
          
    echo "<b>Error</b>
          Bitte fuelle die Felder Datum, Ort und Teilnehmer aus!<br><br>
           <a href=\"javascript:history.back(-2)\" target=\"_self\">Zurueck</a>"
    ;
    //wenn alles richtig ist: 
       
    } else {
    //hier steht, was Eintrag ist und was damit gemacht werden soll. Welche Spalten sollen ausgefuellt werden?
          
    $eintrag "INSERT INTO `tour` ( `id` , `datum` , `ort` , `teilnehmer` )
          VALUES ('', '.addslashes([
    $id]).', ''.addslashes([$datum].)', ''.addslashes([$ort])', ''.addslashes([$teilnehmer])')";
    //hier wird entschieden, dass $eintrag ueber die Datenbankverbindung eingetragen werden soll.
          
    $eintragen mysql_query($eintrag);
    //Ausgabe der Erfolgsmeldung
          
    if($eintragen==true) {
             echo 
    "<b>Eintrag erfolgreich</b>
             Der Eintrag in die Tabelle war erfolgreich."
    ;
          } else {
             echo 
    "Fehler!";
             include(
    'formular.php');
          }
       }
    //PHP schließen
    ?>
    Ausgabescript ( das habe ich nur angepasst, leider nicht selber geschrieben)

    PHP-Code:
     <?php


    /**********************************************************************
     * erstellt am         27.03.2008 20:14:02
     **********************************************************************
     * Klassenname:     
     * Dateiname:         lst.php
     * Funktion:        
     * ********************************************************************
     * Autor:             mainuser
     * Version:            
     * letzte Aenderung:    
     * ********************************************************************
     * Lizenz:            pending
     **********************************************************************/
    class lst {
        
    //Deklarationen von Klassenvariablen
        
    var $qid        =   null;
        var 
    $dBase      =   null;
        var 
    $dbHost     =   null;
        var 
    $dbUser     =   null;
        var 
    $dbPass     =   null;
        var 
    $dbCon      =   null;
        
     
        
    /**
        * Description:
        * Konstruktor der Klasse
        * -> Parameter Initialisierung
        * -> Steuerung der Ausgabe
        * @access    public
        * @author   mainuser
        * @changed  27.03.2008
        * @param    
        */
        
    function lst() {
            global 
    $sess$std$DB$INFO$data$lang;
            
    //Klassenvariablen initialisieren
            
    $this->dBase    =   "xxx";
            
    $this->dbHost   =   "xxxx";
            
    $this->dbUser   =   "xxx";
            
    $this->dbPass   =   "xxx";
            
            
    //Verbindung zur SQL DB herstellen
            
    if(!$this->init())
                die(
    'no con available');
            
            
    //Ausgabe HTML Header  
            
    $this->renderHeader();  
            
    //Ausgabe der Tabelle
            
    $this->buildOutput();
            
    //Ausgabe des HTML Foots
            
    $this->renderFooter();
        }
        
    /**
        * Description:
        * Initialisierung der SQL Verbindung
        *
        * @access    public
        * @author   mainuser
        * @changed  27.03.2008
        * @param    
        */
        
    function init() {
            global 
    $sess$std$DB$INFO$data$lang;
            
            
    $dbConnect mysql_connect($this->dbHost$this->dbUser$this->dbPass);
            @
    mysql_query ("SET NAMES utf8");
            @
    mysql_query ("SET CHARACTER SET utf8");
            
    $dbSelect mysql_select_db($this->dBase$dbConnect);
            
            if (!
    $dbConnect || !$dbSelect)
                return 
    false;
            else
                
    $this->dbCon $dbConnect;
                
            return 
    true;    
        }
        
    /**
        * Description:
        * Ausgabe des HTML Header
        *
        * @access    public
        * @author   mainuser
        * @changed  29.03.2008
        * @param    
        */
        
    function renderHeader() {
            global 
    $sess$std$DB$INFO$data$lang;
            echo <<<EOT
        <!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">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Roster Colts</title>
        
        </head>
        
        <body>
    EOT;
        }
        
    /**
        * Description:
        * Ausgabe des HTML Footer
        *
        * @access    public
        * @author   mainuser
        * @changed  29.03.2008
        * @param    
        */
        
    function renderFooter() {
            global 
    $sess$std$DB$INFO$data$lang;
            
            echo <<<EOT
            </body>
        </html>        
    EOT;
        }
        
    /**
        * Description:
        * Ausgabe der Tabelle
        *
        * @access    public
        * @author   mainuser
        * @changed  27.03.2008
        * @param    
        */
        
    function buildOutput() {
            global 
    $sess$std$DB$INFO$data$lang;
            
            
            
    $order " ORDER BY ";
            
            
    //Sortierung gewünscht?
            
    if(isset($_GET) && $_GET['Sort'] != ""){
                switch (
    $_GET['Sort']) {
                        case 
    'datum':
                            
    $order .= "datum";
                        break;
                        case 
    'ort':
                            
    $order .= "ort";
                            break;

                       case 
    'teilnehmer':
                            
    $order .= "teilnehmer";
                            break;
                        
    /* case 'Steckbrief':
                           $order .= "steckbrief";
                            break;*/
                
    }
            }
            
    //ken Parameter übergeben -> Standardsortierung
            
    if($order == " ORDER BY ")
                
    $order .= "datum";
                
            
    $query "SELECT datum, ort, teilnehmer FROM tour".$order;

            
    //Daten erfragen
            
    $this->qid mysql_query($query$this->dbCon);

            
    //HTML Table Head
            
    echo <<<EOT
            <table border="1" style="border-collapse: collapse">
                <tr>
                    <center><th><a href="roxtour.php?Sort=datum"><u>Datum</u></a></th>
                    <th><a href="roxtour.php?Sort=ort"><u>Ort</u></a></th>
                    <th><a href="roxtour.php?Sort=teilnehmer"><u>Teilnehmer</a></u></th></ce
                </tr>        
    EOT;
            
    //Über alle Zeilen
            
    if(mysql_num_rows($this->qid) > 0){
                while(
    $row mysql_fetch_object($this->qid)){
                    
    $lnk "";
                   
    // if($row->steckbrief != null)
                     // $lnk = "<a href=\"{$row->steckbrief}\">Steckbrief</a>";
                    
    echo <<<EOT
                    <tr>
                        <td>
    {$row->datum}</td>
                        <td>
    {$row->ort}</td>
                        <td>
    {$row->teilnehmer}</td>
                        //<td>
    {$lnk}</td>
                    </tr>
                    
    EOT;
                }
            }
            echo <<<EOT
            </table>    
    EOT;
        }
    }
    //Instanzierung der Klasse 
    new lst();
    ?>
    Aufbau der DB
    http://www.abload.de/img/tabelle0acl.png

    so jetzt brauche ich hilfe.
    warum zählt die Db das Datum bzw die Jahres zahl unwillkürlich hoch?
    Wie kann ich das englische Datum in meinem Ausgabescript ins deutsche Format konvertieren.
    Bitte Anfänger tauglich erklären
    Danke
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Datum wird falsch ausgegeben bzw Jahrezahl zählt hoch-tabelle0acl.png  
    Geändert von candys (05.11.10 um 16:20 Uhr)
     

  2. #2
    Avatar von Splater
    Splater Splater ist offline Mitglied Brokat
    Registriert seit
    Dec 2008
    Ort
    Machern, Germany
    Beiträge
    306
    Hallo,
    also so auf den Ersten Blick ist kein Fehler auszumachen das es dazu kommt. Bist du dir sicher das du auch "2010" eingibst? Das einzigste was mich Stört ist das du in dem Query ein paar viele "'" nutzt.
    PHP-Code:
    $eintrag "INSERT INTO `tour` ( `id` , `datum` , `ort` , `teilnehmer` )
          VALUES ('', '.addslashes([
    $id]).', '.addslashes([$datum]).', '.addslashes([$ort]).', '.addslashes([$teilnehmer]).')"
    So geht es auch.
    Mfg Splater
     
    Ohooo, was ist das? Ein Türknopf? Ausgezeichnet!

  3. #3
    candys candys ist offline Grünschnabel
    Registriert seit
    Sep 2007
    Beiträge
    4
    ja ich bin mir sicher dass das Datum richtig eingeben wird. Irgendwie will die Db mich flachsen. Danke für die Verbesserung, wie kann ich denn in dem ausgabescript jetzt das Deutsche Datums format anzeigen lassen?
     

  4. #4
    Avatar von Splater
    Splater Splater ist offline Mitglied Brokat
    Registriert seit
    Dec 2008
    Ort
    Machern, Germany
    Beiträge
    306
    Wie sieht denn das Datum momentan aus? Timestamp? oder Date format?
    mfg splater
     
    Ohooo, was ist das? Ein Türknopf? Ausgezeichnet!

  5. #5
    candys candys ist offline Grünschnabel
    Registriert seit
    Sep 2007
    Beiträge
    4
    In der Db ist die Datumsspalte mit date formatiert. ansonsten im Script halt mit $datum
     

  6. #6
    Avatar von Splater
    Splater Splater ist offline Mitglied Brokat
    Registriert seit
    Dec 2008
    Ort
    Machern, Germany
    Beiträge
    306
    Hallo, wenn die Spalte als DATE-typ Deklariert ist, kannst du das schon in der Abfrage der SQL anpassen.

    Bsp.:
    PHP-Code:
    SELECT DATE_FORMAT(datum,%d.%c.%Y) AS dedatum FROM tour '$order' 
    Habs nicht getestet.
    Kannst ja mal nach "date_format" googlen, da wirst du sicher fündig
    mfg Splaty

    EDIT: Du musst dann auch die Zeile <td>{$row->datum}</td> anpassen. Also <td>{$row->dedatum}</td>
    Geändert von Splater (06.11.10 um 14:52 Uhr)
     
    Ohooo, was ist das? Ein Türknopf? Ausgezeichnet!

  7. #7
    candys candys ist offline Grünschnabel
    Registriert seit
    Sep 2007
    Beiträge
    4
    ok danke schon mal ich werde es später mal mit xampp testen.
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 15.11.08, 00:34
  2. Datum wird falsch gespeichert
    Von Steusi im Forum PHP
    Antworten: 5
    Letzter Beitrag: 06.11.08, 08:42
  3. VB6: Wochentagsname wird falsch ausgegeben
    Von Kraah im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 04.05.08, 14:03
  4. Datum wird nicht ausgegeben
    Von -Ener- im Forum PHP
    Antworten: 2
    Letzter Beitrag: 16.05.05, 10:56
  5. Datum und Uhrzeit wird nur nicht ausgegeben!
    Von msmopic im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 28.10.04, 14:11

Stichworte