php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 07-04-2013, 14:37
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Miranda Beitrag anzeigen
Wenn ich das oben im Zitat richtig verstanden habe, dann müsste ich also einfach nur statt der {2,4} bei der Domainendung die 4 z.B. mit 10 austauschen. Richtig?
Ja, das ginge, doch möglicherweise könntest Du dann auch statt ([a-z]{2,4})$ gleich ([a-z]+)$ verwenden.

Geändert von Melewo (07-04-2013 um 14:41 Uhr)
Mit Zitat antworten
  #17 (permalink)  
Alt 07-04-2013, 14:46
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

okay. Ich habe es verstanden *freu*

Vielen, vielen Dank
Mit Zitat antworten
  #18 (permalink)  
Alt 13-04-2013, 19:25
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

neue Frage zum Datum:


PHP-Code:
$neudatum '2013-04-12';
    
if (
preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/'$neudatum))
{
   echo 
'Das Datumsformat wurde richtig eingegeben. '.$neues_datum;

else 
{
   echo 
'Das Datumsformat ist ungültig. '.$neudatum;

Soweit so gut.

Was aber, wenn ein ungültiges Datum eingegeben wird? Z.B. 2013-13-41
Noch wird dies ja auch als richtige Eingabe gewertet.

Wie kann man das abfangen? Ich bekomme es nur mit einer Endlosprogrammierungsabfrage (schönes Wort ) hin. Aber ich denke, das es einen ganz einfachen Weg gibt.

Stimmts?

Könnt ihr mir hier auch weiterhelfen?
Mit Zitat antworten
  #19 (permalink)  
Alt 13-04-2013, 20:04
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Miranda Beitrag anzeigen
Endlosprogrammierungsabfrage (schönes Wort )
Vielleicht nicht endlos, doch was hälst Du von etwas verschachteln?
PHP-Code:
<?php

$neudatum 
'2013-12-31';
    
if (
preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/'$neudatum$aktuell)) {

    if (
$aktuell[2] <= 12) {
    
        echo 
"Ich bin gleich oder kleiner als 12 Monate.<br>\n";
    
        if (
$aktuell[3] <= 31) {
        
            echo 
"Ich bin gleich oder kleiner als 31 Tage.<br>\n".
            
"Das Datumsformat wurde richtig eingegeben. ".$neudatum."<br>\n";        
        }
        else {echo 
"Anzahl der Tage stimmt nicht.<br>\n";
        }    
    }
    else {echo 
"Anzahl der Monate stimmt nicht.<br>\n";
    }

else {echo 
"Das Datumsformat ist ungültig. ".$neudatum."<br>\n";


?>
Gibt möglicherweise noch bessere Lösungen, doch wenn Du das noch von einer Funktion einrahmen würdest, sehe es auch schon brauchbar aus.
Mit Zitat antworten
  #20 (permalink)  
Alt 13-04-2013, 20:38
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

So ähnlich würde meine Lösung auch aussehen.
Das Problem hierbei sind die Tage. Nicht jeder Monat hat 31 Tage und am "schlimmsten" durch die Schaltjahre, der Februar.
*lach* deshalb Endlosprogrammierung

Ich dachte daher, dass es eventuell eine Lösung gibt, in der die Eingabe z.B. mit dem Serverkalender abgeglichen werden kann, oder so ähnlich.
Mit Zitat antworten
  #21 (permalink)  
Alt 13-04-2013, 20:42
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Ja, das sollte mit cal_days_in_month kein Problem sein:

PHP: cal_days_in_month - Manual

Nur ich kenne nicht alle Funktionen, die es da irgendwo gibt.
Es funktioniert zumindest:

PHP-Code:
<?php

$neudatum 
'2013-02-21';
    
if (
preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/'$neudatum$aktuell)) {

    if (
$aktuell[2] <= 12) {
    
        echo 
"Ich bin gleich oder kleiner als 12 Monate.<br>\n";
        
        
$tage cal_days_in_month(CAL_GREGORIAN$aktuell[2], $aktuell[1]);
    
        if (
$aktuell[3] <= $tage) {
        
            echo 
"Ich bin gleich oder kleiner als ".$tage." Tage.<br>\n".
            
"Das Datumsformat wurde richtig eingegeben. ".$neudatum."<br>\n";        
        }
        else {echo 
"Anzahl der Tage stimmt nicht.<br>\n";
        }    
    }
    else {echo 
"Anzahl der Monate stimmt nicht.<br>\n";
    }

else {echo 
"Das Datumsformat ist ungültig. ".$neudatum."<br>\n";


?>

Geändert von Melewo (13-04-2013 um 20:56 Uhr)
Mit Zitat antworten
  #22 (permalink)  
Alt 13-04-2013, 21:51
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard



das funktioniert
Mit Zitat antworten
  #23 (permalink)  
Alt 13-04-2013, 22:14
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

Habe es noch ein bisschen angepasst, nun wird auch die 00 abgefangen

PHP-Code:
$neudatum '2012-02-01';
   
if (
preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/'$neudatum$aktuell))
{
    if (
$aktuell[2] <= 12 && $aktuell[2] >= 1)
    {
         echo 
'Ich bin gleich oder kleiner als 12 Monate und gleich oder größer 1 Monat.<br />';

         
$tage cal_days_in_month(CAL_GREGORIAN$aktuell[2], $aktuell[1]);

         if (
$aktuell[3] <= $tage && $aktuell[3] >= 1)
         {
           echo 
'Taganzahl ist existent!<br />';
         }
         else
         {
            echo 
'Taganzahl zu hoch oder 00';
         }
     }
     else
     {
          echo 
'Ich bin größer als 12 Monate oder 00';
     }
}
else
{
    echo 
'Das Datumsformat wurde falsch eingegeben!';

Mit Zitat antworten
  #24 (permalink)  
Alt 13-04-2013, 22:33
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Na prima, da bin ich auch zufrieden und habe wieder eine Funktion mehr kennengelernt.
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Sonderzeichen nach Umstellung auf UTF-8 Forsaken SQL / Datenbanken 2 20-07-2010 16:27
Problem mit ereg() Daether PHP Developer Forum 31 31-07-2006 10:32
[PHP5] Probleme nach Umstellung auf PHP 5 antman PHP Developer Forum 3 17-01-2006 14:51
Problem nach Umstellung auf Postfix netnut PHP Developer Forum 0 06-01-2005 01:49
ereg zu preg_match crisdoe PHP Developer Forum 6 12-09-2002 19:18

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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:30 Uhr.