SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.04.2007, 12:12:19
holgi.p holgi.p ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 6
Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Hallo Leute,

ich finde die Funktion "Pflichtfelder in Formularen bei Fehlern farbig hervorheben" hier auf der Seite unter "PHP-Scripte/Formulare" einfach klasse. Ich würde das Script gerne um einen Datumscheck (Datum muß TT.MM.JJJJ) erweitern, so das auch bei falscher Datumseingabe das betreffende Feld farbig hervorgehoben wird. Kann mir jemand helfen, nachfolgenden Code einzubauen?

if (preg_match('/^(\d{2})\.(\d{2})\.(\d{4})$/', $datum, $m) && checkdate($m[2], $m[1], $m[3])) {
}
else {
print("Falsches Datum!");
}
Mit Zitat antworten
  #2  
Alt 02.05.2007, 20:32:33
CIX88 CIX88 ist offline
Anfänger
 
Registriert seit: Jan 2007
Alter: 55
Beiträge: 131
AW: Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Wird üblicherweise über CSS gelöst.

Einfaches Beispiel:

if ( ... ) {
$css = 'style="border:0"';
} else {
$css = 'style="border:1px solid #f00"';
}

Und dann (falls es kein Template ist):

<input .... <?=$css;?> >
Mit Zitat antworten
  #3  
Alt 03.05.2007, 18:15:04
holgi.p holgi.p ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 6
AW: Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Vielen Dank für Deine Antwort.
Aber an welcher Stelle setzte ich diese Abfrage ein? Hier wird ja geprüft, ob ein Feld ausgefüllt worden ist: Ist es ausgefüllt, dann wird es nicht farblich hervorgehoben, ist es nicht ausgefüllt, wird es farbig hervorgehoben. Wo nun setzte ich die Abfrage ein, ab das z.B. Datumfeld im richtigen Format (TT.MM.JJJJ) ausgefüllt ist (wenn nicht, soll dieses Feld wieder farbig hervorgehoben werden.

$errorFields = array('firstname',
'telefone',
'lastname',
'email',
'street',
'plz',
'city',
'gender'
);

for($x=0;$x<count($errorFields);$x++)
{
$errorClass[$errorFields[$x]] = 'inputField';
}

if(isset($_POST['submit']))
{

$error = FALSE;
foreach($errorFields as $key => $value)
{

if(empty($_POST[$errorFields[$key]]))
{
$error = TRUE;
$errorClass[$value] = 'errorField';
$errorPicture[$value] = '<img src="achtung_klein.gif">&nbsp;';
}

}

}
Mit Zitat antworten
  #4  
Alt 03.05.2007, 22:56:02
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Na, dort, wo dein Formular aufgerufen wird. Ich gehe mal davon aus, das bei einem falschen Datum, das ursprünglichen Eingabeformular wieder aufgerufen wird. Dann bastele dort gleich die Abfrage ein. Beim ersten Aufruf werden dann alle Felder, die (richtig) ausgefüllt werden müssen, farbig dargestellt. Bei fehlerhafter Eingabe nur noch jene, bei denen was fehlt.
Hier 'ne Testseite, wie das geht:
http://www.schmuckwerk-individuell.de/mail.php
Mit Zitat antworten
  #5  
Alt 09.05.2007, 13:16:23
holgi.p holgi.p ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 6
Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Hallo zusammen,

Nochmal mein Gedanke: Hier auf der Seite unter "PHP-Scripte/Formulare/Pflichtfelder in Formularen bei Fehlern farbig hervorheben/ wird beschrieben, wie ein Textefeld, das NICHT ausgefüllt wurde , nach dem absenden farbig hervorgehoben wird.

Ich möchte jetzt diesen Code um folgendes erweitern: Es sollen nicht nur Textfelder, die NICHT ausgefüllt wurden, nach dem Absenden farbig hervorgehoben werden, sonder AUCH textfelder, die nicht RICHTIG ausgefüllt wurden ( z.B. Datumfeld im richtigen Format TT.MM.JJJJ).

Hat da jemand einen Lösungsansatz oder einen Tipp?
__________________
Wer nicht fragt, bleibt dumm!
Mit Zitat antworten
  #6  
Alt 09.05.2007, 22:40:39
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Ob ein Datumsfeld richtig ausgefüllt wurde, kannst du nur mit einem Regex prüfen (sowas wie in deinem ersten Posting) - davon hab' ich allerdings kaum Ahnung. Mehr findest du hier:
http://www.regenechsen.de/phpwcms/index.php?index

Andere Möglichkeit: Du machst drei Eingabefelder für Tag, Monat, Jahr und baust die mit PHP zum richtigen Datumsformat zusammen. Dann kannst du inhaltlich prüfen, ob Tag zwischen 1 und 31, Monat zwischen 1 und 12. Und auch, ob das Datum in der Vergangenheit liegt.
Mit Zitat antworten
  #7  
Alt 10.05.2007, 13:58:14
holgi.p holgi.p ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 6
AW: Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Ist klar. Mache ich im Moment auch. Nur wird bei falschem Datumsformat nicht das entsprechende Textfeld farblich markiert, da ja noch dem Absenden im Textfeld ein Eintrag steht. Das Script prüft ja nur, ob in einem Feld ein Inhalt ist oder nicht. Ich komme einfach nicht drauf, wie ich die Datumabfrage in dieses Script integrieren soll...
__________________
Wer nicht fragt, bleibt dumm!
Mit Zitat antworten
  #8  
Alt 10.05.2007, 15:34:24
holgi.p holgi.p ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 6
AW: Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Hallo zusammen,

ich bin mal in mich gegangen und hab meinen Kopf mal etwas angestrengt. Und siehe da: Die Lösung!! Ich habe einfach eine zeite Abfrage gemacht:

Der erste Code zum Kontrollieren, ob dei felder ausgefüllt sind oder nicht:

PHP-Code:
$errorFields = array('datum');    

for(
$x=0;$x<count($errorFields);$x++)
{
    
$errorClass[$errorFields[$x]] = 'textfeld';
    
$errorClass_select[$errorFields[$x]] = 'select_80';
}

if(isset(
$HTTP_POST_VARS['submit']))
{
    
    
$error FALSE;
    foreach(
$errorFields as $key => $value)
    {
    
        if(empty(
$HTTP_POST_VARS[$errorFields[$key]]))
        {
            
$error TRUE;
            
$errorClass[$value] = 'errortextfeld';
            
$errorClass_select[$value] = 'errorselect_80';
        }
    
    } 


Nun die zweite Abfrage ob das Feld "Datum" auch richtig (TT.MM.JJJJ) ausgefüllt wurde:

PHP-Code:
if (isset($_POST['submit'])) {
    
$errorFields = array( 'datum');
    {
if(
preg_match('/^(\d{2})\.(\d{2})\.(\d{4})$/'$_POST['datum'], $m) && checkdate($m[2], $m[1], $m[3]))
{
}
else {
              
$error TRUE;
            
$errorClass['datum'] = 'errortextfeld';
            
$errorClass_select['datum'] = 'errorselect_80';
  print (
"<table width='100%' class='errorTable'><tr><td>
  <img src='achtung_gross.gif'></td><td><b>Achtung!</b><br>
Es ist zu einem Fehler gekommen. Falsches Datumsformat! (TT.MM.JJJJ)
</td></tr></table><br>"
); unset($sent);
 }
}

Und schon wird das Feld "Datum" wieder farbig dargestellt, da es falsch ausgefüllt wurde.
Das läst sich natürlich beliebig mit anderen Prüfungen ergänzen (eMailadresse usw.)

(Die Lösung liegt oft so nahe...)

Beste Grüße aus Nürnberg
__________________
Wer nicht fragt, bleibt dumm!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Pflichtfelder in Formularen mit Übergabe der Variablen an neue Seite Hedde PHP Grundlagen 7 27.12.2006 21:19:27
Pflichtfelder in Formularen bei Fehlern farbig hervorheben acili PHP für Fortgeschrittene und Experten 5 15.11.2006 18:28:25
Pflichtfelder in Formularen bei Fehlern farbig hervorheben acili PHP Grundlagen 0 14.11.2006 15:45:27
Ersten Buchstarben Farbig Hervorheben CrAnE PHP Grundlagen 7 03.04.2004 22:44:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:44:16 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.


© 2001-2020 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt