[ This topic is solved ]
tom
18 August 06 / 11:51
Changed at 18 August 06 / 12:10
Ik probeer een image te uppen via een uploadfield :
<?php
$form = new dbFormHandler ();
$form -> setLanguage ( $lang_global [ 'currentlanguage' ]);
$form -> DBInfo ( DATABASE , IMAGESTABLE );
$form -> DBConnect ( SERVER , USERNAME , PASSWORD );
$form -> setMask ( "<tr><td>%field% %error%</td></tr>\n" , true );
$cfg = array( "path" => "/var/www/virtual/itinq.be/htdocs/demo/upload" , "type" => "jpg jpeg" , "name" => "" , "exists" => "rename" , "required" => true );
$form -> uploadField ( "image" , 'pic' , $cfg , null , "size='50' class='textfield'" );
$form -> onCorrect ( "checkImages" );
$form -> flush ();
?>
De afbeelding zou verplicht moeten zijn...Helaas bij het submitten saved ie ze toch in de database zelfs indien het uploadfield leeg is... Wat doe ik hier verkeerd ? In de config array staat required nochtans op true ?
Greetz,
Tom
Teye Heimans (Founder)
18 August 06 / 12:09
Hoi Tom,
Ik weet niet welke versie je van FormHandler gebruikt, maar ik ga uit van de nieuwste.
Tevens weet ik ook niet of je situatie zich voordoet in een wijzig of toevoeg formulier, dus heb ik beide getest.
Ik heb getest met het volgende script:
<?php
$form = new dbFormHandler ();
$form -> DBInfo ( "test" , "test" );
$form -> DBConnect ( "localhost" , "root" , "" );
$form -> setMask ( "<tr><td>%field% %error%</td></tr>\n" , true );
$cfg = array(
"path" => "C:\\apache\\htdocs\\engineering\\images" ,
"type" => "jpg jpeg" ,
"name" => "" ,
"exists" => "rename" ,
"required" => true
);
$form -> uploadField ( "image" , 'image' , $cfg , null , "size='50' class='textfield'" );
$form -> submitButton ();
$form -> flush ();
?>
Als ik niks invul, en druk op submit, krijg ik netjes de melding:
Als ik vervolgens toch wat invul (een image selecteer), wordt deze netjes geupload en de naam ervan in de db opgeslagen.
Als ik het formulier als wijzig formulier inlaad, krijg ik deze melding te zien:
Quote Dit veld alleen invullen als u de bestaande waarde wilt overschrijven: (12762XDfc_w.jpg)
Als ik dan niks invul, wordt het formulier wel verzonden, maar blijft de waarde in de database onveranderd.
Ik weet niet of je ergens in je code toevallig een addValue("pic", "...") hebt staan, maar zo ja, dan zit daar waarschijnlijk de fout.
Gr,
--Teye