Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Pear Quickform date

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
pebosi
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 06.11.2004, 18:38

Beitrag von pebosi » 23.06.2006, 09:22

Hi,

habe mit quickform ein formular erstellt, das erhält die werte aus der Datenbank, bei Textfelder kein Problem, aber wie kann ich bei einem date Feld Werte zuweisen?

hier das Feld

Code: Alles auswählen

$form->addElement('date', 'geburtsdatum', 'Geboren am:', array('format'=>'d.m.Y', 'language'=>'de', 'minYear'=>1920, 'maxYear'=>date("Y")));
Wie kann ich da jetzt den Wert aus der Datenbank, z.b. 10.05.1970, vorauswählen?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Anonymous

Beitrag von Anonymous » 23.06.2006, 12:58

hier mal ein beispiel wie ich es verwendet habe:

Code: Alles auswählen

$datum="10-05-70"; # tag-monat-jahr
$xy= explode("-", $datum);
$datumd=array_shift($xy);
$datumm=array_shift($xy);
$datumy=array_shift($xy);
$formdefaults=array(
	'geburtsdatum'	=>	array('d'=>$datumd,'m'=>$datumm,'Y'=>$datumy)
);

$form->setDefaults($formdefaults);

pebosi
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 06.11.2004, 18:38

Beitrag von pebosi » 23.06.2006, 13:39

ah, super danke.

allerdings klappt das irgendwie bei zwei Datumsfeldern nicht mehr, das Zweite hat immer die selben Werte wie das Erste, obwohl die Daten anders sein müssten

EDIT: jetzt gehts, mein Fehler...

Anonymous

Beitrag von Anonymous » 23.06.2006, 14:42

hier sind auch 2 brauchbare rules für quickform datumsfelder

Code: Alles auswählen

#
# angegebenes Datum existiert
#

function datumOK ($a){
return checkdate($a['m'],$a['d'],$a['Y']);
}


#
# user ist min. 18 Jahre alt
#

function is18($a){
$heute = getdate();
return (($heute['year'] > ($a['Y'] + 18))|| (($heute['year'] == ($a['Y'] + 18)) && ($heute['mon'] > $a['m']))||(($heute['year'] == ($a['Y'] + 18)) && ($heute['mon'] == $a['m']) && ($heute['mday'] > ($a['d']-1))));

}

und so bauste die dann ein:

Code: Alles auswählen

define ('FORMGEN_VALIDATE', "server");  # Formulareingaben erst auf Server prüfbar

$form->registerRule('is18','callback','is18');
$form->registerRule('datumOK','callback','datumOK');

$form->addRule('geburtsdatum', 'ungültiges Datum', 'datumOK', null, FORMGEN_VALIDATE);
$form->addRule('geburtsdatum', 'Mindestalter 18 Jahre', 'is18', null, FORMGEN_VALIDATE);

:wink:

pebosi
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 06.11.2004, 18:38

Beitrag von pebosi » 23.06.2006, 15:55

Super gut, genau sowas hat mir noch gefehlt, danke!

pebosi
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 06.11.2004, 18:38

Beitrag von pebosi » 26.06.2006, 20:27

du weißt nicht zufällig auch, wie ich nachdem abschicken in der funktion die ich per process() aufrufe eine header - Weiterleitung einbauen kann?

Anonymous

Beitrag von Anonymous » 26.06.2006, 22:14

hmm... wo genau ist da dein problem?

pebosi
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 06.11.2004, 18:38

Beitrag von pebosi » 27.06.2006, 11:07

das problem ist : "Headers already sent" , habs jetzt aber anders gemacht.

Hab nun ein Problem mit Filtern, wenn ich zum Beispiel in ein Feld mit
dem Inhalt "123,5678" abschicke, will ich das der mir auf 2 Stellen nach dem Komma runden, allerdings aktualisiert der den Inhalt des Feldes nicht...

Anonymous

Beitrag von Anonymous » 27.06.2006, 17:10

axo... klar, vor dem redirect darfst du nichts anderes ausgeben.....

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag