Login Retreive lost passwordRegister
Search

Forum Index / NL Forum / Veld wissen indien foutief

[ This topic is solved ]

  Mulle 08 February 05 / 18:03  
Hey,

Ik ben een registratie pagina aan het maken.
Als er nu een veld verkeerd is, zou ik willen dat dit veld gewist wordt.
Hoe moet ik dat doen?


Het is een prachtig systeem de FormHandler.

  Teye Heimans (Founder) 08 February 05 / 19:37  
Changed at 08 February 05 / 19:37
 Quote: Mulle
 
Hey,

Ik ben een registratie pagina aan het maken.
Als er nu een veld verkeerd is, zou ik willen dat dit veld gewist wordt.
Hoe moet ik dat doen?


Het is een prachtig systeem de FormHandler.



Hey Mulle,

Je kunt dat op de volgende manier doen:


<?php 

// include the class 
include("FH3/class.FormHandler.php"); 

// create new formhandler object 
$form =& new FormHandler(); 

// some textfields 
$form->textField("Name""name"FH_STRING2050); 
$form->textField("Age""age"FH_INTEGER25); 

// check if the form is posted...
if( $form->isPosted() ) { 
    
// catch the errors but let formhandler still display them
    
$errors $form->catchErrorstrue );

    
// walk each field (with an invalid value) and clear the data
    
foreach( $errors as $field => $err) {
        
$form->setValue($field""true); 
    }


// button to submit the form 
$form->submitButton(); 

// set the handler 
$form->onCorrect("doRun"); 

// display the form 
$form->flush(); 

// the data handler 
function doRun$data ) { 
    echo 
"Hello "$data["name"]; 


?>


  Mulle 08 February 05 / 20:06  
Hey,

Bedankt voor de reply, maar het werkt niet.

Ik gebruikte het volgende:
[PHP]
<?php
$Form 
= new FormHandler("registratieformulier"); 
$Form->setLanguage('nl'); 
$Form->textField("Gebruikersnaam *""user""controle_user"); 
$Form->textField("E-mail adres *""email"FH_EMAIL);
$Form->PassField("Paswoord *""password"FH_PASSWORD);
$Form->PassField("Bevestig paswoord *""re_password");
$Form->AddHTML(
  
"  <tr>".
  
"   <td>Beveiligingscode</td>\n".
  
"   <td></td>\n".
  
"   <td><img src=\"sec_code.php?code=".$Sec_Code."\" border=\"0\"></td>\n".
  
"  </tr>\n"
);
$Form->TextField("Beveiligingscode *","sec_code_con","controle_code");
//DIT WIL HIER NIET WERKEN
$Form->setValue("sec_code_con"""true); 
$Form->checkPassword("password""re_password");

$Form->submitButton("Registreer");
$Form->onCorrect("Registreer");

//.....
?>

[/PHP]

  Teye Heimans (Founder) 08 February 05 / 23:20  
Changed at 08 February 05 / 23:25
Ow, sorry, Ik was vergeten te vertellen dat er een kleine bug in setValue zat. Wanneer je het argument "overwriteCurrentValue" op true zette, dan werd de geposte waarde niet overschreven. Download de huidige versie van RC1 (hij is geupdate), vervang het betand class.FormHandler.php met de nieuwe en het zou moeten werken. Zo niet, zou je het dan ff willen posten?

Succes!

--Teye

  Mulle 09 February 05 / 20:38  
Hey, bedankt.
Het werkt perfect.

Enkel moest ik ook de files in de map database vervangen.

  Mulle 10 February 05 / 16:27  
Changed at 10 February 05 / 17:18
Sorry voor deze post.

Ik had hier iets geplaatst, maar heb het verwijderd.

  Teye Heimans (Founder) 10 February 05 / 18:34  
 Quote: Mulle
 
Sorry voor deze post.

Ik had hier iets geplaatst, maar heb het verwijderd.


NP :D

  Mulle 10 February 05 / 23:13  
Ik heb toch nog een vraagje.

Ik heb een formulier waar ik gewoon de 2 wachtwoorden met elkaar wil vergelijken. Dus zonder andere velden. Als ik dit doe zonder "$Form->TextField("Test", "test", "notempty");" die regel, wil hij dat niet controleren. Als ik wel zo een regel toe voeg wil dit wel werken.

Hoe kan ik dat oplossen?
[PHP]
<?php
        $Form 
= new FormHandler("nieuwwachtwoordformulier"); 
        
$Form->setLanguage('nl'); 
        
$Form->TextField("Test""test""notempty"); //zonder dit werkt het niet
        
$Form->PassField("Paswoord *""password"FH_PASSWORD);
        
$Form->PassField("Bevestig paswoord *""re_password");
        
$Form->checkPassword("password""re_password",false);

        
$Form->submitButton("Bevestig");
        
$Form->onCorrect("NieuwWachtwoord");
?>

[/PHP]

Alvast bedankt

Greetz Mulle

  Teye Heimans (Founder) 15 February 05 / 21:20  
Sorry voor de late reply. Er zat een bug in checkpassword. Deze is verwijderd.

  Mulle 15 February 05 / 22:15  
 Quote: Teye Heimans
 
Sorry voor de late reply. Er zat een bug in checkpassword. Deze is verwijderd.


Dank u,

Sorry dat ik je soms stoor met mijn vragen, maar kan het zijn dat er soms nog foutjes in je formhandler zitten?

Ik denk dat er nog een probleem is met "setValue". Als ik nu verschillende checkbox'en wil selecteren kan dat volgens je handleiding met "1, 2, 4". Maar bij mij wil hij dat niet doen.
Of doe ik iets mis?

  Teye Heimans (Founder) 15 February 05 / 22:20  
 Quote: Mulle
 
[...]

Dank u,

Sorry dat ik je soms stoor met mijn vragen, maar kan het zijn dat er soms nog foutjes in je formhandler zitten?

Ik denk dat er nog een probleem is met "setValue". Als ik nu verschillende checkbox'en wil selecteren kan dat volgens je handleiding met "1, 2, 4". Maar bij mij wil hij dat niet doen.
Of doe ik iets mis?


Tuurlijk kan het zijn dat er nog fouten inzitten. Hij is niet voor niks RC1 :-D
Zou je eerst de huidige versie eens willen proberen? Er zat namelijk een fout in setvalue.
Als dat niet wil, wil je dan je script eens posten?

Groeten,

--Teye

  Mulle 15 February 05 / 22:27  
Ik heb net de nieuwe erop geplaatst. Was het voldoende om enkel de class.formhandler.php te vervangen?

Ik heb gewoon eens getest met "$Form->setValue("niveau", "1, 2"); ". Maar wil niet werken.

[PHP]
<?php
    $NiveauForm 
= array();
    
$Niveau = array();

    
$Niveau = array();
    
$result mysql_query_count("SELECT id,naam FROM site_niveau ORDER BY niveau") or die (mysql_error());
    while(
$row mysql_fetch_array($result)){
        
$Niveau[$row['id']] = $row['naam'];
    }

    
$result mysql_query_count("SELECT naam FROM leden WHERE id='".$Id."'") or die (mysql_error());
    
$row mysql_fetch_array($result);

    
$Form = new FormHandler("userniveaubewerken"); 
    
$Form->setLanguage('nl'); 
    
$Form->setValue("user"$row['naam'], true); 
    
$Form->textField("Gebruikersnaam *""user");
    
$Form->setValue("niveau""1, 2"); 
    
$Form->CheckBox("Niveau's *""niveau"$Niveau); 
    
$Form->submitButton("Bewerken");
    
$Form->onCorrect("UserNiveauBewerken");

    
$Tpl = new TemplatePower(LAYOUT_DIR.LAYOUT.'admin/userniveau.tpl');
    
$Tpl->prepare();
    
$Tpl->assign('USERNIVEAU',$Form->flush(true));

    
$Output $Tpl->getOutputContent();
?>

[/PHP]

Alvast bedankt

  Teye Heimans (Founder) 15 February 05 / 22:33  
Changed at 15 February 05 / 22:33
Ik heb het onderstaande script getest en dit werkt (althans bij mij):


<?php 

include('FH3/class.FormHandler.php');
$NiveauForm = array(); 
$Niveau = array(); 

$Niveau = array(
  
=> 'Admin',
  
=> 'User'
); 

$Form = new FormHandler("userniveaubewerken");  
$Form->setLanguage('nl');  
$Form->setValue("user"'Teye'true);  
$Form->textField("Gebruikersnaam *""user"); 
$Form->setValue("niveau""1, 2");  
$Form->CheckBox("Niveau's *""niveau"$Niveau);  
$Form->submitButton("Bewerken"); 
//$Form->onCorrect("UserNiveauBewerken"); 

$Form->flush();

?>


  Mulle 15 February 05 / 22:47  
Ik heb eens alle bestanden herupgeload en nu werkt het.

Bedankt.

  Teye Heimans (Founder) 15 February 05 / 22:49  
 Quote: Mulle
 
Ik heb eens alle bestanden herupgeload en nu werkt het.

Bedankt.


Oke dan!

  Top


powered by PHP-GLOBE   © 2004 - 2012 FormHandler. All rights reserved.   -   Open source license