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, 13: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 13:41 Uhr)
Mit Zitat antworten
  #17 (permalink)  
Alt 07-04-2013, 13: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, 18: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, 19: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, 19: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, 19: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 19:56 Uhr)
Mit Zitat antworten
  #22 (permalink)  
Alt 13-04-2013, 20: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, 21: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, 21: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 15:27
Problem mit ereg() Daether PHP Developer Forum 31 31-07-2006 09:32
[PHP5] Probleme nach Umstellung auf PHP 5 antman PHP Developer Forum 3 17-01-2006 13:51
Problem nach Umstellung auf Postfix netnut PHP Developer Forum 0 06-01-2005 00:49
ereg zu preg_match crisdoe PHP Developer Forum 6 12-09-2002 18: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

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
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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