php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.12.2008, 14:14  
22hase
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Ryckmaster Beitrag anzeigen
wäre das ein richtiges forum mit richtigen moderatoren, dann wäre es so.
bzw. man würde es bissen mehr erklären...
*kopp schüttel*

mir wurde hier schon sehr oft und sehr fix geholfen, obwohl manchen hier meine texte net passen

sei froh das es leute gibt die so gütig sind
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.12.2008, 14:15  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von Ryckmaster Beitrag anzeigen
okay,
also bei dereingabe muss der user ja noch immer yyyy-mm-dd eingeben.
ich würde aber dd.mm.yyyy vorziehen, trozdem soll das ganze yyyy-dd-mm in der db gespeichert werden
meiner meinung nach kann ich strtotime nicht nutzen, das diese function ja einen String mit einem Datum in US-englischem Datumsformat erwartet.
nun frage icfh micgh also, wie bekomme ich es hin, das user dd.mm.yyyy eingibt, und es in der db yyyy-mm-yy speichert.

lg und thx
hä? genau das macht doch der code den ich dir gepostet habe? willste mich veräppeln?
cycap ist offline  
Alt 16.12.2008, 14:17  
Benutzer
 
Registriert seit: 07.12.2008
Beiträge: 34
Ryckmaster befindet sich auf einem aufstrebenden Ast
Standard

aso, ich dachte es wäre nun für die ausgabe (da klappt es ja) werde es gleich testen, und dir denn bescheid geben.


lg

p.s. wollte dich nicht veräppeln...
Ryckmaster ist offline  
Alt 16.12.2008, 14:24  
Benutzer
 
Registriert seit: 07.12.2008
Beiträge: 34
Ryckmaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Ryckmaster Beitrag anzeigen
aso, ich dachte es wäre nun für die ausgabe (da klappt es ja) werde es gleich testen, und dir denn bescheid geben.


lg

p.s. wollte dich nicht veräppeln...
also ich habe es jetzt so:
PHP-Code:
<br><table>
<tr><th><b>Schulungsanfang:</b></th> <th><input type="text" name="es"></th></tr>
<tr><th><b>Schulungsende:</b></th> <th><input type="text" name="se"></th></tr>
<tr><th><b>Plätze:</b></th> <th> <input type="text" name="p"></th></tr>
</table>
<br><input type="submit" name="ausfuehren" value="Speichern">
</form><br><br>
<?php
}
$datum=$es;
$timestamp strtotime($datum);
$formatiert date("y-m-d",$timestamp);
wenn ich nun unter es 12.05.1987 eingebe und auf abschicken klicke, steht in der db 0000-00-00...
was mach ich denn jetzt falsch?

lg
Ryckmaster ist offline  
Alt 16.12.2008, 14:28  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

ich sehe überhaupt keine Zeile Code die irgendwas in die Datenbank schreibst und woher $des kommen soll ist mir auch ein Rätsel... ausserdem musst du für eine 4stellige Jahreszahl ein großes Y bei date() nehmen, bei einem kleinen ist es 2stellig
cycap ist offline  
Alt 16.12.2008, 14:29  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Ryckmaster Beitrag anzeigen
okay,
also bei dereingabe muss der user ja noch immer yyyy-mm-dd eingeben.
ich würde aber dd.mm.yyyy vorziehen, trozdem soll das ganze yyyy-dd-mm in der db gespeichert werden
meiner meinung nach kann ich strtotime nicht nutzen, das diese function ja einen String mit einem Datum in US-englischem Datumsformat erwartet.
nun frage icfh micgh also, wie bekomme ich es hin, das user dd.mm.yyyy eingibt, und es in der db yyyy-mm-yy speichert.

lg und thx

Ich habe nicht das ganze Thema gelesen,aber werden die Daten dd.mm.yyyy aus getrennten Formularfeldern? Wenn ja dann trage sie andersherum in die DB (du eine nutzt ein).

PHP-Code:
$sqlbefehl ="
   Insert Into tabelle
     (
      datefeld
     )
   VALUES
     (
      '"
.$_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']."'
     )
   "
;
$query mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl); 
Un bei der Ausgabe kannst du dann auch strtotime arbeiten.

Ungetestet müste aber auch so gehen

EDIT
Welches Format also Felddatentyp hat dein Datumsfeld in der Tabelle?
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 16.12.2008, 14:31  
Benutzer
 
Registriert seit: 07.12.2008
Beiträge: 34
Ryckmaster befindet sich auf einem aufstrebenden Ast
Standard

verständnishalber der ganze code:

PHP-Code:
<?php
//überprüfen ob Administrator angemeldet ist
require "./session.inc.php";  
?>
  <html>
  <head>
    <title>Administrationsbereich</title>
  </head>
  <body><p align=right><a href=logout.php>Logout</a></p><br><br><br>
<a href=admin_menu.php>Zurück zum Menü</a><br><br><br>   
<?php

function datenbank_verbinden()
{
  
$db_server="localhost";
  
$db_name="smuv";
  
$db_user="root";
  
$db_passwort="";

  
$db_verbindung=mysql_connect($db_server,$db_user,$db_passwort);
  if( !
$db_verbindung ) {
    die(
"Der Server kann nicht erreicht werden.");
  }
  if( !
mysql_select_db($db_name,$db_verbindung) ) {
    die(
"Die Datenbank kann nicht angesprochen werden.");
  }
  return 
$db_verbindung;
}

function 
gib_beschreibung(&$p_beschreibungsnummer,&$p_beschreibung)
{
$query="select beschreibungsnummer,name
    from beschreibungen order by name"
;
$ergebnis=mysql_query($query);
$i=0;
$p_beschreibungsnummer=array();
$p_name=array();
while(
$zeile=mysql_fetch_array($ergebnis))
{
$p_beschreibungsnummer[$i]=$zeile['beschreibungsnummer'];
$p_beschreibung[$i]=$zeile['name'];
$i++;
}
}

//jetzt noch die Schulungsorte
function gib_ort(&$p_OrtID,&$p_schulungsort)
{
    
$query="SELECT 
                OrtID,schulungsort
            FROM 
                schulungsort 
            ORDER BY 
                schulungsort"
;
    
$ergebnis=mysql_query($query);
    
$ib=0;
    
$OrtID=array();
    
$schulungsort=array();
    while(
$zeile=mysql_fetch_array($ergebnis))
    {
        
$p_OrtID[$ib]=$zeile['OrtID'];
        
$p_schulungsort[$ib]=$zeile['schulungsort'];
        
$ib++;
    }
}

function 
formular_aufbauen($p_beschreibungsnummer,$p_beschreibung,$p_OrtID,$p_schulungsort)
{
?>
<form action="<?php $_SERVER['PHP_SELF'?>" method="get">
<?php
    
echo "<b>Wählen Sie eine Beschreibung:</b><br><br>";
    for(
$i=0;$i<count($p_beschreibungsnummer);$i++)
{
?><input type="radio" name="beschreibung[]"
    value="<?php echo $p_beschreibungsnummer[$i]?>"><?php
echo $p_beschreibung[$i]."<br>";
}

echo 
"<br><br><b>Wählen Sie einen Schulungsort:</b><br><br>";
for(
$ib=0;$ib<count($p_OrtID);$ib++)
{
?><input type="radio" name="OrtID[]"
    value="<?php echo $p_OrtID[$ib]?>"><?php
echo $p_schulungsort[$ib]."<br>";
}
?>

<br><table>
<tr><th><b>Schulungsanfang:</b></th> <th><input type="text" name="es"></th></tr>
<tr><th><b>Schulungsende:</b></th> <th><input type="text" name="se"></th></tr>
<tr><th><b>Plätze:</b></th> <th> <input type="text" name="p"></th></tr>
</table>
<br><input type="submit" name="ausfuehren" value="Speichern">
</form><br><br>
<?php
}
$datum $es// kann herkommen wo es will, z.b. aus einem Formular
$timestamp strtotime($datum); 
$formatiert date("y-m-d",$timestamp);
//überprüfung der Eingaben

function check_eintraege()
{
if(empty(
$_GET['es']))
{
    echo 
"<b>Fehler! Sie haben keinen Anfangszeitraum festegelegt.</b><br><br>";
return 
false;
}
if(empty(
$_GET['se']))
{
    echo
"<b>Fehler! Sie haben kein Schulungsende angegeben.</b><br><br>";
return 
false
}
if(empty(
$_GET['OrtID']))
{
    echo
"<b>Fehler! Sie haben keinen Schulungsort gewählt.</b><br><br>"
return 
false;
}
if(!isset(
$_GET['beschreibung']))
{
    echo
"<b>Fehler! Sie haben keine Beschreibung gewählt.</b><br><br>"
return 
false;
}
if(empty(
$_GET['p']))
{
    echo
"<b>Fehler! Sie haben nicht angegeben wieviel Plätze vorhanden sind.</b><br><br>"
return 
false;

return 
true;
}

function 
daten_schreiben($p_verbindungskennung$zeile)
{
//Daten speichern
$beschreibungsarray=array();
$beschreibungsarray=$_GET['beschreibung'];
$ortarray=array();
$ortarray=$_GET['OrtID'];
$i=0;
$ib=0;
while(
$i<count($beschreibungsarray)&& $ib<count($ortarray))
{
$query="insert into schulung
  set Beschreibung='$beschreibungsarray[$i]',
      OrtNR='$ortarray[$i]',
      ErsterSchulungstag='formatiert',
      Schulungsende='$_GET[se]',
      Plaetze='$_GET[p]';"
;
$ergebnis=mysql_query($query,$p_verbindungskennung);
$i++;
$ib++;
}

echo 
"Die Daten wurden gespeichert.<br><br>";

}

function 
daten_merken()
    {
    
$verbindungskennung=datenbank_verbinden();
    if(
check_eintraege($verbindungskennung)
    &&(
check_p()))
        {
            
daten_schreiben($verbindungskennung$zeile);
        }
    else
        {
            echo 
"<b>Ihre Daten wurden <u>nicht</u> gespeichert!</b><br><br>";
            echo 
"<b>Bitte versuchen sie es nochmal!!</b><br><br><br>";
        }
    }

//eingabe von Schulungsdauer prüfen

function check_sd()
{
if (isset(
$_GET['sd'])) 
    {
        if (
is_numeric($_GET['sd'])) 
        {
            return 
true;
        } 
    else 
        {
            echo 
"<p><b>Bitte nur Zahlen als Schulungsdauer eingeben!</b></p>";
            return 
false;
        }
    }
}

function 
check_p()
{
if (isset(
$_GET['p'])) {
    if (
is_numeric($_GET['p'])) {
        return 
true;
    } else {
        echo 
"<p><b>Bitte geben sie die Plätze in Zahlen an!</b></p>";
        return 
false;
            }
                        }
    }
function 
formular()
{
$verbindungskennung=datenbank_verbinden();
gib_beschreibung($beschreibungsnummer,$beschreibung);
gib_ort($OrtID,$schulungsort);
formular_aufbauen($beschreibungsnummer,$beschreibung,$OrtID,$schulungsort);
}

//Von hier werden die Funktionen formular() und 
//  daten_merken() aufgerufen
if (isset($_GET['ausfuehren']))
    
daten_merken();
formular();
?>
    </body>
    </html>
Ryckmaster ist offline  
Alt 16.12.2008, 14:34  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

User sind in der Regel nicht in der Lage solchen Text zu lesen, der auf Webseiten ausgegeben wird oder Eingabefelder mit den Inhalten zu füllen, die man von ihnen haben will. Wenn du also drei Eingabefelder baust, in die Tag, Monat und vierstelliges Jahr einzugeben ist, dann wirst du abenteuerliche Eingaben bekommen.

Das einfachste ist es, den Leuten drei Select-Boxen zu geben, in der Sie beim Tag den Wert von 1-31, beim Monat den Wert von 1-12 und beim Jahr aus einem für deine Anwendung sinnvollen Wertebereich selektieren können.

Hier der Code für den Tag:
PHP-Code:
$selcode 'selected = "selected"';


        
$tt_liste='<select name="tt" id="tt" size=1>';
        
$tt_liste.="<option value=0>--</option>";
        for (
$i=1$i<=31$i++) {
            if (
$i == $tt) {
                
$selected $selcode;
            } else {
                
$selected="";
            }
            
            
$tt_liste.="<option value=$i $selected>$i</option>";
        }
        
$tt_liste.="</select>\n"
Mit echo $tt_liste gibst du die Box dann aus.
$tt ist ein Wert, der vorselektiert werden kann (Affenformular: $tt = $_POST['tt'])

Auf die gleiche Weise holst du dir auch $mm für den Monat und $jj fürs Jahr. Das kannst du dann mit checkdate ( $mm , $tt , $jj ) auf gültigkeit prüfen. Zum Abspeichern ins Format "jjjj-mm-tt" bei Tag und Monat noch führende Nullen setzen.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 16.12.2008, 14:36  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

ARGH du machst mich noch verrückt. Es ist doch wohl logisch das du das umgewandelte Datum in die Datenbank schreiben musst und umwandeln kannst du erst nachdem du die Daten vom Formular auch bekommen hast.
cycap ist offline  
Alt 16.12.2008, 14:42  
Benutzer
 
Registriert seit: 07.12.2008
Beiträge: 34
Ryckmaster befindet sich auf einem aufstrebenden Ast
Standard

danke cycap für deine hilfe. habe jetzt den fehler gefunden, hast recht war wirklich blöd

nu trink nen kaffee... hab dich heut genug strapaziert =)

lg
Ryckmaster ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
input type="file" mit css formatieren rooomka HTML, Usability und Barrierefreiheit 10 25.03.2009 22:05
Include Datei formatieren st0ny PHP Tipps 2008 12 31.07.2008 12:35
[Erledigt] system() Ausgabe html formatieren pervenches PHP Tipps 2008 3 09.07.2008 10:37
Zahl formatieren simsalabim PHP Tipps 2007 4 20.03.2007 14:25
wie kann ich das datum formatieren: bendigo Datenbanken 4 30.08.2005 13:43
Texte formatieren workaholic PHP Tipps 2005 5 07.03.2005 20:29
erste seite formatieren aircrash Server, Hosting und Workstations 1 04.02.2005 10:41
Auswahlmenu formatieren JeeZ HTML, Usability und Barrierefreiheit 21 27.01.2005 17:52
Linuxpartitionen formatieren Off-Topic Diskussionen 28 22.01.2005 17:16
[Erledigt] SELECT boxen formatieren HTML, Usability und Barrierefreiheit 1 17.11.2004 17:33
Per Button Text formatieren Igäl HTML, Usability und Barrierefreiheit 1 11.11.2004 06:25
Ausgabe einer DB formatieren Clan-Opa PHP Tipps 2004-2 2 07.11.2004 23:12
[Erledigt] Preisanzeige formatieren PHP Tipps 2004-2 2 05.11.2004 21:32
TIME-Feld formatieren RudiS Datenbanken 4 16.07.2004 16:16
Abgerufenen Text formatieren PHP Tipps 2004 14 27.06.2004 21:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php gegenteil von strtotime date, php formular eingabe datum formatieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum