php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-03-2008, 17:02
florian1x
 Registrierter Benutzer
Links : Onlinestatus : florian1x ist offline
Registriert seit: May 2006
Beiträge: 185
florian1x ist zur Zeit noch ein unbeschriebenes Blatt
Standard Wie überprüfe ich am besten ob das dateformat stimmmt.

Also ich habe ein eingabe Feld

PHP-Code:
echo " <tr>\n";
echo 
"    <td><label>Geb.-Datum: <br />(TT.MM.YYYY)</label><td>\n";
echo 
"    <td><input type=\"text\" name=\"ICQ\" value=\"\" title=\"ICQ-Nummer\" /><td>\n";
echo 
" </tr>\n"
und nun is meine Frage wie ich überprüfen kann ob er es genauso eingegeben hat?
Mit Zitat antworten
  #2 (permalink)  
Alt 12-03-2008, 17:18
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
und nun is meine Frage wie ich überprüfen kann ob er es genauso eingegeben hat?
Mittels RegExp zum Beispiel...
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 12-03-2008, 19:23
florian1x
 Registrierter Benutzer
Links : Onlinestatus : florian1x ist offline
Registriert seit: May 2006
Beiträge: 185
florian1x ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja aber wie ich verstehe reguläre ausdrücke irgendwie net richtig.
Jednefalls denke ich das du dass meinst.
Kennst du ein gutes tutorial (bitte auf deutsch) wo die gut erklärt werden.
ich hab mir ja ma das angeschaut, da wird das auch ganz gut erklärt aber ich schecks trotzdem net.

http://tut.php-quake.net/regex.html
Mit Zitat antworten
  #4 (permalink)  
Alt 13-03-2008, 11:23
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann schreib die Anforderung an den RegExp mal in Worten auf
Code:
Zwei Zahlen gefolgt von einem Punkt, dann nochmals zwei Zahlen gefolgt von einem Punkt und vier Zahlen
Dabei gilt noch zu beachten, dass die erste Zahl des Tages nur aus dem Bereicht 0-3 kommen darf. Beim Monat muss die erste Zahl 0-1 sein. Beim Jahr sollte die erste Zahl 1 oder 2 sein. Wenn das Datum den RegExp überlebt, dann prüfst du das Datum noch auf Gültigkeit d.h. darauf dass dir keiner einen 31.02. reinschieben kann
PHP-Code:
$reg ='/([0-3]{1}[0-9]{1})\\.([0-1]{1}[0-9]{1})\\.([1-2]{1}[0-9]{3})/';
preg_match($reg,$datum,$treffer);
if(
$treffer && !empty($treffer) && checkdate(intval($treffer[2]),intval($treffer[1]),$treffer[3])){
  echo 
'Datum okay';
}else{
  echo 
'Datum nicht okay';

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #5 (permalink)  
Alt 13-03-2008, 11:42
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Mhm, split und checkdate machen das ganze ohne RegExp. Wesentlich flotter.
Mit Zitat antworten
  #6 (permalink)  
Alt 13-03-2008, 11:59
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Mhm, split und checkdate machen das ganze ohne RegExp. Wesentlich flotter.
OffTopic:

Aber RegExp sind doch so schön...

__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #7 (permalink)  
Alt 13-03-2008, 12:00
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Ja, und Performancekiller. Irgendwie glaubt jeder alles mit Regulären Ausdrücken lösen zu müssen.
Mit Zitat antworten
  #8 (permalink)  
Alt 13-03-2008, 12:09
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Stimme ich dir zu, dass man nicht "Ums-Verrecken" alles mit RegExp machen sollte. Da bin ich wohl etwas über's Ziel hinausgeschossen.
Nur hat der RegExp eben den entscheidenden Vorteil, das Datum auch aus einem beliebig langem String zu ziehen (wollte der TS zwar nicht, weil er ja ein Form Feld hat)
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #9 (permalink)  
Alt 13-03-2008, 12:16
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Dafür sagst du aber auch, dass der 01.19.1000 ein valides Datum ist, während der 01.12.3000 keines mehr sein soll. Extrem Fehleranfällig, bzw. die nötigen Folgeprüfungen sprechen für mich klar gegen einen Einsatz von RegExp.
Mit Zitat antworten
  #10 (permalink)  
Alt 13-03-2008, 12:48
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
...während der 01.12.3000 keines mehr sein soll
Der TS wollte aber auch, dass der User sein Geburtsdatum angibt. Bis jemand mit diesem Geburtsdatum vorbeikommt kannst du glatt noch 992 Jahre warten
Irgendwie habe ich das Gefühl, dass wir das nicht mehr erleben werden...
Und zu den "unmöglichen" Daten: Einfach den RegExp anpassen
PHP-Code:
$reg '/([0-2]{1}[0-9]{1}|3[0-1]{1})\\.(0[1-9]{1}|1[0-2]{1})\\.([1-2]{1}[0-9]{3})/'
Trotzdem, deine Lösung ist sicherlich die bessere Wahl

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #11 (permalink)  
Alt 13-03-2008, 12:51
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

aus welchem Grund begrenzst du die Jahreszahl zwischen 1000-2999?
Mit Zitat antworten
  #12 (permalink)  
Alt 13-03-2008, 12:56
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Weil jemand, der in 2999 Geburtstag hat schon in 992 Jahren kommt, das sollte man dann noch mit berücksichtigen
Mit Zitat antworten
  #13 (permalink)  
Alt 13-03-2008, 12:59
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
aus welchem Grund begrenzst du die Jahreszahl zwischen 1000-2999?
Eigentlich würde es reichen nur Jahre ab ca 1900 bis 2008 zu berücksichtigen. Weil viele Internetuser werden nicht vor 1900 geboren worden sein und Geburtstagdaten in Zukunft kann es nicht geben
OffTopic:

Und 3000 habe ich aussen vorgelassen, weil in diesem Jahr PHP 163 erscheint und die haben wie man hört einen Bug mit 3000
Ausserdem sichert diese Einschränkung künftige Folgeaufträge zwecks Anpassung des Codes

__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #14 (permalink)  
Alt 13-03-2008, 13:11
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

solche schwachsinnige Vorgabe seitens des Programmierers hasse ich ... das Programm soll IMHO möglichst flexibel sein, alles andere bitte dem User selbst entscheiden lassen.
Mit Zitat antworten
  #15 (permalink)  
Alt 13-03-2008, 13:15
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Das erinnert mich immer daran, dass viele Entwickler glauben, dass es keine Vornamen mit 3 Zeichen gibt. Dabei sind die mit "Max", "Kai", "Jan" und "Tim" im deutschen Sprachraum nicht selten vertreten. Im selben Atemzug ist mein Städtename dann wieder mit 16 Zeichen zu lang
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:51 Uhr.