php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.07.2010, 15:57  
Benutzer
 
Registriert seit: 06.08.2009
Beiträge: 58
PHP-Kenntnisse:
Anfänger
bierfest befindet sich auf einem aufstrebenden Ast
Standard Datum prüfen

Hallo @ All

ich habe ein kleines Problem.

Ich habe ein Formular in dem man in einem Feld ein Datum eingeben kann,
z.B. 01.07.2010

Nun will ich dass, das Datum geprüft wird.
Das heißt:
Wenn das eingegeben Datum vor dem heutigen Datum ist, dann soll er eine Fehlermeldung bringen.

Ich habe nun bei Fehlemeldungen schon folgendes stehen:
PHP-Code:
if (strlen($_POST ['wann'])==0) { $error true; } 
Wenn nun das Feld also leer ist dann bringt er auch eine Fehlermeldung.
Das klappt.

Ich hab versucht das ganze folgendermaßen zu lösen:
PHP-Code:
function timestampFromString($str){
$werte explode("."$string);
return 
mktime((int)$werte[1], (int)$werte[0], (int)$werte[2]);
}

if (
strlen($_POST ['wann'])==0)
{
$error true
}

if (
strlen($_POST['wann']) > and timestampFromString($_POST['wann']) < timestampFromString(date('d.m.Y'))) 
{
$error true;  
$fehler_text='<br><font color="#ff0000">Das gewählte Datum liegt vor dem aktuellen Datum</font>';

Aber irgendwie geht das nicht, weil er ja in der ersten Abfrage schon prüft ob das Feld einen Wert liefert oder nicht und wenn ein Wert geliefert wird dann sieht er eben $error = false;

Was kann ich da nun machen?

Danke im Voraus...
bierfest ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.07.2010, 16:08  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von bierfest Beitrag anzeigen
Aber irgendwie geht das nicht, weil er ja in der ersten Abfrage schon prüft ob das Feld einen Wert liefert oder nicht und wenn ein Wert geliefert wird dann sieht er eben $error = false;
Wer ist „er“ - und was ist eigentlich dein Problem?


Deine Funktion timestampFromString ist übrigens kompletter Nonsense - du nimmst Monat, Tag und Jahr, und gibst sie mktime an Position der Parameter, die für Stunde, Minuten und Sekunden stehen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 30.07.2010, 16:10  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 626
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Wer ist „er“ - und was ist eigentlich dein Problem?
"er" ist vermutlich der PHP-Parser. Was das Problem ist würde ich aber auch gern wissen...

PHP: checkdate - Manual

Zitat:
wenn ein Wert geliefert wird dann sieht er eben $error = false;
Wo ?
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"
ByStones ist offline  
Alt 30.07.2010, 16:14  
Benutzer
 
Registriert seit: 06.08.2009
Beiträge: 58
PHP-Kenntnisse:
Anfänger
bierfest befindet sich auf einem aufstrebenden Ast
Standard

er = es
es = das was ich da zusammengetippt hab

Zitat:
Deine Funktion timestampFromString ist übrigens kompletter Nonsense - du nimmst Monat, Tag und Jahr, und gibst sie mktime an Position der Parameter, die für Stunde, Minuten und Sekunden stehen.
das raff ich jetzt nicht so ganz!
wie ist das jetzt gemeint?
Bin ned grad sonderlich fit mit PHP :/
bierfest ist offline  
Alt 30.07.2010, 16:17  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Dann schau ins Handbuch!

PHP: mktime - Manual
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 30.07.2010, 16:19  
Benutzer
 
Registriert seit: 06.08.2009
Beiträge: 58
PHP-Kenntnisse:
Anfänger
bierfest befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Wo ?
PHP-Code:
if (strlen($_POST ['wann'])==0)
{
$error true

Wenn also ein Wert mitgeliefert wird, dann erkennt das Script $error somit dann als false, da der Inhalt des Feldes ja nicht leer ist.

Oder?
bierfest ist offline  
Alt 30.07.2010, 16:21  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.020
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Jein. $error ist deshalb false weil es in diesem Fall nirgendwo gesetzt wird. Man könnte beispielsweise auch sowas schreiben

PHP-Code:
$error strlen($_POST['wann]') == 0
Dann wäre es explizit auf false gesetzt.
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline  
Alt 30.07.2010, 16:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Jein. $error ist deshalb false weil es in diesem Fall nirgendwo gesetzt wird.
Jein $error ist nicht false, sondern nicht-true. Genauer NULL. Und wird im Vergleich ins boolsche false konvertiert.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 30.07.2010, 16:31  
Benutzer
 
Registriert seit: 06.08.2009
Beiträge: 58
PHP-Kenntnisse:
Anfänger
bierfest befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mquadrat Beitrag anzeigen
Jein. $error ist deshalb false weil es in diesem Fall nirgendwo gesetzt wird. Man könnte beispielsweise auch sowas schreiben

PHP-Code:
$error strlen($_POST['wann]') == 0
Dann wäre es explizit auf false gesetzt.
ich hab es ja so:
PHP-Code:
$error false;
if (
strlen($_POST ['wann'])==0)
{
$error true
$fehler_wann '#ff0000';
}
if (
strlen($_POST['wann']) > and timestampFromString(number_format($_POST['wann'],2'.','')) < timestampFromString(date('dmY'))) 
{
$error true
$fehler_wann '#ff0000'
$fehler_wann_text_de='<br><font color="#ff0000">Das gewählte Datum liegt vor dem aktuellen Datum</font>';
$fehler_wann_text_en='<br><font color="#ff0000">The selected date lies before the current date</font>';
}

if (
$error== true)
{
echo 
'Fehlermeldung';
}

if (
$error == false)
{
...

Deswegen geh ich davon aus, dass das Script, wenn man in Textfeld "wann" etwas eingibt, das dann auch als flase erkennt.
bierfest ist offline  
Alt 30.07.2010, 16:34  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Ganz heißer Tipp: PHP: strtotime - Manual
fab 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
InputFeld initialisiert mit MySQL Datum format padre PHP Tipps 2010 6 06.06.2010 17:23
Heutiges DAtum mit Datum in Datenbank mittels if vergleichen mattla93 PHP Tipps 2009 11 25.03.2010 13:48
mysqli_multi_query lässt Eintrag aus... Samhayne Datenbanken 8 07.02.2010 19:02
Countdown mit Datum und CSV stang2k PHP Tipps 2009 8 18.04.2009 09:36
[Erledigt] Datum Überschneidung prüfen hoctar PHP Tipps 2009 5 07.04.2009 13:19
Bei Abfrage nur neuestes Datum auswählen alexh PHP Tipps 2008 16 22.09.2008 17:43
Jahrestag ermitteln cyberholic PHP Tipps 2006 4 17.12.2006 12:50
näherstes datum zum aktuellen datum herausfinden flflfl Datenbanken 7 01.05.2006 16:57
Daten aus MYSQL nach Datum filtern Datenbanken 3 19.09.2005 16:09
[Erledigt] datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
datum auslesen eintragen PHP Tipps 2005 23 13.04.2005 20:39
Datum prüfen ?? nsane PHP Tipps 2004-2 1 12.12.2004 13:17
Datum prüfen! Boennchen HTML, Usability und Barrierefreiheit 2 12.10.2004 08:10
prüfen ob datum vor heute php1 PHP Tipps 2004 10 14.08.2004 18:48

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datum prüfen, datum prüfen php, php auf datum prüfen, php string auf datum prüfen, php prüfe datum, php datumsformat prüfen, php datum überprüfen, php formular datum überprüfen, php feld auf datum prüfen, datumsformat monat jahr prüfen php, javascript datum auf überschneidung prüfen, php englisch datum prüfen, datum php prüfen, datum mit vor 0 php, formular auf datum prüfen, php datum validieren $_get, nach datumsformat abfragen php, string auf datum prüfen php, php überprüfen datum, php datumseingabe prüfen im formular

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:09 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